diff --git a/.pulumi-java-gen.version b/.pulumi-java-gen.version index 47d04a52883..a881cf79f29 100644 --- a/.pulumi-java-gen.version +++ b/.pulumi-java-gen.version @@ -1 +1 @@ -0.18.0 \ No newline at end of file +0.20.0 \ No newline at end of file diff --git a/examples/go.mod b/examples/go.mod index 1caa356691a..fcd65a2c62b 100644 --- a/examples/go.mod +++ b/examples/go.mod @@ -80,13 +80,13 @@ require ( github.com/aws/aws-sdk-go-v2/service/appfabric v1.11.7 // indirect github.com/aws/aws-sdk-go-v2/service/appflow v1.45.8 // indirect github.com/aws/aws-sdk-go-v2/service/appintegrations v1.30.7 // indirect - github.com/aws/aws-sdk-go-v2/service/applicationautoscaling v1.34.1 // indirect + github.com/aws/aws-sdk-go-v2/service/applicationautoscaling v1.34.2 // indirect github.com/aws/aws-sdk-go-v2/service/applicationinsights v1.29.5 // indirect github.com/aws/aws-sdk-go-v2/service/applicationsignals v1.7.2 // indirect github.com/aws/aws-sdk-go-v2/service/appmesh v1.29.7 // indirect github.com/aws/aws-sdk-go-v2/service/apprunner v1.32.7 // indirect github.com/aws/aws-sdk-go-v2/service/appstream v1.41.7 // indirect - github.com/aws/aws-sdk-go-v2/service/appsync v1.40.1 // indirect + github.com/aws/aws-sdk-go-v2/service/appsync v1.40.2 // indirect github.com/aws/aws-sdk-go-v2/service/athena v1.49.0 // indirect github.com/aws/aws-sdk-go-v2/service/auditmanager v1.37.7 // indirect github.com/aws/aws-sdk-go-v2/service/autoscaling v1.51.1 // indirect @@ -94,9 +94,9 @@ require ( github.com/aws/aws-sdk-go-v2/service/backup v1.39.8 // indirect github.com/aws/aws-sdk-go-v2/service/batch v1.48.2 // indirect github.com/aws/aws-sdk-go-v2/service/bcmdataexports v1.7.7 // indirect - github.com/aws/aws-sdk-go-v2/service/bedrock v1.24.0 // indirect - github.com/aws/aws-sdk-go-v2/service/bedrockagent v1.31.0 // indirect - github.com/aws/aws-sdk-go-v2/service/budgets v1.28.7 // indirect + github.com/aws/aws-sdk-go-v2/service/bedrock v1.25.1 // indirect + github.com/aws/aws-sdk-go-v2/service/bedrockagent v1.32.0 // indirect + github.com/aws/aws-sdk-go-v2/service/budgets v1.28.8 // indirect github.com/aws/aws-sdk-go-v2/service/chatbot v1.9.1 // indirect github.com/aws/aws-sdk-go-v2/service/chime v1.34.7 // indirect github.com/aws/aws-sdk-go-v2/service/chimesdkmediapipelines v1.21.2 // indirect @@ -109,7 +109,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/cloudfrontkeyvaluestore v1.8.7 // indirect github.com/aws/aws-sdk-go-v2/service/cloudhsmv2 v1.27.8 // indirect github.com/aws/aws-sdk-go-v2/service/cloudsearch v1.26.6 // indirect - github.com/aws/aws-sdk-go-v2/service/cloudtrail v1.46.2 // indirect + github.com/aws/aws-sdk-go-v2/service/cloudtrail v1.46.3 // indirect github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.43.3 // indirect github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.45.0 // indirect github.com/aws/aws-sdk-go-v2/service/codeartifact v1.33.7 // indirect @@ -123,12 +123,12 @@ require ( github.com/aws/aws-sdk-go-v2/service/codepipeline v1.37.1 // indirect github.com/aws/aws-sdk-go-v2/service/codestarconnections v1.29.7 // indirect github.com/aws/aws-sdk-go-v2/service/codestarnotifications v1.26.7 // indirect - github.com/aws/aws-sdk-go-v2/service/cognitoidentity v1.27.7 // indirect - github.com/aws/aws-sdk-go-v2/service/cognitoidentityprovider v1.47.1 // indirect + github.com/aws/aws-sdk-go-v2/service/cognitoidentity v1.27.8 // indirect + github.com/aws/aws-sdk-go-v2/service/cognitoidentityprovider v1.48.1 // indirect github.com/aws/aws-sdk-go-v2/service/comprehend v1.35.7 // indirect github.com/aws/aws-sdk-go-v2/service/computeoptimizer v1.40.1 // indirect github.com/aws/aws-sdk-go-v2/service/configservice v1.51.1 // indirect - github.com/aws/aws-sdk-go-v2/service/connect v1.119.0 // indirect + github.com/aws/aws-sdk-go-v2/service/connect v1.120.0 // indirect github.com/aws/aws-sdk-go-v2/service/connectcases v1.21.7 // indirect github.com/aws/aws-sdk-go-v2/service/controltower v1.20.1 // indirect github.com/aws/aws-sdk-go-v2/service/costandusagereportservice v1.28.7 // indirect @@ -147,15 +147,15 @@ require ( github.com/aws/aws-sdk-go-v2/service/devopsguru v1.34.7 // indirect github.com/aws/aws-sdk-go-v2/service/directconnect v1.30.1 // indirect github.com/aws/aws-sdk-go-v2/service/directoryservice v1.30.8 // indirect - github.com/aws/aws-sdk-go-v2/service/dlm v1.28.8 // indirect + github.com/aws/aws-sdk-go-v2/service/dlm v1.28.9 // indirect github.com/aws/aws-sdk-go-v2/service/docdb v1.39.6 // indirect github.com/aws/aws-sdk-go-v2/service/docdbelastic v1.14.4 // indirect github.com/aws/aws-sdk-go-v2/service/drs v1.30.7 // indirect github.com/aws/aws-sdk-go-v2/service/dynamodb v1.38.0 // indirect - github.com/aws/aws-sdk-go-v2/service/ec2 v1.195.0 // indirect + github.com/aws/aws-sdk-go-v2/service/ec2 v1.196.0 // indirect github.com/aws/aws-sdk-go-v2/service/ecr v1.36.7 // indirect github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.27.7 // indirect - github.com/aws/aws-sdk-go-v2/service/ecs v1.52.1 // indirect + github.com/aws/aws-sdk-go-v2/service/ecs v1.52.2 // indirect github.com/aws/aws-sdk-go-v2/service/efs v1.34.1 // indirect github.com/aws/aws-sdk-go-v2/service/eks v1.53.0 // indirect github.com/aws/aws-sdk-go-v2/service/elasticache v1.44.1 // indirect @@ -166,7 +166,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/elastictranscoder v1.27.7 // indirect github.com/aws/aws-sdk-go-v2/service/emr v1.47.1 // indirect github.com/aws/aws-sdk-go-v2/service/emrcontainers v1.33.8 // indirect - github.com/aws/aws-sdk-go-v2/service/emrserverless v1.26.7 // indirect + github.com/aws/aws-sdk-go-v2/service/emrserverless v1.27.0 // indirect github.com/aws/aws-sdk-go-v2/service/eventbridge v1.36.0 // indirect github.com/aws/aws-sdk-go-v2/service/evidently v1.23.7 // indirect github.com/aws/aws-sdk-go-v2/service/finspace v1.28.7 // indirect @@ -200,8 +200,8 @@ require ( github.com/aws/aws-sdk-go-v2/service/ivschat v1.16.7 // indirect github.com/aws/aws-sdk-go-v2/service/kafka v1.38.7 // indirect github.com/aws/aws-sdk-go-v2/service/kafkaconnect v1.21.7 // indirect - github.com/aws/aws-sdk-go-v2/service/kendra v1.54.7 // indirect - github.com/aws/aws-sdk-go-v2/service/keyspaces v1.16.1 // indirect + github.com/aws/aws-sdk-go-v2/service/kendra v1.55.0 // indirect + github.com/aws/aws-sdk-go-v2/service/keyspaces v1.16.2 // indirect github.com/aws/aws-sdk-go-v2/service/kinesis v1.32.7 // indirect github.com/aws/aws-sdk-go-v2/service/kinesisanalytics v1.25.8 // indirect github.com/aws/aws-sdk-go-v2/service/kinesisanalyticsv2 v1.31.8 // indirect @@ -220,7 +220,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/macie2 v1.43.7 // indirect github.com/aws/aws-sdk-go-v2/service/mediaconnect v1.35.7 // indirect github.com/aws/aws-sdk-go-v2/service/mediaconvert v1.63.1 // indirect - github.com/aws/aws-sdk-go-v2/service/medialive v1.62.7 // indirect + github.com/aws/aws-sdk-go-v2/service/medialive v1.63.0 // indirect github.com/aws/aws-sdk-go-v2/service/mediapackage v1.34.7 // indirect github.com/aws/aws-sdk-go-v2/service/mediapackagev2 v1.20.1 // indirect github.com/aws/aws-sdk-go-v2/service/mediastore v1.24.7 // indirect @@ -247,7 +247,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/pipes v1.18.5 // indirect github.com/aws/aws-sdk-go-v2/service/polly v1.45.8 // indirect github.com/aws/aws-sdk-go-v2/service/pricing v1.32.7 // indirect - github.com/aws/aws-sdk-go-v2/service/qbusiness v1.18.0 // indirect + github.com/aws/aws-sdk-go-v2/service/qbusiness v1.19.0 // indirect github.com/aws/aws-sdk-go-v2/service/qldb v1.25.7 // indirect github.com/aws/aws-sdk-go-v2/service/quicksight v1.81.0 // indirect github.com/aws/aws-sdk-go-v2/service/ram v1.29.7 // indirect @@ -271,7 +271,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/s3control v1.52.0 // indirect github.com/aws/aws-sdk-go-v2/service/s3outposts v1.28.7 // indirect github.com/aws/aws-sdk-go-v2/service/s3tables v1.0.0 // indirect - github.com/aws/aws-sdk-go-v2/service/sagemaker v1.168.1 // indirect + github.com/aws/aws-sdk-go-v2/service/sagemaker v1.169.0 // indirect github.com/aws/aws-sdk-go-v2/service/scheduler v1.12.7 // indirect github.com/aws/aws-sdk-go-v2/service/schemas v1.28.8 // indirect github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.34.7 // indirect @@ -283,7 +283,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/servicediscovery v1.33.7 // indirect github.com/aws/aws-sdk-go-v2/service/servicequotas v1.25.7 // indirect github.com/aws/aws-sdk-go-v2/service/ses v1.29.1 // indirect - github.com/aws/aws-sdk-go-v2/service/sesv2 v1.38.4 // indirect + github.com/aws/aws-sdk-go-v2/service/sesv2 v1.40.0 // indirect github.com/aws/aws-sdk-go-v2/service/sfn v1.34.1 // indirect github.com/aws/aws-sdk-go-v2/service/shield v1.29.7 // indirect github.com/aws/aws-sdk-go-v2/service/signer v1.26.7 // indirect @@ -302,18 +302,18 @@ require ( github.com/aws/aws-sdk-go-v2/service/swf v1.27.8 // indirect github.com/aws/aws-sdk-go-v2/service/synthetics v1.30.2 // indirect github.com/aws/aws-sdk-go-v2/service/taxsettings v1.7.1 // indirect - github.com/aws/aws-sdk-go-v2/service/timestreaminfluxdb v1.6.7 // indirect + github.com/aws/aws-sdk-go-v2/service/timestreaminfluxdb v1.7.0 // indirect github.com/aws/aws-sdk-go-v2/service/timestreamwrite v1.29.8 // indirect github.com/aws/aws-sdk-go-v2/service/transcribe v1.41.7 // indirect github.com/aws/aws-sdk-go-v2/service/transfer v1.54.0 // indirect github.com/aws/aws-sdk-go-v2/service/verifiedpermissions v1.20.3 // indirect - github.com/aws/aws-sdk-go-v2/service/vpclattice v1.13.0 // indirect + github.com/aws/aws-sdk-go-v2/service/vpclattice v1.13.1 // indirect github.com/aws/aws-sdk-go-v2/service/waf v1.25.7 // indirect github.com/aws/aws-sdk-go-v2/service/wafregional v1.25.7 // indirect github.com/aws/aws-sdk-go-v2/service/wafv2 v1.55.6 // indirect github.com/aws/aws-sdk-go-v2/service/wellarchitected v1.34.7 // indirect github.com/aws/aws-sdk-go-v2/service/worklink v1.23.2 // indirect - github.com/aws/aws-sdk-go-v2/service/workspaces v1.50.2 // indirect + github.com/aws/aws-sdk-go-v2/service/workspaces v1.50.3 // indirect github.com/aws/aws-sdk-go-v2/service/workspacesweb v1.25.1 // indirect github.com/aws/aws-sdk-go-v2/service/xray v1.30.1 // indirect github.com/aws/smithy-go v1.22.1 // indirect @@ -495,24 +495,24 @@ require ( go.uber.org/atomic v1.9.0 // indirect gocloud.dev v0.37.0 // indirect gocloud.dev/secrets/hashivault v0.37.0 // indirect - golang.org/x/crypto v0.29.0 // indirect + golang.org/x/crypto v0.31.0 // indirect golang.org/x/exp v0.0.0-20240604190554-fc45aab8b7f8 // indirect golang.org/x/mod v0.22.0 // indirect - golang.org/x/net v0.31.0 // indirect + golang.org/x/net v0.32.0 // indirect golang.org/x/oauth2 v0.23.0 // indirect - golang.org/x/sync v0.9.0 // indirect - golang.org/x/sys v0.27.0 // indirect - golang.org/x/term v0.26.0 // indirect - golang.org/x/text v0.20.0 // indirect + golang.org/x/sync v0.10.0 // indirect + golang.org/x/sys v0.28.0 // indirect + golang.org/x/term v0.27.0 // indirect + golang.org/x/text v0.21.0 // indirect golang.org/x/time v0.5.0 // indirect - golang.org/x/tools v0.27.0 // indirect + golang.org/x/tools v0.28.0 // indirect golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 // indirect google.golang.org/api v0.169.0 // indirect google.golang.org/appengine v1.6.8 // indirect google.golang.org/genproto v0.0.0-20240311173647-c811ad7063a7 // indirect google.golang.org/genproto/googleapis/api v0.0.0-20240903143218-8af14fe29dc1 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20241202173237-19429a94021a // indirect - google.golang.org/grpc v1.68.0 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20241209162323-e6fa225c2576 // indirect + google.golang.org/grpc v1.68.1 // indirect google.golang.org/protobuf v1.35.2 // indirect gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 // indirect gopkg.in/warnings.v0 v0.1.2 // indirect diff --git a/examples/go.sum b/examples/go.sum index 4698cc37334..89f124da738 100644 --- a/examples/go.sum +++ b/examples/go.sum @@ -1280,8 +1280,8 @@ github.com/aws/aws-sdk-go-v2/service/appflow v1.45.8 h1:C4Ahu+vqQMgwcKfOaxdUgn0T github.com/aws/aws-sdk-go-v2/service/appflow v1.45.8/go.mod h1:m9n55ulVW0oYNVhczguWuVkoaWky0znzYCn1Is2Q4l0= github.com/aws/aws-sdk-go-v2/service/appintegrations v1.30.7 h1:LrYSdKQMAAJs8XpSfNba7Goc0m0hOEGWoNvrOWFasEw= github.com/aws/aws-sdk-go-v2/service/appintegrations v1.30.7/go.mod h1:GiSlb1fm4OJ1foTOhXcDziKm2Xre4+bcG8AnQAhjUIM= -github.com/aws/aws-sdk-go-v2/service/applicationautoscaling v1.34.1 h1:8EwNbY+A/Q5myYggLJ7v9v9f00UuWoh9S04y5kre8UQ= -github.com/aws/aws-sdk-go-v2/service/applicationautoscaling v1.34.1/go.mod h1:2mMP2R86zLPAUz0TpJdsKW8XawHgs9Nk97fYJomO3o8= +github.com/aws/aws-sdk-go-v2/service/applicationautoscaling v1.34.2 h1:2ikMzzun3sqemZqT96Q2I9ofTWEbFbEx9B1GLBMJmzk= +github.com/aws/aws-sdk-go-v2/service/applicationautoscaling v1.34.2/go.mod h1:2mMP2R86zLPAUz0TpJdsKW8XawHgs9Nk97fYJomO3o8= github.com/aws/aws-sdk-go-v2/service/applicationinsights v1.29.5 h1:dxVAH0LY3XmilHw4O4eB+kYKTu3SqujSYQlyKA6PqkM= github.com/aws/aws-sdk-go-v2/service/applicationinsights v1.29.5/go.mod h1:A+d2JfMEfDdWWMz3OfbK0IKtWjqoLaKlHt3ifC9pd04= github.com/aws/aws-sdk-go-v2/service/applicationsignals v1.7.2 h1:QL9Ak3hh3POYTr/DgOe4pn0naYOnARZ9Gy9/uIzW+Oo= @@ -1292,8 +1292,8 @@ github.com/aws/aws-sdk-go-v2/service/apprunner v1.32.7 h1:VlcGnZMtvyxACAPxWPPyWB github.com/aws/aws-sdk-go-v2/service/apprunner v1.32.7/go.mod h1:/lor1ybmbMZb2It700RSirZR8uIXzt6/EVv9b9qX3r0= github.com/aws/aws-sdk-go-v2/service/appstream v1.41.7 h1:9KTwRIeh67p4JjOtkAiUQ6Qbzui3igoFyCFGudRR9BY= github.com/aws/aws-sdk-go-v2/service/appstream v1.41.7/go.mod h1:YC50kSYeBhmjzeJKNf4CB85KN9Gdy+RKhtt4MvMx4ro= -github.com/aws/aws-sdk-go-v2/service/appsync v1.40.1 h1:+fJ03y/PaSNBw6ZrJZFnyix+hTOagn1/+iRLQbW/Crg= -github.com/aws/aws-sdk-go-v2/service/appsync v1.40.1/go.mod h1:YN/LhOApnQGAgb4AljjHkcpl+OmaLrkD6cGPL1dkajI= +github.com/aws/aws-sdk-go-v2/service/appsync v1.40.2 h1:NGExoL+9wUDfrQqX6xZavPb93IjFrKLG2b3r+suCfVY= +github.com/aws/aws-sdk-go-v2/service/appsync v1.40.2/go.mod h1:YN/LhOApnQGAgb4AljjHkcpl+OmaLrkD6cGPL1dkajI= github.com/aws/aws-sdk-go-v2/service/athena v1.49.0 h1:D+iatX9gV6gCuNd6BnUkfwfZJw/cXlEk+LwwDdSMdtw= github.com/aws/aws-sdk-go-v2/service/athena v1.49.0/go.mod h1:27ljwDsnZvfrZKsLzWD4WFjI4OZutEFIjvVtYfj9gHc= github.com/aws/aws-sdk-go-v2/service/auditmanager v1.37.7 h1:THLQzF9JZZthlhdf8i+rDCqO8K7sk2xmsgl/by0/4B4= @@ -1308,12 +1308,12 @@ github.com/aws/aws-sdk-go-v2/service/batch v1.48.2 h1:/BSZk0ywzZD4KKRt4qm33fIcXQ github.com/aws/aws-sdk-go-v2/service/batch v1.48.2/go.mod h1:5pxmENM3nBEAr2XrSs6c89Iwl6wAJk0/pkyFd3Gmav0= github.com/aws/aws-sdk-go-v2/service/bcmdataexports v1.7.7 h1:zrQ6zDzE5ohrLEpwaXGoF0PoBiSBo0oW6uW72iyF0ic= github.com/aws/aws-sdk-go-v2/service/bcmdataexports v1.7.7/go.mod h1:J+Zv3ekV1h3RyqVlxi1hCliEuI1SwugGAnmiOfwzNco= -github.com/aws/aws-sdk-go-v2/service/bedrock v1.24.0 h1:WyGNIAmXDXp59IAVi/US8K/rV6kA5F0wWg5he/BLx0M= -github.com/aws/aws-sdk-go-v2/service/bedrock v1.24.0/go.mod h1:BKSewSMuaeUidKqXArDlT06PWK/PP3wsgLWTXKeKgQw= -github.com/aws/aws-sdk-go-v2/service/bedrockagent v1.31.0 h1:Nm9+rGcx1CWDDbEiRcuQ4kwyFS24ajcxNn8ca/aqAw0= -github.com/aws/aws-sdk-go-v2/service/bedrockagent v1.31.0/go.mod h1:d+BIleA83BNMLQbwc1gYB/Kgrogwl4lzn2RN+XPIC0s= -github.com/aws/aws-sdk-go-v2/service/budgets v1.28.7 h1:MaBE1kMoZnJ7sxK7wtR7qVe4ggfMz9681DoQZtasgII= -github.com/aws/aws-sdk-go-v2/service/budgets v1.28.7/go.mod h1:jhUXdAWAOIKQReti3jcD8zaDjyayYBAuhmijh8+rYrk= +github.com/aws/aws-sdk-go-v2/service/bedrock v1.25.1 h1:zMEJeGsIuYpjO4Osdll4EdOemC01Fx1nmXOAjJzALLs= +github.com/aws/aws-sdk-go-v2/service/bedrock v1.25.1/go.mod h1:BKSewSMuaeUidKqXArDlT06PWK/PP3wsgLWTXKeKgQw= +github.com/aws/aws-sdk-go-v2/service/bedrockagent v1.32.0 h1:hnoHWrcuFtnhPcg0Cx0HtWsXcQGZe01Y0OqssMIBy9o= +github.com/aws/aws-sdk-go-v2/service/bedrockagent v1.32.0/go.mod h1:d+BIleA83BNMLQbwc1gYB/Kgrogwl4lzn2RN+XPIC0s= +github.com/aws/aws-sdk-go-v2/service/budgets v1.28.8 h1:o6Y4kxaKJmj30MzyfP9JBj86OncxIXuQBWhTrl2pCuA= +github.com/aws/aws-sdk-go-v2/service/budgets v1.28.8/go.mod h1:jhUXdAWAOIKQReti3jcD8zaDjyayYBAuhmijh8+rYrk= github.com/aws/aws-sdk-go-v2/service/chatbot v1.9.1 h1:g+Xnw4sHm/T5xDTlNvPBeM6gAAQSzj7EwOI0vBXscSE= github.com/aws/aws-sdk-go-v2/service/chatbot v1.9.1/go.mod h1:lpKKa8zv8/MTIHRh1JB24Y+R/RXLE6BWxnFCQ/b0W2M= github.com/aws/aws-sdk-go-v2/service/chime v1.34.7 h1:iHBLzHxZF2vRCQzm9fKp7yA6X2nnUzqeVF3TY60tqhQ= @@ -1338,8 +1338,8 @@ github.com/aws/aws-sdk-go-v2/service/cloudhsmv2 v1.27.8 h1:3WVykb3vPvTQ7Ht1LgUzc github.com/aws/aws-sdk-go-v2/service/cloudhsmv2 v1.27.8/go.mod h1:l9Gu/zoAKx1ww1ZtRlSj8qP80AV742bDP337N5NkY3o= github.com/aws/aws-sdk-go-v2/service/cloudsearch v1.26.6 h1:m1CAIBZzVi05OAocQs7SzY3gLsGGNBmg+qpHA7HQteU= github.com/aws/aws-sdk-go-v2/service/cloudsearch v1.26.6/go.mod h1:4ogUNAMmF9rtIYGYnFm21WXc/8+lcAuoNYUkS534MfI= -github.com/aws/aws-sdk-go-v2/service/cloudtrail v1.46.2 h1:DrN2vg75JseLCepYjMVav43e+v7+AhArtWlm2F0OJ6Y= -github.com/aws/aws-sdk-go-v2/service/cloudtrail v1.46.2/go.mod h1:WcTfALKgqv+VCMRCLtG4155sAwcfdYhFADc/yDJgSlc= +github.com/aws/aws-sdk-go-v2/service/cloudtrail v1.46.3 h1:DfrEQMWCfk0wkuv/r0zwcGoykCuYWCLoGolbax6O3sw= +github.com/aws/aws-sdk-go-v2/service/cloudtrail v1.46.3/go.mod h1:WcTfALKgqv+VCMRCLtG4155sAwcfdYhFADc/yDJgSlc= github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.43.3 h1:nQLG9irjDGUFXVPDHzjCGEEwh0hZ6BcxTvHOod1YsP4= github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.43.3/go.mod h1:URs8sqsyaxiAZkKP6tOEmhcs9j2ynFIomqOKY/CAHJc= github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.45.0 h1:j9rGKWaYglZpf9KbJCQVM/L85Y4UdGMgK80A1OddR24= @@ -1366,18 +1366,18 @@ github.com/aws/aws-sdk-go-v2/service/codestarconnections v1.29.7 h1:5bDPXYGWnZ9n github.com/aws/aws-sdk-go-v2/service/codestarconnections v1.29.7/go.mod h1:K9YY4T95yT7BVqHvDjSo8h9yxftqPvWYDFfuCxtHF/g= github.com/aws/aws-sdk-go-v2/service/codestarnotifications v1.26.7 h1:12UdLytB/DylaodJgGl0CUBT7Zz2xRskdlrHst29JVE= github.com/aws/aws-sdk-go-v2/service/codestarnotifications v1.26.7/go.mod h1:yDbe8Oh55gPuNdJzsv3CFbHV7d5wvUoLkFhql0p+y1U= -github.com/aws/aws-sdk-go-v2/service/cognitoidentity v1.27.7 h1:Mr0Fl/TJ1ZtkTOtX3wpgzqL6ZI+WOTnxHF0X0OlZyXo= -github.com/aws/aws-sdk-go-v2/service/cognitoidentity v1.27.7/go.mod h1:eVAaMRWHgjdGuTJCjlmcwYleskahesLPrGFV4MpQYvA= -github.com/aws/aws-sdk-go-v2/service/cognitoidentityprovider v1.47.1 h1:isjmZUmhAMzCLs38LnWVIKqWRSkItqZVGpdJowlmV/Y= -github.com/aws/aws-sdk-go-v2/service/cognitoidentityprovider v1.47.1/go.mod h1:U+GnB0KkXI5SgVMzW2J1FHMGbAiObr1XaIGZSMejLlI= +github.com/aws/aws-sdk-go-v2/service/cognitoidentity v1.27.8 h1:mgVSYWMnSZ6QTeCd84IXaxvw0cgAMxq4R6Weo9vejzU= +github.com/aws/aws-sdk-go-v2/service/cognitoidentity v1.27.8/go.mod h1:eVAaMRWHgjdGuTJCjlmcwYleskahesLPrGFV4MpQYvA= +github.com/aws/aws-sdk-go-v2/service/cognitoidentityprovider v1.48.1 h1:qMJk1I55avN/vN+51rPdE0dLgkhWrlU6Cw0Wg34eQvM= +github.com/aws/aws-sdk-go-v2/service/cognitoidentityprovider v1.48.1/go.mod h1:U+GnB0KkXI5SgVMzW2J1FHMGbAiObr1XaIGZSMejLlI= github.com/aws/aws-sdk-go-v2/service/comprehend v1.35.7 h1:z6WD4P7bvSJNlmNVDsfNP/e5o0Zmbz9oM2wOgFWCHRA= github.com/aws/aws-sdk-go-v2/service/comprehend v1.35.7/go.mod h1:M+Z8mhHoSWbr3Q1V8ZaINLLj0p1WGYWjCv/kO4IgUVw= github.com/aws/aws-sdk-go-v2/service/computeoptimizer v1.40.1 h1:iH/z1Q7WYbT2MoTkEIMvR32Ip+FFRuD74EKXUqYLP+k= github.com/aws/aws-sdk-go-v2/service/computeoptimizer v1.40.1/go.mod h1:Epb43KiHofSehPHq6PEQZ07hcl/Euv4vUi7kEcC7J7I= github.com/aws/aws-sdk-go-v2/service/configservice v1.51.1 h1:zA4KArT5FZ4ypJc8X+7MJNN3iv74K8ygmFhci64M4YI= github.com/aws/aws-sdk-go-v2/service/configservice v1.51.1/go.mod h1:2fOznUkaoZ2EtJimN0zizQRxQmkndSJz/SSd2x0goKo= -github.com/aws/aws-sdk-go-v2/service/connect v1.119.0 h1:uZ2hecASZoYuuGLHa252ss5SSbFYEhcS/SSWUa/u9kE= -github.com/aws/aws-sdk-go-v2/service/connect v1.119.0/go.mod h1:tuGtOUYMxcOObTcKDHKpzTG9EvjfXjOIEC74a6meGRk= +github.com/aws/aws-sdk-go-v2/service/connect v1.120.0 h1:ny7ogs5eNh369uhRNfjCD7EK3EgtMDbgYXDLh74juqk= +github.com/aws/aws-sdk-go-v2/service/connect v1.120.0/go.mod h1:tuGtOUYMxcOObTcKDHKpzTG9EvjfXjOIEC74a6meGRk= github.com/aws/aws-sdk-go-v2/service/connectcases v1.21.7 h1:uWiDzkr4L/KMlftI2OqmELmsv0ZGxeyi3YAo266wJzs= github.com/aws/aws-sdk-go-v2/service/connectcases v1.21.7/go.mod h1:/FZ+YQmJpAdZPR4Z1tA1mIxA/SmLmUlgrn3sZOAmnfQ= github.com/aws/aws-sdk-go-v2/service/controltower v1.20.1 h1:fpqsKm/4mA+oOn2IM62syUhcVZMU3Gc7tl8HTd4Ul+k= @@ -1414,8 +1414,8 @@ github.com/aws/aws-sdk-go-v2/service/directconnect v1.30.1 h1:U2VtqwmOzP7sZYWmrn github.com/aws/aws-sdk-go-v2/service/directconnect v1.30.1/go.mod h1:IVHMPfXzPHdq2JuZmnyreo2Dhhlu84Vel/tochYKgh8= github.com/aws/aws-sdk-go-v2/service/directoryservice v1.30.8 h1:o3yUhrImWkJuI42DyTJu7REWf1+EUNlwfmLpo2yXzb0= github.com/aws/aws-sdk-go-v2/service/directoryservice v1.30.8/go.mod h1:CxYqXrb08ko/psMpQ692AcEFXCuB+sVuWA2OZPB32t0= -github.com/aws/aws-sdk-go-v2/service/dlm v1.28.8 h1:Ez/XAeVo6h1hd4dk+r0JADhEqR3fhDPOIgzkWcbKPns= -github.com/aws/aws-sdk-go-v2/service/dlm v1.28.8/go.mod h1:SBPSK/ycAG4ET3JblaBP2Xt52RjNcg827EFgqN8W7AY= +github.com/aws/aws-sdk-go-v2/service/dlm v1.28.9 h1:orqq8yNI2QHyO5o6g7b+3JVZhA4pVVEit7F8/5ZGi/Q= +github.com/aws/aws-sdk-go-v2/service/dlm v1.28.9/go.mod h1:SBPSK/ycAG4ET3JblaBP2Xt52RjNcg827EFgqN8W7AY= github.com/aws/aws-sdk-go-v2/service/docdb v1.39.6 h1:N2iwdECLOQuClhv3XdTgGSY75N7QHF5nDekPGoFpRyY= github.com/aws/aws-sdk-go-v2/service/docdb v1.39.6/go.mod h1:pa9tid/NTUDjayagl5El0KVg9IiV3hJEKVxFmvyc+J8= github.com/aws/aws-sdk-go-v2/service/docdbelastic v1.14.4 h1:pT1NLJ04YA/05ZEbYBNhminfsbKBvHDlOh8ScoMZybA= @@ -1424,14 +1424,14 @@ github.com/aws/aws-sdk-go-v2/service/drs v1.30.7 h1:0jUZJqidFnPF9LlSSsYD9yQcbIYL github.com/aws/aws-sdk-go-v2/service/drs v1.30.7/go.mod h1:myL1h4VGyN3HU1B/7WBs2MsjKYX3FugwPJ09muIM8tE= github.com/aws/aws-sdk-go-v2/service/dynamodb v1.38.0 h1:isKhHsjpQR3CypQJ4G1g8QWx7zNpiC/xKw1zjgJYVno= github.com/aws/aws-sdk-go-v2/service/dynamodb v1.38.0/go.mod h1:xDvUyIkwBwNtVZJdHEwAuhFly3mezwdEWkbJ5oNYwIw= -github.com/aws/aws-sdk-go-v2/service/ec2 v1.195.0 h1:F3pFi50sK30DZ4IkkNpHwTLGeal5c3nlKuvTgv7xec4= -github.com/aws/aws-sdk-go-v2/service/ec2 v1.195.0/go.mod h1:00zqVNJFK6UASrTnuvjJHJuaqUdkVz5tW8Ip+VhzuNg= +github.com/aws/aws-sdk-go-v2/service/ec2 v1.196.0 h1:ZBtoihAqfT+5b1FwGHOubq8k10KwaIyKZd2/CRTucAU= +github.com/aws/aws-sdk-go-v2/service/ec2 v1.196.0/go.mod h1:00zqVNJFK6UASrTnuvjJHJuaqUdkVz5tW8Ip+VhzuNg= github.com/aws/aws-sdk-go-v2/service/ecr v1.36.7 h1:R+5XKIJga2K9Dkj0/iQ6fD/MBGo02oxGGFTc512lK/Q= github.com/aws/aws-sdk-go-v2/service/ecr v1.36.7/go.mod h1:fDPQV/6ONOQOjvtKhtypIy1wcGLcKYtoK/lvZ9fyDGQ= github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.27.7 h1:eddAe+FnCCLECUKHUHLM9/iAlqDkyRjZk/84+eo0ToE= github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.27.7/go.mod h1:lik3qEJ4TBnQrEKoZnFh8E8nn5oZSebnB/pydq8oQRQ= -github.com/aws/aws-sdk-go-v2/service/ecs v1.52.1 h1:85SGI/Db9I8PT2rvDLIRGxXdSzuyC4ZKDJwfzuv7WqQ= -github.com/aws/aws-sdk-go-v2/service/ecs v1.52.1/go.mod h1:Ghi1OWUv4+VMEULWiHsKH2gNA3KAcMoLWsvU0eRXvIA= +github.com/aws/aws-sdk-go-v2/service/ecs v1.52.2 h1:LRM6z+wmXqAgCvuH36RR+Wf8SZZhvOVjt6f5r38V2II= +github.com/aws/aws-sdk-go-v2/service/ecs v1.52.2/go.mod h1:Ghi1OWUv4+VMEULWiHsKH2gNA3KAcMoLWsvU0eRXvIA= github.com/aws/aws-sdk-go-v2/service/efs v1.34.1 h1:y2BaF/VBEQM5Gi27ZOX1jSKRQLNifOfvegkqKKDPNEM= github.com/aws/aws-sdk-go-v2/service/efs v1.34.1/go.mod h1:0c/j249PCFk5d/KHJsBIoCVdnZa9Or71J/fqC/n63BA= github.com/aws/aws-sdk-go-v2/service/eks v1.53.0 h1:ACTxnLwL6YNmuYbxtp/VR3HGL9SWXU6VZkXPjWST9ZQ= @@ -1452,8 +1452,8 @@ github.com/aws/aws-sdk-go-v2/service/emr v1.47.1 h1:7vjckLqynZflJB13FUfp1oWOvmAh github.com/aws/aws-sdk-go-v2/service/emr v1.47.1/go.mod h1:Bae8t4Qt9r5jnngv9coFhXIHvFBCzlplxsqzm2pOLTs= github.com/aws/aws-sdk-go-v2/service/emrcontainers v1.33.8 h1:tr2CAqQqNsOQqlQTNFJ0HW4o4A/era9mnq/9UnnVZng= github.com/aws/aws-sdk-go-v2/service/emrcontainers v1.33.8/go.mod h1:BAo50mn0HxLW1w5N96Y3KluxU//eaQkpQv2O0LLPsw4= -github.com/aws/aws-sdk-go-v2/service/emrserverless v1.26.7 h1:9mmljOULuO7Q0foAf32HWwyhgbm+oLGeVwaGadp08lY= -github.com/aws/aws-sdk-go-v2/service/emrserverless v1.26.7/go.mod h1:HAlr1TP57Lswg9mwg+5SyoeDRMMj98chLBn9BRq/SmE= +github.com/aws/aws-sdk-go-v2/service/emrserverless v1.27.0 h1:505TF4yWD2kbKrjKW5+QtrAb7Ow2AdkWRkvhhUG8lk8= +github.com/aws/aws-sdk-go-v2/service/emrserverless v1.27.0/go.mod h1:HAlr1TP57Lswg9mwg+5SyoeDRMMj98chLBn9BRq/SmE= github.com/aws/aws-sdk-go-v2/service/eventbridge v1.36.0 h1:UBCwgevYbPDbPb8LKyCmyBJ0Lk/gCPq4v85rZLe3vr4= github.com/aws/aws-sdk-go-v2/service/eventbridge v1.36.0/go.mod h1:ve9wzd6ToYjkZrF0nesNJxy14kU77QjrH5Rixrr4NJY= github.com/aws/aws-sdk-go-v2/service/evidently v1.23.7 h1:Y4KQFc4uXRZRUS0c8zauTd0t0vAMvQrAS06DqwyvWMg= @@ -1522,10 +1522,10 @@ github.com/aws/aws-sdk-go-v2/service/kafka v1.38.7 h1:RjCwdphB+wBtT/qQw6e7c6HOZ7 github.com/aws/aws-sdk-go-v2/service/kafka v1.38.7/go.mod h1:6ezJjIOpnDf+Q/BJ2CIITrcdXSvfUS1zwjnEHHPa8oU= github.com/aws/aws-sdk-go-v2/service/kafkaconnect v1.21.7 h1:OSj7D23vSCmeHSp8IQUuSvc57cUi6FwYQ634FgbMdOY= github.com/aws/aws-sdk-go-v2/service/kafkaconnect v1.21.7/go.mod h1:oy7uAjiwfudbkCbOW5nIBNhzPEsQbnbcNO18JgdVqZU= -github.com/aws/aws-sdk-go-v2/service/kendra v1.54.7 h1:tOVT7NRS+pv4o1/X8V8Abd/Pa+rVCvwfkdxCfPqofoI= -github.com/aws/aws-sdk-go-v2/service/kendra v1.54.7/go.mod h1:/HuziZyTc3mY3YW5DqgZAnyhFoK38EMCqnASuWrpYoo= -github.com/aws/aws-sdk-go-v2/service/keyspaces v1.16.1 h1:6H6WaX339sByRffHdcX7yCG7JeFM4Z/61+uvGLleQNw= -github.com/aws/aws-sdk-go-v2/service/keyspaces v1.16.1/go.mod h1:hW+Z1zESPAefZ33sgnMvY1ADVCiPI2e8v1vTQcz/MDY= +github.com/aws/aws-sdk-go-v2/service/kendra v1.55.0 h1:9I8Wi0EDviprTdQfgI75ax4mL/A9GAef/UqBst4rL2s= +github.com/aws/aws-sdk-go-v2/service/kendra v1.55.0/go.mod h1:/HuziZyTc3mY3YW5DqgZAnyhFoK38EMCqnASuWrpYoo= +github.com/aws/aws-sdk-go-v2/service/keyspaces v1.16.2 h1:uHvt8hkpzVedMpTDiLeH99Jsok2hQLk2SrRLUaSSIKQ= +github.com/aws/aws-sdk-go-v2/service/keyspaces v1.16.2/go.mod h1:hW+Z1zESPAefZ33sgnMvY1ADVCiPI2e8v1vTQcz/MDY= github.com/aws/aws-sdk-go-v2/service/kinesis v1.32.7 h1:QTtbqxI+i2gaWjcTwJZtm8/xEl9kiQXXbOatGabNuXA= github.com/aws/aws-sdk-go-v2/service/kinesis v1.32.7/go.mod h1:5aKZaOb2yfdeAOvfam0/6HoUXg01pN172bn7MqpM35c= github.com/aws/aws-sdk-go-v2/service/kinesisanalytics v1.25.8 h1:0h1EmAZ5VTdoteDEzE9OlTr7OXZGO56eMxOGGceioBE= @@ -1562,8 +1562,8 @@ github.com/aws/aws-sdk-go-v2/service/mediaconnect v1.35.7 h1:8fTYn2M9KBwvo/MN4S5 github.com/aws/aws-sdk-go-v2/service/mediaconnect v1.35.7/go.mod h1:NyaKp3HdG4vD6gNfnIwGsl68/4vneSu1cok7yZAOB/U= github.com/aws/aws-sdk-go-v2/service/mediaconvert v1.63.1 h1:O0PufOavkptAta6HE7q128zvKV4jcZ5PbyyIRbUsWI8= github.com/aws/aws-sdk-go-v2/service/mediaconvert v1.63.1/go.mod h1:4B8R+NlIvQUF77Rpqe2r4xQceaUVXCFYfbJ2ASlocbc= -github.com/aws/aws-sdk-go-v2/service/medialive v1.62.7 h1:BdMoauoIpEII5wAfLUnyTJpaiigoqzRctfTtQpdiYwE= -github.com/aws/aws-sdk-go-v2/service/medialive v1.62.7/go.mod h1:3941uJpLJirB+Xc5CM5rsVMeQuNkp0UMrdswdqvOelQ= +github.com/aws/aws-sdk-go-v2/service/medialive v1.63.0 h1:ruaE4sWsaXFjxpafxUDrPVXhxIK0V2gMAfpPpRZ0R1M= +github.com/aws/aws-sdk-go-v2/service/medialive v1.63.0/go.mod h1:3941uJpLJirB+Xc5CM5rsVMeQuNkp0UMrdswdqvOelQ= github.com/aws/aws-sdk-go-v2/service/mediapackage v1.34.7 h1:NEDXmP4JZxYVPcU+rvIcLUPM6kEhCS2lw09weM1a0WI= github.com/aws/aws-sdk-go-v2/service/mediapackage v1.34.7/go.mod h1:E4wTOblO64Lm0JHaNwxx1klyfyQ3rKje2J0CwQ6Q4XE= github.com/aws/aws-sdk-go-v2/service/mediapackagev2 v1.20.1 h1:F+do5xWXqiQhY4sVpYwzVxrER5h6IKfedgFJVuAfpF0= @@ -1616,8 +1616,8 @@ github.com/aws/aws-sdk-go-v2/service/polly v1.45.8 h1:qP67eGQ8myAxyd9+ZA6AZc0nYF github.com/aws/aws-sdk-go-v2/service/polly v1.45.8/go.mod h1:Bn1paZpSkDKa1vVJcx5DnDZOFMxMrgR7s74igJuhMTk= github.com/aws/aws-sdk-go-v2/service/pricing v1.32.7 h1:9UDHX1ZgcXUTAGcyxmw04r/6OVG/aUpQ7dZUziR+vTM= github.com/aws/aws-sdk-go-v2/service/pricing v1.32.7/go.mod h1:68s1DYctoo30LibzEY6gLajXbQEhxpn49+zYFy+Q5Xs= -github.com/aws/aws-sdk-go-v2/service/qbusiness v1.18.0 h1:Wazwv3/svgvNu31XSsX0fdcwAzuEDKklcMv/V5PNcFE= -github.com/aws/aws-sdk-go-v2/service/qbusiness v1.18.0/go.mod h1:cmW8VmRWKpSEhqy70H3+QCFfHcTguZMZphBIdqcWsIo= +github.com/aws/aws-sdk-go-v2/service/qbusiness v1.19.0 h1:Kso/qtJxdA8weHZiidLoeQDn5xYQhjRGd0QGtR637LE= +github.com/aws/aws-sdk-go-v2/service/qbusiness v1.19.0/go.mod h1:cmW8VmRWKpSEhqy70H3+QCFfHcTguZMZphBIdqcWsIo= github.com/aws/aws-sdk-go-v2/service/qldb v1.25.7 h1:TWJzwB7S/SBBVitz/0HtdB7pqyf1iv9OUCQ6qeYob5Q= github.com/aws/aws-sdk-go-v2/service/qldb v1.25.7/go.mod h1:8AyevnOHnUsSNTlqH723oxU2hGgIdhVsUjtDS6JIi8w= github.com/aws/aws-sdk-go-v2/service/quicksight v1.81.0 h1:U/ktIgrHh0l1Azkhl8sNxNvknhz1Ql6PtEgluc9R8GU= @@ -1668,8 +1668,8 @@ github.com/aws/aws-sdk-go-v2/service/s3outposts v1.28.7 h1:yUuN4xIlI/2bUqniq5OdI github.com/aws/aws-sdk-go-v2/service/s3outposts v1.28.7/go.mod h1:yCIumXPHLHsjmrD8P9UvXFVT0R9R+Wlqut71bW5+ZY4= github.com/aws/aws-sdk-go-v2/service/s3tables v1.0.0 h1:akXaBXvSIT3ca7Ojnc1TX+2pTK6lhyodZTYTrdUD6Vc= github.com/aws/aws-sdk-go-v2/service/s3tables v1.0.0/go.mod h1:X85zeZUOEsqLnH/CShIydM9ANVMwXHL1A/pvTMSQw6U= -github.com/aws/aws-sdk-go-v2/service/sagemaker v1.168.1 h1:Sz0HMK2/8itHAb9ABnMOEHfpOAIxk2a+f6EMsw7jn54= -github.com/aws/aws-sdk-go-v2/service/sagemaker v1.168.1/go.mod h1:LoIh7abCP1rQng1kxJVJOTux55TaYN2tVN7G+zNbhus= +github.com/aws/aws-sdk-go-v2/service/sagemaker v1.169.0 h1:keGexhxWOl6TmtE3QI+ofpgFIgdMLc3lfkwgjuSXe1o= +github.com/aws/aws-sdk-go-v2/service/sagemaker v1.169.0/go.mod h1:LoIh7abCP1rQng1kxJVJOTux55TaYN2tVN7G+zNbhus= github.com/aws/aws-sdk-go-v2/service/scheduler v1.12.7 h1:lRA+BvESWVoldCxaw3SG9UssITkVref8rlVy5xCsh0A= github.com/aws/aws-sdk-go-v2/service/scheduler v1.12.7/go.mod h1:hCwaxwoPRJmODF1jv6HvbUyT9q7Ak43LesgkvNvZ0PI= github.com/aws/aws-sdk-go-v2/service/schemas v1.28.8 h1:9TVRGRx70yb6sa0QHQiASkQJvi/7yyHjSgacjqtuoGs= @@ -1692,8 +1692,8 @@ github.com/aws/aws-sdk-go-v2/service/servicequotas v1.25.7 h1:MpCqFu4StEaeuKFfcf github.com/aws/aws-sdk-go-v2/service/servicequotas v1.25.7/go.mod h1:Idae0gtkk4euj6ncytZGgDkkyZKmkFasf1mbZZ0RA6s= github.com/aws/aws-sdk-go-v2/service/ses v1.29.1 h1:2e4bmSER1FF330Xu8p0nwnV4Ctdb0VzLQPUV15xs3iY= github.com/aws/aws-sdk-go-v2/service/ses v1.29.1/go.mod h1:axmD03yvc8MIBcQkETvptcdw+wySwdc8MpYzQixku2w= -github.com/aws/aws-sdk-go-v2/service/sesv2 v1.38.4 h1:6qEG7Ee2TgPtiCRMyK0VK5ZCh5GXdsyXSpcbE+tPjpA= -github.com/aws/aws-sdk-go-v2/service/sesv2 v1.38.4/go.mod h1:dI4OVSVcgeQXlqjRN8zspZVtYxmDis1rZwpopBeu3dc= +github.com/aws/aws-sdk-go-v2/service/sesv2 v1.40.0 h1:iZSAegNa3SPiSAtEdgk/YjkvxewlWZmFmeV5jRWKors= +github.com/aws/aws-sdk-go-v2/service/sesv2 v1.40.0/go.mod h1:3HwKVNBED+1798uQndpI+aYLKjw7gutYS3rur2GQEDY= github.com/aws/aws-sdk-go-v2/service/sfn v1.34.1 h1:EsBALm4m1lGz5riWufNKWguTFOt7Nze7m0wVIzIq8wU= github.com/aws/aws-sdk-go-v2/service/sfn v1.34.1/go.mod h1:svXjjW4/t8lsSJa4+AUxYPevCzfw3m+z8sk4XcSsosU= github.com/aws/aws-sdk-go-v2/service/shield v1.29.7 h1:S4nh0xUMZyNkhm7R5r2ITaa966JUYklMGug5LQHWefk= @@ -1730,8 +1730,8 @@ github.com/aws/aws-sdk-go-v2/service/synthetics v1.30.2 h1:k/jiEnfNxjWewwhKbdqkv github.com/aws/aws-sdk-go-v2/service/synthetics v1.30.2/go.mod h1:S/mI+GqL6A6JNbKqu0M9qKop3LOE6X96OzXdJX0rO6w= github.com/aws/aws-sdk-go-v2/service/taxsettings v1.7.1 h1:eJp5OnMaO41jYGwemZSOtmWf2g/TSAYfWEQDfZ6yBP4= github.com/aws/aws-sdk-go-v2/service/taxsettings v1.7.1/go.mod h1:izz7C90kWSbYfURLt+atG6pdCvOP3AFjGEznRf0YgGw= -github.com/aws/aws-sdk-go-v2/service/timestreaminfluxdb v1.6.7 h1:JQUps7DzFbYEAHZb6O9xJCAU1GVN396Vu0Pjj9VoGPc= -github.com/aws/aws-sdk-go-v2/service/timestreaminfluxdb v1.6.7/go.mod h1:oIpMQLOrjkZVCZl0ff5cDgE/zZuFE4PwVb61+2fkELk= +github.com/aws/aws-sdk-go-v2/service/timestreaminfluxdb v1.7.0 h1:Cqjh7UV5nW8VXuvpwtlpboGn7az0PjpQuaWdQbBMgzY= +github.com/aws/aws-sdk-go-v2/service/timestreaminfluxdb v1.7.0/go.mod h1:oIpMQLOrjkZVCZl0ff5cDgE/zZuFE4PwVb61+2fkELk= github.com/aws/aws-sdk-go-v2/service/timestreamwrite v1.29.8 h1:chzp64fl/hknlRR9jlstQDB4bYaf848v7KmzUB13omA= github.com/aws/aws-sdk-go-v2/service/timestreamwrite v1.29.8/go.mod h1:6r72p62vXJL+0VTgk9rVV7i9+C0qTcx+HuL56XT9Pus= github.com/aws/aws-sdk-go-v2/service/transcribe v1.41.7 h1:KJ5CkGw76hEoR66sJRZFgiRGxtybWGuQgvnJ+Q6qTtA= @@ -1740,8 +1740,8 @@ github.com/aws/aws-sdk-go-v2/service/transfer v1.54.0 h1:IA34IDWH2ooVUIPOidlQL1w github.com/aws/aws-sdk-go-v2/service/transfer v1.54.0/go.mod h1:UV0UI3xdWUkyarrq5gViMKtXx4EWBKQsSpPxc+rdJCA= github.com/aws/aws-sdk-go-v2/service/verifiedpermissions v1.20.3 h1:3HJY3Fym+WfG/BQmrrGq5hS80th6Vlx3VM2ZyaH41Lo= github.com/aws/aws-sdk-go-v2/service/verifiedpermissions v1.20.3/go.mod h1:myoi8VQCWyHnkfxRjkM1H5lFQilgGXbU2ulwAVqxeow= -github.com/aws/aws-sdk-go-v2/service/vpclattice v1.13.0 h1:UvZSATW4nNWJFzsBmgVvosdrlLTPgtpaDfra2afaSlk= -github.com/aws/aws-sdk-go-v2/service/vpclattice v1.13.0/go.mod h1:LLTXSn+ChGS/Ejt+akSlR0QBJ2VJVibiKQfp/IovK7Q= +github.com/aws/aws-sdk-go-v2/service/vpclattice v1.13.1 h1:i2NuSEXw9cKW4zCT57AsL6v4VnX86dsxz4d9GQc4FwU= +github.com/aws/aws-sdk-go-v2/service/vpclattice v1.13.1/go.mod h1:LLTXSn+ChGS/Ejt+akSlR0QBJ2VJVibiKQfp/IovK7Q= github.com/aws/aws-sdk-go-v2/service/waf v1.25.7 h1:QatDy5lb2iXs9GPxuPSRDogX2HesmmUXu0GCDCQ7exQ= github.com/aws/aws-sdk-go-v2/service/waf v1.25.7/go.mod h1:Jx83wxDXt4tq2UEhy4ODhqgpb6NBkQRs4TSkcHfBPcg= github.com/aws/aws-sdk-go-v2/service/wafregional v1.25.7 h1:9V+YZqYy+FvDzZF16xXE7IWYlNWJKurMay7HC+ZGm0A= @@ -1752,8 +1752,8 @@ github.com/aws/aws-sdk-go-v2/service/wellarchitected v1.34.7 h1:e4VW/f+S98RAKzHZ github.com/aws/aws-sdk-go-v2/service/wellarchitected v1.34.7/go.mod h1:X1zN/DRROy1bpTCMdQqVLd4/hLaM3GbMhVURUW8F8mA= github.com/aws/aws-sdk-go-v2/service/worklink v1.23.2 h1:VN3Qydtdl3UlJRHVxQxSP1d8I5gtvT5zdaCCAfZST7Y= github.com/aws/aws-sdk-go-v2/service/worklink v1.23.2/go.mod h1:Z3RLpIq4q49syd921XdsKeD584kPu89iKTEjluh7908= -github.com/aws/aws-sdk-go-v2/service/workspaces v1.50.2 h1:VfPamxDTVfbKWP3UPDt3iJ8msHkHfIvqZNUhLjtGD9Q= -github.com/aws/aws-sdk-go-v2/service/workspaces v1.50.2/go.mod h1:OX0I9k3wOSsRCrdqAUOVEDLHupani0n+UJ80TY0fIWc= +github.com/aws/aws-sdk-go-v2/service/workspaces v1.50.3 h1:gYpO2qaIaGoQp9TFjSl0ZENQpXIUEUNGT2AaByo4DKE= +github.com/aws/aws-sdk-go-v2/service/workspaces v1.50.3/go.mod h1:OX0I9k3wOSsRCrdqAUOVEDLHupani0n+UJ80TY0fIWc= github.com/aws/aws-sdk-go-v2/service/workspacesweb v1.25.1 h1:PrMt4dBsy0rdfuMcFYlqOQNSgHmF+gCGbV0M/8MbYd8= github.com/aws/aws-sdk-go-v2/service/workspacesweb v1.25.1/go.mod h1:pwgFCLPLVoTNXQxG6LZdpXBGMr2wmVZBDci+yfuGZi8= github.com/aws/aws-sdk-go-v2/service/xray v1.30.1 h1:BqsNRmYVd9CLJtcTwlJftM5oCsmuHcKm8ajJjYscP0Q= @@ -2678,8 +2678,8 @@ golang.org/x/crypto v0.16.0/go.mod h1:gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq golang.org/x/crypto v0.17.0/go.mod h1:gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq4= golang.org/x/crypto v0.18.0/go.mod h1:R0j02AL6hcrfOiy9T4ZYp/rcWeMxM3L6QYxlOuEG1mg= golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU= -golang.org/x/crypto v0.29.0 h1:L5SG1JTTXupVV3n6sUqMTeWbjAyfPwoda2DLX8J8FrQ= -golang.org/x/crypto v0.29.0/go.mod h1:+F4F4N5hv6v38hfeYwTdx20oUvLLc+QfrE9Ax9HtgRg= +golang.org/x/crypto v0.31.0 h1:ihbySMvVjLAeSH1IbfcRTkD/iNscyz8rGzjF/E5hV6U= +golang.org/x/crypto v0.31.0/go.mod h1:kDsLvtWBEx7MV9tJOj9bnXsPbxwJQ6csT/x4KIN4Ssk= 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= @@ -2825,8 +2825,8 @@ golang.org/x/net v0.17.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE= golang.org/x/net v0.18.0/go.mod h1:/czyP5RqHAH4odGYxBJ1qz0+CE5WZ+2j1YgoEo8F2jQ= golang.org/x/net v0.19.0/go.mod h1:CfAk/cbD4CthTvqiEl8NpboMuiuOYsAr/7NOjZJtv1U= golang.org/x/net v0.20.0/go.mod h1:z8BVo6PvndSri0LbOE3hAn0apkU+1YvI6E70E9jsnvY= -golang.org/x/net v0.31.0 h1:68CPQngjLL0r2AlUKiSxtQFKvzRVbnzLwMUn5SzcLHo= -golang.org/x/net v0.31.0/go.mod h1:P4fl1q7dY2hnZFxEk4pPSkDHF+QqjitcnDjUQyMM+pM= +golang.org/x/net v0.32.0 h1:ZqPmj8Kzc+Y6e0+skZsuACbx+wzMgo5MQsJh9Qd6aYI= +golang.org/x/net v0.32.0/go.mod h1:CwU0IoeOlnQQWJ6ioyFrfRuomB8GKF6KbYXZVyeXNfs= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -2885,8 +2885,8 @@ golang.org/x/sync v0.3.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y= golang.org/x/sync v0.4.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y= golang.org/x/sync v0.5.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sync v0.6.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= -golang.org/x/sync v0.9.0 h1:fEo0HyrW1GIgZdpbhCRO0PkJajUS5H9IFUztCgEo2jQ= -golang.org/x/sync v0.9.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= +golang.org/x/sync v0.10.0 h1:3NQrjDixjgGwUOCaF8w2+VYHv0Ve/vGYSbdkTa98gmQ= +golang.org/x/sync v0.10.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -2997,8 +2997,8 @@ golang.org/x/sys v0.14.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.15.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.16.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/sys v0.27.0 h1:wBqf8DvsY9Y/2P8gAfPDEYNuS30J4lPHJxXSb/nJZ+s= -golang.org/x/sys v0.27.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA= +golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.0.0-20220722155259-a9ba230a4035/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= @@ -3019,8 +3019,8 @@ golang.org/x/term v0.14.0/go.mod h1:TySc+nGkYR6qt8km8wUhuFRTVSMIX3XPR58y2lC8vww= golang.org/x/term v0.15.0/go.mod h1:BDl952bC7+uMoWR75FIrCDx79TPU9oHkTZ9yRbYOrX0= golang.org/x/term v0.16.0/go.mod h1:yn7UURbUtPyrVJPGPq404EukNFxcm/foM+bV/bfcDsY= golang.org/x/term v0.17.0/go.mod h1:lLRBjIVuehSbZlaOtGMbcMncT+aqLLLmKrsjNrUguwk= -golang.org/x/term v0.26.0 h1:WEQa6V3Gja/BhNxg540hBip/kkaYtRg3cxg4oXSw4AU= -golang.org/x/term v0.26.0/go.mod h1:Si5m1o57C5nBNQo5z1iq+XDijt21BDBDp2bK0QI8e3E= +golang.org/x/term v0.27.0 h1:WP60Sv1nlK1T6SupCHbXzSaN0b9wUmsPoRS9b61A23Q= +golang.org/x/term v0.27.0/go.mod h1:iMsnZpn0cago0GOrHO2+Y7u7JPn5AylBrcoWkElMTSM= 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= @@ -3042,8 +3042,8 @@ golang.org/x/text v0.11.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= golang.org/x/text v0.12.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= -golang.org/x/text v0.20.0 h1:gK/Kv2otX8gz+wn7Rmb3vT96ZwuoxnQlY+HlJVj7Qug= -golang.org/x/text v0.20.0/go.mod h1:D4IsuqiFMhST5bX19pQ9ikHC2GsaKyk/oF+pn3ducp4= +golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo= +golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= @@ -3126,8 +3126,8 @@ golang.org/x/tools v0.9.3/go.mod h1:owI94Op576fPu3cIGQeHs3joujW/2Oc6MtlxbF5dfNc= golang.org/x/tools v0.10.0/go.mod h1:UJwyiVBsOA2uwvK/e5OY3GTpDUJriEd+/YlqAwLPmyM= golang.org/x/tools v0.13.0/go.mod h1:HvlwmtVNQAhOuCjW7xxvovg8wbNq7LwfXh/k7wXUl58= golang.org/x/tools v0.17.0/go.mod h1:xsh6VxdV005rRVaS6SSAf9oiAqljS7UZUacMZ8Bnsps= -golang.org/x/tools v0.27.0 h1:qEKojBykQkQ4EynWy4S8Weg69NumxKdn40Fce3uc/8o= -golang.org/x/tools v0.27.0/go.mod h1:sUi0ZgbwW9ZPAq26Ekut+weQPR5eIM6GQLQ1Yjm1H0Q= +golang.org/x/tools v0.28.0 h1:WuB6qZ4RPCQo5aP3WdKZS7i595EdWqWR8vqJTlwTVK8= +golang.org/x/tools v0.28.0/go.mod h1:dcIOrVd3mfQKTgrDVQHqCPMWy6lnhfhtX3hLXYVLfRw= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= @@ -3415,8 +3415,8 @@ google.golang.org/genproto/googleapis/rpc v0.0.0-20231012201019-e917dd12ba7a/go. google.golang.org/genproto/googleapis/rpc v0.0.0-20231016165738-49dd2c1f3d0b/go.mod h1:swOH3j0KzcDDgGUWr+SNpyTen5YrXjS3eyPzFYKc6lc= google.golang.org/genproto/googleapis/rpc v0.0.0-20231030173426-d783a09b4405/go.mod h1:67X1fPuzjcrkymZzZV1vvkFeTn2Rvc6lYF9MYFGCcwE= google.golang.org/genproto/googleapis/rpc v0.0.0-20231106174013-bbf56f31fb17/go.mod h1:oQ5rr10WTTMvP4A36n8JpR1OrO1BEiV4f78CneXZxkA= -google.golang.org/genproto/googleapis/rpc v0.0.0-20241202173237-19429a94021a h1:hgh8P4EuoxpsuKMXX/To36nOFD7vixReXgn8lPGnt+o= -google.golang.org/genproto/googleapis/rpc v0.0.0-20241202173237-19429a94021a/go.mod h1:5uTbfoYQed2U9p3KIj2/Zzm02PYhndfdmML0qC3q3FU= +google.golang.org/genproto/googleapis/rpc v0.0.0-20241209162323-e6fa225c2576 h1:8ZmaLZE4XWrtU3MyClkYqqtl6Oegr3235h7jxsDyqCY= +google.golang.org/genproto/googleapis/rpc v0.0.0-20241209162323-e6fa225c2576/go.mod h1:5uTbfoYQed2U9p3KIj2/Zzm02PYhndfdmML0qC3q3FU= google.golang.org/grpc v1.14.0/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= @@ -3467,8 +3467,8 @@ google.golang.org/grpc v1.58.2/go.mod h1:tgX3ZQDlNJGU96V6yHh1T/JeoBQ2TXdr43YbYSs google.golang.org/grpc v1.58.3/go.mod h1:tgX3ZQDlNJGU96V6yHh1T/JeoBQ2TXdr43YbYSsCJk0= google.golang.org/grpc v1.59.0/go.mod h1:aUPDwccQo6OTjy7Hct4AfBPD1GptF4fyUjIkQ9YtF98= google.golang.org/grpc v1.61.1/go.mod h1:VUbo7IFqmF1QtCAstipjG0GIoq49KvMe9+h1jFLBNJs= -google.golang.org/grpc v1.68.0 h1:aHQeeJbo8zAkAa3pRzrVjZlbz6uSfeOXlJNQM0RAbz0= -google.golang.org/grpc v1.68.0/go.mod h1:fmSPC5AsjSBCK54MyHRx48kpOti1/jRfOlwEWywNjWA= +google.golang.org/grpc v1.68.1 h1:oI5oTa11+ng8r8XMMN7jAOmWfPZWbYpCFaMUTACxkM0= +google.golang.org/grpc v1.68.1/go.mod h1:+q1XYFJjShcqn0QZHvCyeR4CXPA+llXIeUIfIe00waw= google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= diff --git a/patches/0007-Add-EKS-cluster-certificate_authorities-plural.patch b/patches/0007-Add-EKS-cluster-certificate_authorities-plural.patch index 0fe78eff74e..7a9bd3a0896 100644 --- a/patches/0007-Add-EKS-cluster-certificate_authorities-plural.patch +++ b/patches/0007-Add-EKS-cluster-certificate_authorities-plural.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add EKS cluster certificate_authorities (plural) diff --git a/internal/service/eks/cluster.go b/internal/service/eks/cluster.go -index 43bb45fcab..e628f09cef 100644 +index c0f792399f..c2b5a975a9 100644 --- a/internal/service/eks/cluster.go +++ b/internal/service/eks/cluster.go -@@ -99,9 +99,24 @@ func resourceCluster() *schema.Resource { +@@ -122,9 +122,24 @@ func resourceCluster() *schema.Resource { ForceNew: true, Default: true, }, @@ -33,7 +33,7 @@ index 43bb45fcab..e628f09cef 100644 Elem: &schema.Resource{ Schema: map[string]*schema.Schema{ "data": { -@@ -606,6 +621,13 @@ func resourceClusterRead(ctx context.Context, d *schema.ResourceData, meta inter +@@ -628,6 +643,13 @@ func resourceClusterRead(ctx context.Context, d *schema.ResourceData, meta inter } d.Set(names.AttrARN, cluster.Arn) d.Set("bootstrap_self_managed_addons", d.Get("bootstrap_self_managed_addons")) diff --git a/patches/0028-aws_eks_cluster-implement-default_addons_to_remove.patch b/patches/0028-aws_eks_cluster-implement-default_addons_to_remove.patch index 105005e4734..046a15a2aa6 100644 --- a/patches/0028-aws_eks_cluster-implement-default_addons_to_remove.patch +++ b/patches/0028-aws_eks_cluster-implement-default_addons_to_remove.patch @@ -5,10 +5,10 @@ Subject: [PATCH] aws_eks_cluster: implement default_addons_to_remove diff --git a/internal/service/eks/cluster.go b/internal/service/eks/cluster.go -index e628f09cef..57b0a05dc9 100644 +index c2b5a975a9..0440141a4b 100644 --- a/internal/service/eks/cluster.go +++ b/internal/service/eks/cluster.go -@@ -161,6 +161,13 @@ func resourceCluster() *schema.Resource { +@@ -183,6 +183,13 @@ func resourceCluster() *schema.Resource { Type: schema.TypeString, Computed: true, }, @@ -22,7 +22,7 @@ index e628f09cef..57b0a05dc9 100644 "enabled_cluster_log_types": { Type: schema.TypeSet, Optional: true, -@@ -589,7 +596,11 @@ func resourceClusterCreate(ctx context.Context, d *schema.ResourceData, meta int +@@ -611,7 +618,11 @@ func resourceClusterCreate(ctx context.Context, d *schema.ResourceData, meta int return sdkdiag.AppendErrorf(diags, "waiting for EKS Cluster (%s) create: %s", d.Id(), err) } diff --git a/patches/0078-Fix-tags_all-Computed-for-PF-resources.patch b/patches/0078-Fix-tags_all-Computed-for-PF-resources.patch new file mode 100644 index 00000000000..d935c36f2ad --- /dev/null +++ b/patches/0078-Fix-tags_all-Computed-for-PF-resources.patch @@ -0,0 +1,58 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Florian Stadler +Date: Fri, 13 Dec 2024 10:03:47 +0100 +Subject: [PATCH] Fix tags_all Computed for PF resources + + +diff --git a/internal/service/bedrock/inference_profile.go b/internal/service/bedrock/inference_profile.go +index eb2348bc68..305435e1b7 100644 +--- a/internal/service/bedrock/inference_profile.go ++++ b/internal/service/bedrock/inference_profile.go +@@ -119,7 +119,7 @@ func (r *resourceInferenceProfile) Schema(ctx context.Context, req resource.Sche + }, + }, + names.AttrTags: tftags.TagsAttribute(), +- names.AttrTagsAll: tftags.TagsAttributeComputedOnly(), ++ names.AttrTagsAll: tftags.TagsAttribute(), + }, + Blocks: map[string]schema.Block{ + "model_source": schema.ListNestedBlock{ +diff --git a/internal/service/logs/anomaly_detector.go b/internal/service/logs/anomaly_detector.go +index 788672e044..e637e203c3 100644 +--- a/internal/service/logs/anomaly_detector.go ++++ b/internal/service/logs/anomaly_detector.go +@@ -95,7 +95,7 @@ func (r *resourceAnomalyDetector) Schema(ctx context.Context, req resource.Schem + }, + }, + names.AttrTags: tftags.TagsAttribute(), +- names.AttrTagsAll: tftags.TagsAttributeComputedOnly(), ++ names.AttrTagsAll: tftags.TagsAttribute(), + }, + } + } +diff --git a/internal/service/servicecatalogappregistry/application.go b/internal/service/servicecatalogappregistry/application.go +index 2844029f5c..735bfe81bb 100644 +--- a/internal/service/servicecatalogappregistry/application.go ++++ b/internal/service/servicecatalogappregistry/application.go +@@ -70,7 +70,7 @@ func (r *resourceApplication) Schema(ctx context.Context, req resource.SchemaReq + }, + }, + names.AttrTags: tftags.TagsAttribute(), +- names.AttrTagsAll: tftags.TagsAttributeComputedOnly(), ++ names.AttrTagsAll: tftags.TagsAttribute(), + }, + } + } +diff --git a/internal/service/servicecatalogappregistry/attribute_group.go b/internal/service/servicecatalogappregistry/attribute_group.go +index e1719b8cfa..4e28fbd51a 100644 +--- a/internal/service/servicecatalogappregistry/attribute_group.go ++++ b/internal/service/servicecatalogappregistry/attribute_group.go +@@ -76,7 +76,7 @@ func (r *resourceAttributeGroup) Schema(ctx context.Context, req resource.Schema + }, + }, + names.AttrTags: tftags.TagsAttribute(), +- names.AttrTagsAll: tftags.TagsAttributeComputedOnly(), ++ names.AttrTagsAll: tftags.TagsAttribute(), + }, + } + } diff --git a/provider/cmd/pulumi-resource-aws/bridge-metadata.json b/provider/cmd/pulumi-resource-aws/bridge-metadata.json index 7e88b354f46..ab2c96491f4 100644 --- a/provider/cmd/pulumi-resource-aws/bridge-metadata.json +++ b/provider/cmd/pulumi-resource-aws/bridge-metadata.json @@ -4216,6 +4216,18 @@ "current": "aws:bedrock/guardrailVersion:GuardrailVersion", "majorVersion": 6 }, + "aws_bedrock_inference_profile": { + "current": "aws:bedrock/inferenceProfile:InferenceProfile", + "majorVersion": 6, + "fields": { + "model_source": { + "maxItemsOne": true + }, + "models": { + "maxItemsOne": false + } + } + }, "aws_bedrock_model_invocation_logging_configuration": { "current": "aws:bedrockmodel/invocationLoggingConfiguration:InvocationLoggingConfiguration", "majorVersion": 6 @@ -6769,6 +6781,15 @@ "current": "aws:cloudwatch/logAccountPolicy:LogAccountPolicy", "majorVersion": 6 }, + "aws_cloudwatch_log_anomaly_detector": { + "current": "aws:cloudwatch/logAnomalyDetector:LogAnomalyDetector", + "majorVersion": 6, + "fields": { + "log_group_arn_list": { + "maxItemsOne": false + } + } + }, "aws_cloudwatch_log_data_protection_policy": { "current": "aws:cloudwatch/logDataProtectionPolicy:LogDataProtectionPolicy", "majorVersion": 6 @@ -10835,6 +10856,10 @@ } } }, + "aws_ecr_account_setting": { + "current": "aws:ecr/accountSetting:AccountSetting", + "majorVersion": 6 + }, "aws_ecr_lifecycle_policy": { "current": "aws:ecr/lifecyclePolicy:LifecyclePolicy", "majorVersion": 6 @@ -13423,7 +13448,31 @@ "majorVersion": 6, "fields": { "configuration": { - "maxItemsOne": true + "maxItemsOne": true, + "elem": { + "fields": { + "orphan_file_deletion_configuration": { + "maxItemsOne": true, + "elem": { + "fields": { + "iceberg_configuration": { + "maxItemsOne": true + } + } + } + }, + "retention_configuration": { + "maxItemsOne": true, + "elem": { + "fields": { + "iceberg_configuration": { + "maxItemsOne": true + } + } + } + } + } + } } } }, @@ -24711,6 +24760,9 @@ "starting_position": { "maxItemsOne": true }, + "topic_name_configuration": { + "maxItemsOne": true + }, "topics_to_exclude": { "maxItemsOne": false }, @@ -24770,6 +24822,10 @@ } } }, + "aws_msk_single_scram_secret_association": { + "current": "aws:msk/singleScramSecretAssociation:SingleScramSecretAssociation", + "majorVersion": 6 + }, "aws_msk_vpc_connection": { "current": "aws:msk/vpcConnection:VpcConnection", "majorVersion": 6, @@ -25189,7 +25245,14 @@ "maxItemsOne": false }, "stateful_engine_options": { - "maxItemsOne": true + "maxItemsOne": true, + "elem": { + "fields": { + "flow_timeouts": { + "maxItemsOne": true + } + } + } }, "stateful_rule_group_reference": { "maxItemsOne": false, @@ -159622,6 +159685,14 @@ "current": "aws:servicecatalog/appregistryApplication:AppregistryApplication", "majorVersion": 6 }, + "aws_servicecatalogappregistry_attribute_group": { + "current": "aws:servicecatalog/appregistryAttributeGroup:AppregistryAttributeGroup", + "majorVersion": 6 + }, + "aws_servicecatalogappregistry_attribute_group_association": { + "current": "aws:servicecatalog/appregistryAttributeGroupAssociation:AppregistryAttributeGroupAssociation", + "majorVersion": 6 + }, "aws_servicequotas_service_quota": { "current": "aws:servicequotas/serviceQuota:ServiceQuota", "majorVersion": 6, @@ -274723,6 +274794,10 @@ "current": "aws:servicecatalog/getAppregistryApplication:getAppregistryApplication", "majorVersion": 6 }, + "aws_servicecatalogappregistry_attribute_group": { + "current": "aws:servicecatalog/getAppregistryAttributeGroup:getAppregistryAttributeGroup", + "majorVersion": 6 + }, "aws_servicequotas_service": { "current": "aws:servicequotas/getService:getService", "majorVersion": 6 @@ -276160,6 +276235,7 @@ "aws:bedrock/customModel:CustomModel": 1, "aws:bedrock/guardrail:Guardrail": 1, "aws:bedrock/guardrailVersion:GuardrailVersion": 1, + "aws:bedrock/inferenceProfile:InferenceProfile": 1, "aws:bedrock/provisionedModelThroughput:ProvisionedModelThroughput": 1, "aws:bedrockmodel/invocationLoggingConfiguration:InvocationLoggingConfiguration": 1, "aws:budgets/budget:Budget": 0, @@ -276237,6 +276313,7 @@ "aws:cloudwatch/eventTarget:EventTarget": 0, "aws:cloudwatch/internetMonitor:InternetMonitor": 0, "aws:cloudwatch/logAccountPolicy:LogAccountPolicy": 0, + "aws:cloudwatch/logAnomalyDetector:LogAnomalyDetector": 1, "aws:cloudwatch/logDataProtectionPolicy:LogDataProtectionPolicy": 0, "aws:cloudwatch/logDestination:LogDestination": 0, "aws:cloudwatch/logDestinationPolicy:LogDestinationPolicy": 0, @@ -276554,6 +276631,7 @@ "aws:ec2transitgateway/transitGateway:TransitGateway": 0, "aws:ec2transitgateway/vpcAttachment:VpcAttachment": 0, "aws:ec2transitgateway/vpcAttachmentAccepter:VpcAttachmentAccepter": 0, + "aws:ecr/accountSetting:AccountSetting": 1, "aws:ecr/lifecyclePolicy:LifecyclePolicy": 0, "aws:ecr/pullThroughCacheRule:PullThroughCacheRule": 0, "aws:ecr/registryPolicy:RegistryPolicy": 0, @@ -276914,6 +276992,7 @@ "aws:msk/replicator:Replicator": 0, "aws:msk/scramSecretAssociation:ScramSecretAssociation": 0, "aws:msk/serverlessCluster:ServerlessCluster": 0, + "aws:msk/singleScramSecretAssociation:SingleScramSecretAssociation": 1, "aws:msk/vpcConnection:VpcConnection": 0, "aws:mskconnect/connector:Connector": 0, "aws:mskconnect/customPlugin:CustomPlugin": 0, @@ -277256,6 +277335,8 @@ "aws:securitylake/subscriberNotification:SubscriberNotification": 1, "aws:serverlessrepository/cloudFormationStack:CloudFormationStack": 0, "aws:servicecatalog/appregistryApplication:AppregistryApplication": 1, + "aws:servicecatalog/appregistryAttributeGroup:AppregistryAttributeGroup": 1, + "aws:servicecatalog/appregistryAttributeGroupAssociation:AppregistryAttributeGroupAssociation": 1, "aws:servicecatalog/budgetResourceAssociation:BudgetResourceAssociation": 0, "aws:servicecatalog/constraint:Constraint": 0, "aws:servicecatalog/organizationsAccess:OrganizationsAccess": 0, @@ -277972,6 +278053,7 @@ "aws:securityhub/getStandardsControlAssociations:getStandardsControlAssociations": 1, "aws:serverlessrepository/getApplication:getApplication": 0, "aws:servicecatalog/getAppregistryApplication:getAppregistryApplication": 1, + "aws:servicecatalog/getAppregistryAttributeGroup:getAppregistryAttributeGroup": 1, "aws:servicecatalog/getConstraint:getConstraint": 0, "aws:servicecatalog/getLaunchPaths:getLaunchPaths": 0, "aws:servicecatalog/getPortfolio:getPortfolio": 0, diff --git a/provider/cmd/pulumi-resource-aws/runtime-bridge-metadata.json b/provider/cmd/pulumi-resource-aws/runtime-bridge-metadata.json index 3867549c8e3..023ee3bd242 100644 --- a/provider/cmd/pulumi-resource-aws/runtime-bridge-metadata.json +++ b/provider/cmd/pulumi-resource-aws/runtime-bridge-metadata.json @@ -1 +1 @@ -{"auto-settings":{"resources":{"aws_batch_job_definition":{"maxItemsOneOverrides":{"eks_properties.$.pod_properties.$.containers":true}},"aws_eks_cluster":{"maxItemsOneOverrides":{"certificate_authority":true}},"aws_lexv2models_slot":{"maxItemsOneOverrides":{"value_elicitation_setting.$.prompt_specification.$.message_group.$.message.$.custom_payload":false,"value_elicitation_setting.$.prompt_specification.$.message_group.$.variation.$.custom_payload":false,"value_elicitation_setting.$.wait_and_continue_specification.$.continue_response.$.message_group.$.message.$.custom_payload":false,"value_elicitation_setting.$.wait_and_continue_specification.$.continue_response.$.message_group.$.variation.$.custom_payload":false,"value_elicitation_setting.$.wait_and_continue_specification.$.still_waiting_response.$.message_group.$.message.$.custom_payload":false,"value_elicitation_setting.$.wait_and_continue_specification.$.still_waiting_response.$.message_group.$.variation.$.custom_payload":false,"value_elicitation_setting.$.wait_and_continue_specification.$.waiting_response.$.message_group.$.message.$.custom_payload":false,"value_elicitation_setting.$.wait_and_continue_specification.$.waiting_response.$.message_group.$.variation.$.custom_payload":false}},"aws_lexv2models_slot_type":{"maxItemsOneOverrides":{"composite_slot_type_setting":true,"external_source_setting":true,"external_source_setting.$.grammar_slot_type_setting":true,"external_source_setting.$.grammar_slot_type_setting.$.source":true,"slot_type_values":true}},"aws_sagemaker_app_image_config":{"maxItemsOneOverrides":{"kernel_gateway_image_config.$.kernel_spec":true}},"aws_securitylake_subscriber":{"maxItemsOneOverrides":{"source":true}},"aws_wafv2_web_acl":{"maxItemsOneOverrides":{"association_config.$.request_body.$.api_gateway":false,"association_config.$.request_body.$.app_runner_service":false,"association_config.$.request_body.$.cloudfront":false,"association_config.$.request_body.$.cognito_user_pool":false,"association_config.$.request_body.$.verified_access_instance":false}}},"datasources":{"aws_efs_file_system":{"maxItemsOneOverrides":{"lifecycle_policy":true}},"aws_quicksight_analysis":{"renames":["aws:quicksight/getAnalysis:getAnalysis"]},"aws_vpc_ipam_pool":{"renames":["aws:ec2/getVpcIamPool:getVpcIamPool"]},"aws_vpc_ipam_pool_cidrs":{"renames":["aws:ec2/getVpcIamPoolCidrs:getVpcIamPoolCidrs"]},"aws_vpc_ipam_pools":{"renames":["aws:ec2/getVpcIamPools:getVpcIamPools"]}}},"mux":{"resources":{"aws:accessanalyzer/analyzer:Analyzer":0,"aws:accessanalyzer/archiveRule:ArchiveRule":0,"aws:account/alternativeContact:AlternativeContact":0,"aws:account/primaryContact:PrimaryContact":0,"aws:account/region:Region":0,"aws:acm/certificate:Certificate":0,"aws:acm/certificateValidation:CertificateValidation":0,"aws:acmpca/certificate:Certificate":0,"aws:acmpca/certificateAuthority:CertificateAuthority":0,"aws:acmpca/certificateAuthorityCertificate:CertificateAuthorityCertificate":0,"aws:acmpca/permission:Permission":0,"aws:acmpca/policy:Policy":0,"aws:alb/listener:Listener":0,"aws:alb/listenerCertificate:ListenerCertificate":0,"aws:alb/listenerRule:ListenerRule":0,"aws:alb/loadBalancer:LoadBalancer":0,"aws:alb/targetGroup:TargetGroup":0,"aws:alb/targetGroupAttachment:TargetGroupAttachment":0,"aws:amp/alertManagerDefinition:AlertManagerDefinition":0,"aws:amp/ruleGroupNamespace:RuleGroupNamespace":0,"aws:amp/scraper:Scraper":1,"aws:amp/workspace:Workspace":0,"aws:amplify/app:App":0,"aws:amplify/backendEnvironment:BackendEnvironment":0,"aws:amplify/branch:Branch":0,"aws:amplify/domainAssociation:DomainAssociation":0,"aws:amplify/webhook:Webhook":0,"aws:apigateway/account:Account":1,"aws:apigateway/apiKey:ApiKey":0,"aws:apigateway/authorizer:Authorizer":0,"aws:apigateway/basePathMapping:BasePathMapping":0,"aws:apigateway/clientCertificate:ClientCertificate":0,"aws:apigateway/deployment:Deployment":0,"aws:apigateway/documentationPart:DocumentationPart":0,"aws:apigateway/documentationVersion:DocumentationVersion":0,"aws:apigateway/domainName:DomainName":0,"aws:apigateway/integration:Integration":0,"aws:apigateway/integrationResponse:IntegrationResponse":0,"aws:apigateway/method:Method":0,"aws:apigateway/methodResponse:MethodResponse":0,"aws:apigateway/methodSettings:MethodSettings":0,"aws:apigateway/model:Model":0,"aws:apigateway/requestValidator:RequestValidator":0,"aws:apigateway/resource:Resource":0,"aws:apigateway/response:Response":0,"aws:apigateway/restApi:RestApi":0,"aws:apigateway/restApiPolicy:RestApiPolicy":0,"aws:apigateway/stage:Stage":0,"aws:apigateway/usagePlan:UsagePlan":0,"aws:apigateway/usagePlanKey:UsagePlanKey":0,"aws:apigateway/vpcLink:VpcLink":0,"aws:apigatewayv2/api:Api":0,"aws:apigatewayv2/apiMapping:ApiMapping":0,"aws:apigatewayv2/authorizer:Authorizer":0,"aws:apigatewayv2/deployment:Deployment":0,"aws:apigatewayv2/domainName:DomainName":0,"aws:apigatewayv2/integration:Integration":0,"aws:apigatewayv2/integrationResponse:IntegrationResponse":0,"aws:apigatewayv2/model:Model":0,"aws:apigatewayv2/route:Route":0,"aws:apigatewayv2/routeResponse:RouteResponse":0,"aws:apigatewayv2/stage:Stage":0,"aws:apigatewayv2/vpcLink:VpcLink":0,"aws:appautoscaling/policy:Policy":0,"aws:appautoscaling/scheduledAction:ScheduledAction":0,"aws:appautoscaling/target:Target":0,"aws:appconfig/application:Application":0,"aws:appconfig/configurationProfile:ConfigurationProfile":0,"aws:appconfig/deployment:Deployment":0,"aws:appconfig/deploymentStrategy:DeploymentStrategy":0,"aws:appconfig/environment:Environment":1,"aws:appconfig/eventIntegration:EventIntegration":0,"aws:appconfig/extension:Extension":0,"aws:appconfig/extensionAssociation:ExtensionAssociation":0,"aws:appconfig/hostedConfigurationVersion:HostedConfigurationVersion":0,"aws:appfabric/appAuthorization:AppAuthorization":1,"aws:appfabric/appAuthorizationConnection:AppAuthorizationConnection":1,"aws:appfabric/appBundle:AppBundle":1,"aws:appfabric/ingestion:Ingestion":1,"aws:appfabric/ingestionDestination:IngestionDestination":1,"aws:appflow/connectorProfile:ConnectorProfile":0,"aws:appflow/flow:Flow":0,"aws:appintegrations/dataIntegration:DataIntegration":0,"aws:applicationinsights/application:Application":0,"aws:appmesh/gatewayRoute:GatewayRoute":0,"aws:appmesh/mesh:Mesh":0,"aws:appmesh/route:Route":0,"aws:appmesh/virtualGateway:VirtualGateway":0,"aws:appmesh/virtualNode:VirtualNode":0,"aws:appmesh/virtualRouter:VirtualRouter":0,"aws:appmesh/virtualService:VirtualService":0,"aws:apprunner/autoScalingConfigurationVersion:AutoScalingConfigurationVersion":0,"aws:apprunner/connection:Connection":0,"aws:apprunner/customDomainAssociation:CustomDomainAssociation":0,"aws:apprunner/defaultAutoScalingConfigurationVersion:DefaultAutoScalingConfigurationVersion":1,"aws:apprunner/deployment:Deployment":1,"aws:apprunner/observabilityConfiguration:ObservabilityConfiguration":0,"aws:apprunner/service:Service":0,"aws:apprunner/vpcConnector:VpcConnector":0,"aws:apprunner/vpcIngressConnection:VpcIngressConnection":0,"aws:appstream/directoryConfig:DirectoryConfig":0,"aws:appstream/fleet:Fleet":0,"aws:appstream/fleetStackAssociation:FleetStackAssociation":0,"aws:appstream/imageBuilder:ImageBuilder":0,"aws:appstream/stack:Stack":0,"aws:appstream/user:User":0,"aws:appstream/userStackAssociation:UserStackAssociation":0,"aws:appsync/apiCache:ApiCache":0,"aws:appsync/apiKey:ApiKey":0,"aws:appsync/dataSource:DataSource":0,"aws:appsync/domainName:DomainName":0,"aws:appsync/domainNameApiAssociation:DomainNameApiAssociation":0,"aws:appsync/function:Function":0,"aws:appsync/graphQLApi:GraphQLApi":0,"aws:appsync/resolver:Resolver":0,"aws:appsync/sourceApiAssociation:SourceApiAssociation":1,"aws:appsync/type:Type":0,"aws:athena/dataCatalog:DataCatalog":0,"aws:athena/database:Database":0,"aws:athena/namedQuery:NamedQuery":0,"aws:athena/preparedStatement:PreparedStatement":0,"aws:athena/workgroup:Workgroup":0,"aws:auditmanager/accountRegistration:AccountRegistration":1,"aws:auditmanager/assessment:Assessment":1,"aws:auditmanager/assessmentDelegation:AssessmentDelegation":1,"aws:auditmanager/assessmentReport:AssessmentReport":1,"aws:auditmanager/control:Control":1,"aws:auditmanager/framework:Framework":1,"aws:auditmanager/frameworkShare:FrameworkShare":1,"aws:auditmanager/organizationAdminAccountRegistration:OrganizationAdminAccountRegistration":1,"aws:autoscaling/attachment:Attachment":0,"aws:autoscaling/group:Group":0,"aws:autoscaling/lifecycleHook:LifecycleHook":0,"aws:autoscaling/notification:Notification":0,"aws:autoscaling/policy:Policy":0,"aws:autoscaling/schedule:Schedule":0,"aws:autoscaling/tag:Tag":0,"aws:autoscaling/trafficSourceAttachment:TrafficSourceAttachment":0,"aws:autoscalingplans/scalingPlan:ScalingPlan":0,"aws:backup/framework:Framework":0,"aws:backup/globalSettings:GlobalSettings":0,"aws:backup/logicallyAirGappedVault:LogicallyAirGappedVault":1,"aws:backup/plan:Plan":0,"aws:backup/regionSettings:RegionSettings":0,"aws:backup/reportPlan:ReportPlan":0,"aws:backup/restoreTestingPlan:RestoreTestingPlan":1,"aws:backup/restoreTestingSelection:RestoreTestingSelection":1,"aws:backup/selection:Selection":0,"aws:backup/vault:Vault":0,"aws:backup/vaultLockConfiguration:VaultLockConfiguration":0,"aws:backup/vaultNotifications:VaultNotifications":0,"aws:backup/vaultPolicy:VaultPolicy":0,"aws:batch/computeEnvironment:ComputeEnvironment":0,"aws:batch/jobDefinition:JobDefinition":0,"aws:batch/jobQueue:JobQueue":1,"aws:batch/schedulingPolicy:SchedulingPolicy":0,"aws:bcmdata/export:Export":1,"aws:bedrock/agentAgent:AgentAgent":1,"aws:bedrock/agentAgentActionGroup:AgentAgentActionGroup":1,"aws:bedrock/agentAgentAlias:AgentAgentAlias":1,"aws:bedrock/agentAgentKnowledgeBaseAssociation:AgentAgentKnowledgeBaseAssociation":1,"aws:bedrock/agentDataSource:AgentDataSource":1,"aws:bedrock/agentKnowledgeBase:AgentKnowledgeBase":1,"aws:bedrock/customModel:CustomModel":1,"aws:bedrock/guardrail:Guardrail":1,"aws:bedrock/guardrailVersion:GuardrailVersion":1,"aws:bedrock/provisionedModelThroughput:ProvisionedModelThroughput":1,"aws:bedrockmodel/invocationLoggingConfiguration:InvocationLoggingConfiguration":1,"aws:budgets/budget:Budget":0,"aws:budgets/budgetAction:BudgetAction":0,"aws:cfg/aggregateAuthorization:AggregateAuthorization":0,"aws:cfg/configurationAggregator:ConfigurationAggregator":0,"aws:cfg/conformancePack:ConformancePack":0,"aws:cfg/deliveryChannel:DeliveryChannel":0,"aws:cfg/organizationConformancePack:OrganizationConformancePack":0,"aws:cfg/organizationCustomPolicyRule:OrganizationCustomPolicyRule":0,"aws:cfg/organizationCustomRule:OrganizationCustomRule":0,"aws:cfg/organizationManagedRule:OrganizationManagedRule":0,"aws:cfg/recorder:Recorder":0,"aws:cfg/recorderStatus:RecorderStatus":0,"aws:cfg/remediationConfiguration:RemediationConfiguration":0,"aws:cfg/retentionConfiguration:RetentionConfiguration":1,"aws:cfg/rule:Rule":0,"aws:chatbot/slackChannelConfiguration:SlackChannelConfiguration":1,"aws:chatbot/teamsChannelConfiguration:TeamsChannelConfiguration":1,"aws:chime/sdkvoiceGlobalSettings:SdkvoiceGlobalSettings":0,"aws:chime/sdkvoiceSipMediaApplication:SdkvoiceSipMediaApplication":0,"aws:chime/sdkvoiceSipRule:SdkvoiceSipRule":0,"aws:chime/sdkvoiceVoiceProfileDomain:SdkvoiceVoiceProfileDomain":0,"aws:chime/voiceConnector:VoiceConnector":0,"aws:chime/voiceConnectorGroup:VoiceConnectorGroup":0,"aws:chime/voiceConnectorLogging:VoiceConnectorLogging":0,"aws:chime/voiceConnectorOrganization:VoiceConnectorOrganization":0,"aws:chime/voiceConnectorStreaming:VoiceConnectorStreaming":0,"aws:chime/voiceConnectorTermination:VoiceConnectorTermination":0,"aws:chime/voiceConnectorTerminationCredentials:VoiceConnectorTerminationCredentials":0,"aws:chimesdkmediapipelines/mediaInsightsPipelineConfiguration:MediaInsightsPipelineConfiguration":0,"aws:cleanrooms/collaboration:Collaboration":0,"aws:cleanrooms/configuredTable:ConfiguredTable":0,"aws:cloud9/environmentEC2:EnvironmentEC2":0,"aws:cloud9/environmentMembership:EnvironmentMembership":0,"aws:cloudcontrol/resource:Resource":0,"aws:cloudformation/cloudFormationType:CloudFormationType":0,"aws:cloudformation/stack:Stack":0,"aws:cloudformation/stackInstances:StackInstances":0,"aws:cloudformation/stackSet:StackSet":0,"aws:cloudformation/stackSetInstance:StackSetInstance":0,"aws:cloudfront/cachePolicy:CachePolicy":0,"aws:cloudfront/continuousDeploymentPolicy:ContinuousDeploymentPolicy":1,"aws:cloudfront/distribution:Distribution":0,"aws:cloudfront/fieldLevelEncryptionConfig:FieldLevelEncryptionConfig":0,"aws:cloudfront/fieldLevelEncryptionProfile:FieldLevelEncryptionProfile":0,"aws:cloudfront/function:Function":0,"aws:cloudfront/keyGroup:KeyGroup":0,"aws:cloudfront/keyValueStore:KeyValueStore":1,"aws:cloudfront/keyvaluestoreKey:KeyvaluestoreKey":1,"aws:cloudfront/monitoringSubscription:MonitoringSubscription":0,"aws:cloudfront/originAccessControl:OriginAccessControl":0,"aws:cloudfront/originAccessIdentity:OriginAccessIdentity":0,"aws:cloudfront/originRequestPolicy:OriginRequestPolicy":0,"aws:cloudfront/publicKey:PublicKey":0,"aws:cloudfront/realtimeLogConfig:RealtimeLogConfig":0,"aws:cloudfront/responseHeadersPolicy:ResponseHeadersPolicy":0,"aws:cloudhsmv2/cluster:Cluster":0,"aws:cloudhsmv2/hsm:Hsm":0,"aws:cloudsearch/domain:Domain":0,"aws:cloudsearch/domainServiceAccessPolicy:DomainServiceAccessPolicy":0,"aws:cloudtrail/eventDataStore:EventDataStore":0,"aws:cloudtrail/organizationDelegatedAdminAccount:OrganizationDelegatedAdminAccount":1,"aws:cloudtrail/trail:Trail":0,"aws:cloudwatch/compositeAlarm:CompositeAlarm":0,"aws:cloudwatch/dashboard:Dashboard":0,"aws:cloudwatch/eventApiDestination:EventApiDestination":0,"aws:cloudwatch/eventArchive:EventArchive":0,"aws:cloudwatch/eventBus:EventBus":0,"aws:cloudwatch/eventBusPolicy:EventBusPolicy":0,"aws:cloudwatch/eventConnection:EventConnection":0,"aws:cloudwatch/eventEndpoint:EventEndpoint":0,"aws:cloudwatch/eventPermission:EventPermission":0,"aws:cloudwatch/eventRule:EventRule":0,"aws:cloudwatch/eventTarget:EventTarget":0,"aws:cloudwatch/internetMonitor:InternetMonitor":0,"aws:cloudwatch/logAccountPolicy:LogAccountPolicy":0,"aws:cloudwatch/logDataProtectionPolicy:LogDataProtectionPolicy":0,"aws:cloudwatch/logDestination:LogDestination":0,"aws:cloudwatch/logDestinationPolicy:LogDestinationPolicy":0,"aws:cloudwatch/logGroup:LogGroup":0,"aws:cloudwatch/logMetricFilter:LogMetricFilter":0,"aws:cloudwatch/logResourcePolicy:LogResourcePolicy":0,"aws:cloudwatch/logStream:LogStream":0,"aws:cloudwatch/logSubscriptionFilter:LogSubscriptionFilter":0,"aws:cloudwatch/metricAlarm:MetricAlarm":0,"aws:cloudwatch/metricStream:MetricStream":0,"aws:cloudwatch/queryDefinition:QueryDefinition":0,"aws:codeartifact/domain:Domain":0,"aws:codeartifact/domainPermissions:DomainPermissions":0,"aws:codeartifact/repository:Repository":0,"aws:codeartifact/repositoryPermissionsPolicy:RepositoryPermissionsPolicy":0,"aws:codebuild/fleet:Fleet":0,"aws:codebuild/project:Project":0,"aws:codebuild/reportGroup:ReportGroup":0,"aws:codebuild/resourcePolicy:ResourcePolicy":0,"aws:codebuild/sourceCredential:SourceCredential":0,"aws:codebuild/webhook:Webhook":0,"aws:codecatalyst/devEnvironment:DevEnvironment":0,"aws:codecatalyst/project:Project":0,"aws:codecatalyst/sourceRepository:SourceRepository":0,"aws:codecommit/approvalRuleTemplate:ApprovalRuleTemplate":0,"aws:codecommit/approvalRuleTemplateAssociation:ApprovalRuleTemplateAssociation":0,"aws:codecommit/repository:Repository":0,"aws:codecommit/trigger:Trigger":0,"aws:codeconnections/connection:Connection":1,"aws:codeconnections/host:Host":1,"aws:codedeploy/application:Application":0,"aws:codedeploy/deploymentConfig:DeploymentConfig":0,"aws:codedeploy/deploymentGroup:DeploymentGroup":0,"aws:codeguruprofiler/profilingGroup:ProfilingGroup":1,"aws:codegurureviewer/repositoryAssociation:RepositoryAssociation":0,"aws:codepipeline/customActionType:CustomActionType":0,"aws:codepipeline/pipeline:Pipeline":0,"aws:codepipeline/webhook:Webhook":0,"aws:codestarconnections/connection:Connection":0,"aws:codestarconnections/host:Host":0,"aws:codestarnotifications/notificationRule:NotificationRule":0,"aws:cognito/identityPool:IdentityPool":0,"aws:cognito/identityPoolProviderPrincipalTag:IdentityPoolProviderPrincipalTag":0,"aws:cognito/identityPoolRoleAttachment:IdentityPoolRoleAttachment":0,"aws:cognito/identityProvider:IdentityProvider":0,"aws:cognito/managedUserPoolClient:ManagedUserPoolClient":1,"aws:cognito/resourceServer:ResourceServer":0,"aws:cognito/riskConfiguration:RiskConfiguration":0,"aws:cognito/user:User":0,"aws:cognito/userGroup:UserGroup":0,"aws:cognito/userInGroup:UserInGroup":0,"aws:cognito/userPool:UserPool":0,"aws:cognito/userPoolClient:UserPoolClient":1,"aws:cognito/userPoolDomain:UserPoolDomain":0,"aws:cognito/userPoolUICustomization:UserPoolUICustomization":0,"aws:comprehend/documentClassifier:DocumentClassifier":0,"aws:comprehend/entityRecognizer:EntityRecognizer":0,"aws:computeoptimizer/enrollmentStatus:EnrollmentStatus":1,"aws:computeoptimizer/recommendationPreferences:RecommendationPreferences":1,"aws:connect/botAssociation:BotAssociation":0,"aws:connect/contactFlow:ContactFlow":0,"aws:connect/contactFlowModule:ContactFlowModule":0,"aws:connect/hoursOfOperation:HoursOfOperation":0,"aws:connect/instance:Instance":0,"aws:connect/instanceStorageConfig:InstanceStorageConfig":0,"aws:connect/lambdaFunctionAssociation:LambdaFunctionAssociation":0,"aws:connect/phoneNumber:PhoneNumber":0,"aws:connect/queue:Queue":0,"aws:connect/quickConnect:QuickConnect":0,"aws:connect/routingProfile:RoutingProfile":0,"aws:connect/securityProfile:SecurityProfile":0,"aws:connect/user:User":0,"aws:connect/userHierarchyGroup:UserHierarchyGroup":0,"aws:connect/userHierarchyStructure:UserHierarchyStructure":0,"aws:connect/vocabulary:Vocabulary":0,"aws:controltower/controlTowerControl:ControlTowerControl":0,"aws:controltower/landingZone:LandingZone":0,"aws:costexplorer/anomalyMonitor:AnomalyMonitor":0,"aws:costexplorer/anomalySubscription:AnomalySubscription":0,"aws:costexplorer/costAllocationTag:CostAllocationTag":0,"aws:costexplorer/costCategory:CostCategory":0,"aws:costoptimizationhub/enrollmentStatus:EnrollmentStatus":1,"aws:costoptimizationhub/preferences:Preferences":1,"aws:cur/reportDefinition:ReportDefinition":0,"aws:customerprofiles/domain:Domain":0,"aws:customerprofiles/profile:Profile":0,"aws:dataexchange/dataSet:DataSet":0,"aws:dataexchange/revision:Revision":0,"aws:datapipeline/pipeline:Pipeline":0,"aws:datapipeline/pipelineDefinition:PipelineDefinition":0,"aws:datasync/agent:Agent":0,"aws:datasync/efsLocation:EfsLocation":0,"aws:datasync/fsxOpenZfsFileSystem:FsxOpenZfsFileSystem":0,"aws:datasync/locationAzureBlob:LocationAzureBlob":0,"aws:datasync/locationFsxLustre:LocationFsxLustre":0,"aws:datasync/locationFsxOntapFileSystem:LocationFsxOntapFileSystem":0,"aws:datasync/locationFsxWindows:LocationFsxWindows":0,"aws:datasync/locationHdfs:LocationHdfs":0,"aws:datasync/locationObjectStorage:LocationObjectStorage":0,"aws:datasync/locationSmb:LocationSmb":0,"aws:datasync/nfsLocation:NfsLocation":0,"aws:datasync/s3Location:S3Location":0,"aws:datasync/task:Task":0,"aws:datazone/assetType:AssetType":1,"aws:datazone/domain:Domain":1,"aws:datazone/environment:Environment":1,"aws:datazone/environmentBlueprintConfiguration:EnvironmentBlueprintConfiguration":1,"aws:datazone/environmentProfile:EnvironmentProfile":1,"aws:datazone/formType:FormType":1,"aws:datazone/glossary:Glossary":1,"aws:datazone/glossaryTerm:GlossaryTerm":1,"aws:datazone/project:Project":1,"aws:datazone/userProfile:UserProfile":1,"aws:dax/cluster:Cluster":0,"aws:dax/parameterGroup:ParameterGroup":0,"aws:dax/subnetGroup:SubnetGroup":0,"aws:detective/graph:Graph":0,"aws:detective/invitationAccepter:InvitationAccepter":0,"aws:detective/member:Member":0,"aws:detective/organizationAdminAccount:OrganizationAdminAccount":0,"aws:detective/organizationConfiguration:OrganizationConfiguration":0,"aws:devicefarm/devicePool:DevicePool":0,"aws:devicefarm/instanceProfile:InstanceProfile":0,"aws:devicefarm/networkProfile:NetworkProfile":0,"aws:devicefarm/project:Project":0,"aws:devicefarm/testGridProject:TestGridProject":0,"aws:devicefarm/upload:Upload":0,"aws:devopsguru/eventSourcesConfig:EventSourcesConfig":1,"aws:devopsguru/notificationChannel:NotificationChannel":1,"aws:devopsguru/resourceCollection:ResourceCollection":1,"aws:devopsguru/serviceIntegration:ServiceIntegration":1,"aws:directconnect/bgpPeer:BgpPeer":0,"aws:directconnect/connection:Connection":0,"aws:directconnect/connectionAssociation:ConnectionAssociation":0,"aws:directconnect/connectionConfirmation:ConnectionConfirmation":0,"aws:directconnect/gateway:Gateway":0,"aws:directconnect/gatewayAssociation:GatewayAssociation":0,"aws:directconnect/gatewayAssociationProposal:GatewayAssociationProposal":0,"aws:directconnect/hostedConnection:HostedConnection":0,"aws:directconnect/hostedPrivateVirtualInterface:HostedPrivateVirtualInterface":0,"aws:directconnect/hostedPrivateVirtualInterfaceAccepter:HostedPrivateVirtualInterfaceAccepter":0,"aws:directconnect/hostedPublicVirtualInterface:HostedPublicVirtualInterface":0,"aws:directconnect/hostedPublicVirtualInterfaceAccepter:HostedPublicVirtualInterfaceAccepter":0,"aws:directconnect/hostedTransitVirtualInterface:HostedTransitVirtualInterface":0,"aws:directconnect/hostedTransitVirtualInterfaceAcceptor:HostedTransitVirtualInterfaceAcceptor":0,"aws:directconnect/linkAggregationGroup:LinkAggregationGroup":0,"aws:directconnect/macsecKeyAssociation:MacsecKeyAssociation":0,"aws:directconnect/privateVirtualInterface:PrivateVirtualInterface":0,"aws:directconnect/publicVirtualInterface:PublicVirtualInterface":0,"aws:directconnect/transitVirtualInterface:TransitVirtualInterface":0,"aws:directoryservice/conditionalForwader:ConditionalForwader":0,"aws:directoryservice/directory:Directory":0,"aws:directoryservice/logService:LogService":0,"aws:directoryservice/radiusSettings:RadiusSettings":0,"aws:directoryservice/serviceRegion:ServiceRegion":0,"aws:directoryservice/sharedDirectory:SharedDirectory":0,"aws:directoryservice/sharedDirectoryAccepter:SharedDirectoryAccepter":0,"aws:directoryservice/trust:Trust":1,"aws:dlm/lifecyclePolicy:LifecyclePolicy":0,"aws:dms/certificate:Certificate":0,"aws:dms/endpoint:Endpoint":0,"aws:dms/eventSubscription:EventSubscription":0,"aws:dms/replicationConfig:ReplicationConfig":0,"aws:dms/replicationInstance:ReplicationInstance":0,"aws:dms/replicationSubnetGroup:ReplicationSubnetGroup":0,"aws:dms/replicationTask:ReplicationTask":0,"aws:dms/s3Endpoint:S3Endpoint":0,"aws:docdb/cluster:Cluster":0,"aws:docdb/clusterInstance:ClusterInstance":0,"aws:docdb/clusterParameterGroup:ClusterParameterGroup":0,"aws:docdb/clusterSnapshot:ClusterSnapshot":0,"aws:docdb/elasticCluster:ElasticCluster":1,"aws:docdb/eventSubscription:EventSubscription":0,"aws:docdb/globalCluster:GlobalCluster":0,"aws:docdb/subnetGroup:SubnetGroup":0,"aws:drs/replicationConfigurationTemplate:ReplicationConfigurationTemplate":1,"aws:dynamodb/contributorInsights:ContributorInsights":0,"aws:dynamodb/globalTable:GlobalTable":0,"aws:dynamodb/kinesisStreamingDestination:KinesisStreamingDestination":0,"aws:dynamodb/resourcePolicy:ResourcePolicy":1,"aws:dynamodb/table:Table":0,"aws:dynamodb/tableExport:TableExport":0,"aws:dynamodb/tableItem:TableItem":0,"aws:dynamodb/tableReplica:TableReplica":0,"aws:dynamodb/tag:Tag":0,"aws:ebs/defaultKmsKey:DefaultKmsKey":0,"aws:ebs/encryptionByDefault:EncryptionByDefault":0,"aws:ebs/fastSnapshotRestore:FastSnapshotRestore":1,"aws:ebs/snapshot:Snapshot":0,"aws:ebs/snapshotBlockPublicAccess:SnapshotBlockPublicAccess":0,"aws:ebs/snapshotCopy:SnapshotCopy":0,"aws:ebs/snapshotImport:SnapshotImport":0,"aws:ebs/volume:Volume":0,"aws:ec2/ami:Ami":0,"aws:ec2/amiCopy:AmiCopy":0,"aws:ec2/amiFromInstance:AmiFromInstance":0,"aws:ec2/amiLaunchPermission:AmiLaunchPermission":0,"aws:ec2/availabilityZoneGroup:AvailabilityZoneGroup":0,"aws:ec2/capacityBlockReservation:CapacityBlockReservation":1,"aws:ec2/capacityReservation:CapacityReservation":0,"aws:ec2/carrierGateway:CarrierGateway":0,"aws:ec2/customerGateway:CustomerGateway":0,"aws:ec2/dedicatedHost:DedicatedHost":0,"aws:ec2/defaultNetworkAcl:DefaultNetworkAcl":0,"aws:ec2/defaultRouteTable:DefaultRouteTable":0,"aws:ec2/defaultSecurityGroup:DefaultSecurityGroup":0,"aws:ec2/defaultSubnet:DefaultSubnet":0,"aws:ec2/defaultVpc:DefaultVpc":0,"aws:ec2/defaultVpcDhcpOptions:DefaultVpcDhcpOptions":0,"aws:ec2/egressOnlyInternetGateway:EgressOnlyInternetGateway":0,"aws:ec2/eip:Eip":0,"aws:ec2/eipAssociation:EipAssociation":0,"aws:ec2/eipDomainName:EipDomainName":1,"aws:ec2/fleet:Fleet":0,"aws:ec2/flowLog:FlowLog":0,"aws:ec2/imageBlockPublicAccess:ImageBlockPublicAccess":0,"aws:ec2/instance:Instance":0,"aws:ec2/instanceMetadataDefaults:InstanceMetadataDefaults":1,"aws:ec2/internetGateway:InternetGateway":0,"aws:ec2/internetGatewayAttachment:InternetGatewayAttachment":0,"aws:ec2/keyPair:KeyPair":0,"aws:ec2/launchConfiguration:LaunchConfiguration":0,"aws:ec2/launchTemplate:LaunchTemplate":0,"aws:ec2/localGatewayRoute:LocalGatewayRoute":0,"aws:ec2/localGatewayRouteTableVpcAssociation:LocalGatewayRouteTableVpcAssociation":0,"aws:ec2/mainRouteTableAssociation:MainRouteTableAssociation":0,"aws:ec2/managedPrefixList:ManagedPrefixList":0,"aws:ec2/managedPrefixListEntry:ManagedPrefixListEntry":0,"aws:ec2/natGateway:NatGateway":0,"aws:ec2/networkAcl:NetworkAcl":0,"aws:ec2/networkAclAssociation:NetworkAclAssociation":0,"aws:ec2/networkAclRule:NetworkAclRule":0,"aws:ec2/networkInsightsAnalysis:NetworkInsightsAnalysis":0,"aws:ec2/networkInsightsPath:NetworkInsightsPath":0,"aws:ec2/networkInterface:NetworkInterface":0,"aws:ec2/networkInterfaceAttachment:NetworkInterfaceAttachment":0,"aws:ec2/networkInterfaceSecurityGroupAttachment:NetworkInterfaceSecurityGroupAttachment":0,"aws:ec2/peeringConnectionOptions:PeeringConnectionOptions":0,"aws:ec2/placementGroup:PlacementGroup":0,"aws:ec2/proxyProtocolPolicy:ProxyProtocolPolicy":0,"aws:ec2/route:Route":0,"aws:ec2/routeTable:RouteTable":0,"aws:ec2/routeTableAssociation:RouteTableAssociation":0,"aws:ec2/securityGroup:SecurityGroup":0,"aws:ec2/securityGroupAssociation:SecurityGroupAssociation":0,"aws:ec2/securityGroupRule:SecurityGroupRule":0,"aws:ec2/serialConsoleAccess:SerialConsoleAccess":0,"aws:ec2/snapshotCreateVolumePermission:SnapshotCreateVolumePermission":0,"aws:ec2/spotDatafeedSubscription:SpotDatafeedSubscription":0,"aws:ec2/spotFleetRequest:SpotFleetRequest":0,"aws:ec2/spotInstanceRequest:SpotInstanceRequest":0,"aws:ec2/subnet:Subnet":0,"aws:ec2/subnetCidrReservation:SubnetCidrReservation":0,"aws:ec2/tag:Tag":0,"aws:ec2/trafficMirrorFilter:TrafficMirrorFilter":0,"aws:ec2/trafficMirrorFilterRule:TrafficMirrorFilterRule":0,"aws:ec2/trafficMirrorSession:TrafficMirrorSession":0,"aws:ec2/trafficMirrorTarget:TrafficMirrorTarget":0,"aws:ec2/volumeAttachment:VolumeAttachment":0,"aws:ec2/vpc:Vpc":0,"aws:ec2/vpcBlockPublicAccessExclusion:VpcBlockPublicAccessExclusion":1,"aws:ec2/vpcBlockPublicAccessOptions:VpcBlockPublicAccessOptions":1,"aws:ec2/vpcDhcpOptions:VpcDhcpOptions":0,"aws:ec2/vpcDhcpOptionsAssociation:VpcDhcpOptionsAssociation":0,"aws:ec2/vpcEndpoint:VpcEndpoint":0,"aws:ec2/vpcEndpointConnectionAccepter:VpcEndpointConnectionAccepter":0,"aws:ec2/vpcEndpointConnectionNotification:VpcEndpointConnectionNotification":0,"aws:ec2/vpcEndpointPolicy:VpcEndpointPolicy":0,"aws:ec2/vpcEndpointRouteTableAssociation:VpcEndpointRouteTableAssociation":0,"aws:ec2/vpcEndpointService:VpcEndpointService":0,"aws:ec2/vpcEndpointServiceAllowedPrinciple:VpcEndpointServiceAllowedPrinciple":0,"aws:ec2/vpcEndpointSubnetAssociation:VpcEndpointSubnetAssociation":0,"aws:ec2/vpcIpam:VpcIpam":0,"aws:ec2/vpcIpamOrganizationAdminAccount:VpcIpamOrganizationAdminAccount":0,"aws:ec2/vpcIpamPool:VpcIpamPool":0,"aws:ec2/vpcIpamPoolCidr:VpcIpamPoolCidr":0,"aws:ec2/vpcIpamPoolCidrAllocation:VpcIpamPoolCidrAllocation":0,"aws:ec2/vpcIpamPreviewNextCidr:VpcIpamPreviewNextCidr":0,"aws:ec2/vpcIpamResourceDiscovery:VpcIpamResourceDiscovery":0,"aws:ec2/vpcIpamResourceDiscoveryAssociation:VpcIpamResourceDiscoveryAssociation":0,"aws:ec2/vpcIpamScope:VpcIpamScope":0,"aws:ec2/vpcIpv4CidrBlockAssociation:VpcIpv4CidrBlockAssociation":0,"aws:ec2/vpcIpv6CidrBlockAssociation:VpcIpv6CidrBlockAssociation":0,"aws:ec2/vpcNetworkPerformanceMetricSubscription:VpcNetworkPerformanceMetricSubscription":0,"aws:ec2/vpcPeeringConnection:VpcPeeringConnection":0,"aws:ec2/vpcPeeringConnectionAccepter:VpcPeeringConnectionAccepter":0,"aws:ec2/vpnConnection:VpnConnection":0,"aws:ec2/vpnConnectionRoute:VpnConnectionRoute":0,"aws:ec2/vpnGateway:VpnGateway":0,"aws:ec2/vpnGatewayAttachment:VpnGatewayAttachment":0,"aws:ec2/vpnGatewayRoutePropagation:VpnGatewayRoutePropagation":0,"aws:ec2clientvpn/authorizationRule:AuthorizationRule":0,"aws:ec2clientvpn/endpoint:Endpoint":0,"aws:ec2clientvpn/networkAssociation:NetworkAssociation":0,"aws:ec2clientvpn/route:Route":0,"aws:ec2transitgateway/connect:Connect":0,"aws:ec2transitgateway/connectPeer:ConnectPeer":0,"aws:ec2transitgateway/defaultRouteTableAssociation:DefaultRouteTableAssociation":1,"aws:ec2transitgateway/defaultRouteTablePropagation:DefaultRouteTablePropagation":1,"aws:ec2transitgateway/instanceConnectEndpoint:InstanceConnectEndpoint":1,"aws:ec2transitgateway/instanceState:InstanceState":0,"aws:ec2transitgateway/multicastDomain:MulticastDomain":0,"aws:ec2transitgateway/multicastDomainAssociation:MulticastDomainAssociation":0,"aws:ec2transitgateway/multicastGroupMember:MulticastGroupMember":0,"aws:ec2transitgateway/multicastGroupSource:MulticastGroupSource":0,"aws:ec2transitgateway/peeringAttachment:PeeringAttachment":0,"aws:ec2transitgateway/peeringAttachmentAccepter:PeeringAttachmentAccepter":0,"aws:ec2transitgateway/policyTable:PolicyTable":0,"aws:ec2transitgateway/policyTableAssociation:PolicyTableAssociation":0,"aws:ec2transitgateway/prefixListReference:PrefixListReference":0,"aws:ec2transitgateway/route:Route":0,"aws:ec2transitgateway/routeTable:RouteTable":0,"aws:ec2transitgateway/routeTableAssociation:RouteTableAssociation":0,"aws:ec2transitgateway/routeTablePropagation:RouteTablePropagation":0,"aws:ec2transitgateway/transitGateway:TransitGateway":0,"aws:ec2transitgateway/vpcAttachment:VpcAttachment":0,"aws:ec2transitgateway/vpcAttachmentAccepter:VpcAttachmentAccepter":0,"aws:ecr/lifecyclePolicy:LifecyclePolicy":0,"aws:ecr/pullThroughCacheRule:PullThroughCacheRule":0,"aws:ecr/registryPolicy:RegistryPolicy":0,"aws:ecr/registryScanningConfiguration:RegistryScanningConfiguration":0,"aws:ecr/replicationConfiguration:ReplicationConfiguration":0,"aws:ecr/repository:Repository":0,"aws:ecr/repositoryCreationTemplate:RepositoryCreationTemplate":0,"aws:ecr/repositoryPolicy:RepositoryPolicy":0,"aws:ecrpublic/repository:Repository":0,"aws:ecrpublic/repositoryPolicy:RepositoryPolicy":0,"aws:ecs/accountSettingDefault:AccountSettingDefault":0,"aws:ecs/capacityProvider:CapacityProvider":0,"aws:ecs/cluster:Cluster":0,"aws:ecs/clusterCapacityProviders:ClusterCapacityProviders":0,"aws:ecs/service:Service":0,"aws:ecs/tag:Tag":0,"aws:ecs/taskDefinition:TaskDefinition":0,"aws:ecs/taskSet:TaskSet":0,"aws:efs/accessPoint:AccessPoint":0,"aws:efs/backupPolicy:BackupPolicy":0,"aws:efs/fileSystem:FileSystem":0,"aws:efs/fileSystemPolicy:FileSystemPolicy":0,"aws:efs/mountTarget:MountTarget":0,"aws:efs/replicationConfiguration:ReplicationConfiguration":0,"aws:eks/accessEntry:AccessEntry":0,"aws:eks/accessPolicyAssociation:AccessPolicyAssociation":0,"aws:eks/addon:Addon":0,"aws:eks/cluster:Cluster":0,"aws:eks/fargateProfile:FargateProfile":0,"aws:eks/identityProviderConfig:IdentityProviderConfig":0,"aws:eks/nodeGroup:NodeGroup":0,"aws:eks/podIdentityAssociation:PodIdentityAssociation":1,"aws:elasticache/cluster:Cluster":0,"aws:elasticache/globalReplicationGroup:GlobalReplicationGroup":0,"aws:elasticache/parameterGroup:ParameterGroup":0,"aws:elasticache/replicationGroup:ReplicationGroup":0,"aws:elasticache/reservedCacheNode:ReservedCacheNode":1,"aws:elasticache/serverlessCache:ServerlessCache":1,"aws:elasticache/subnetGroup:SubnetGroup":0,"aws:elasticache/user:User":0,"aws:elasticache/userGroup:UserGroup":0,"aws:elasticache/userGroupAssociation:UserGroupAssociation":0,"aws:elasticbeanstalk/application:Application":0,"aws:elasticbeanstalk/applicationVersion:ApplicationVersion":0,"aws:elasticbeanstalk/configurationTemplate:ConfigurationTemplate":0,"aws:elasticbeanstalk/environment:Environment":0,"aws:elasticsearch/domain:Domain":0,"aws:elasticsearch/domainPolicy:DomainPolicy":0,"aws:elasticsearch/domainSamlOptions:DomainSamlOptions":0,"aws:elasticsearch/vpcEndpoint:VpcEndpoint":0,"aws:elastictranscoder/pipeline:Pipeline":0,"aws:elastictranscoder/preset:Preset":0,"aws:elb/appCookieStickinessPolicy:AppCookieStickinessPolicy":0,"aws:elb/attachment:Attachment":0,"aws:elb/listenerPolicy:ListenerPolicy":0,"aws:elb/loadBalancer:LoadBalancer":0,"aws:elb/loadBalancerBackendServerPolicy:LoadBalancerBackendServerPolicy":0,"aws:elb/loadBalancerCookieStickinessPolicy:LoadBalancerCookieStickinessPolicy":0,"aws:elb/loadBalancerPolicy:LoadBalancerPolicy":0,"aws:elb/sslNegotiationPolicy:SslNegotiationPolicy":0,"aws:emr/blockPublicAccessConfiguration:BlockPublicAccessConfiguration":0,"aws:emr/cluster:Cluster":0,"aws:emr/instanceFleet:InstanceFleet":0,"aws:emr/instanceGroup:InstanceGroup":0,"aws:emr/managedScalingPolicy:ManagedScalingPolicy":0,"aws:emr/securityConfiguration:SecurityConfiguration":0,"aws:emr/studio:Studio":0,"aws:emr/studioSessionMapping:StudioSessionMapping":0,"aws:emrcontainers/jobTemplate:JobTemplate":0,"aws:emrcontainers/virtualCluster:VirtualCluster":0,"aws:emrserverless/application:Application":0,"aws:evidently/feature:Feature":0,"aws:evidently/launch:Launch":0,"aws:evidently/project:Project":0,"aws:evidently/segment:Segment":0,"aws:finspace/kxCluster:KxCluster":0,"aws:finspace/kxDatabase:KxDatabase":0,"aws:finspace/kxDataview:KxDataview":0,"aws:finspace/kxEnvironment:KxEnvironment":0,"aws:finspace/kxScalingGroup:KxScalingGroup":0,"aws:finspace/kxUser:KxUser":0,"aws:finspace/kxVolume:KxVolume":0,"aws:fis/experimentTemplate:ExperimentTemplate":0,"aws:fms/adminAccount:AdminAccount":0,"aws:fms/policy:Policy":0,"aws:fms/resourceSet:ResourceSet":1,"aws:fsx/backup:Backup":0,"aws:fsx/dataRepositoryAssociation:DataRepositoryAssociation":0,"aws:fsx/fileCache:FileCache":0,"aws:fsx/lustreFileSystem:LustreFileSystem":0,"aws:fsx/ontapFileSystem:OntapFileSystem":0,"aws:fsx/ontapStorageVirtualMachine:OntapStorageVirtualMachine":0,"aws:fsx/ontapVolume:OntapVolume":0,"aws:fsx/openZfsFileSystem:OpenZfsFileSystem":0,"aws:fsx/openZfsSnapshot:OpenZfsSnapshot":0,"aws:fsx/openZfsVolume:OpenZfsVolume":0,"aws:fsx/windowsFileSystem:WindowsFileSystem":0,"aws:gamelift/alias:Alias":0,"aws:gamelift/build:Build":0,"aws:gamelift/fleet:Fleet":0,"aws:gamelift/gameServerGroup:GameServerGroup":0,"aws:gamelift/gameSessionQueue:GameSessionQueue":0,"aws:gamelift/matchmakingConfiguration:MatchmakingConfiguration":0,"aws:gamelift/matchmakingRuleSet:MatchmakingRuleSet":0,"aws:gamelift/script:Script":0,"aws:glacier/vault:Vault":0,"aws:glacier/vaultLock:VaultLock":0,"aws:globalaccelerator/accelerator:Accelerator":0,"aws:globalaccelerator/crossAccountAttachment:CrossAccountAttachment":1,"aws:globalaccelerator/customRoutingAccelerator:CustomRoutingAccelerator":0,"aws:globalaccelerator/customRoutingEndpointGroup:CustomRoutingEndpointGroup":0,"aws:globalaccelerator/customRoutingListener:CustomRoutingListener":0,"aws:globalaccelerator/endpointGroup:EndpointGroup":0,"aws:globalaccelerator/listener:Listener":0,"aws:glue/catalogDatabase:CatalogDatabase":0,"aws:glue/catalogTable:CatalogTable":0,"aws:glue/catalogTableOptimizer:CatalogTableOptimizer":1,"aws:glue/classifier:Classifier":0,"aws:glue/connection:Connection":0,"aws:glue/crawler:Crawler":0,"aws:glue/dataCatalogEncryptionSettings:DataCatalogEncryptionSettings":0,"aws:glue/dataQualityRuleset:DataQualityRuleset":0,"aws:glue/devEndpoint:DevEndpoint":0,"aws:glue/job:Job":0,"aws:glue/mLTransform:MLTransform":0,"aws:glue/partition:Partition":0,"aws:glue/partitionIndex:PartitionIndex":0,"aws:glue/registry:Registry":0,"aws:glue/resourcePolicy:ResourcePolicy":0,"aws:glue/schema:Schema":0,"aws:glue/securityConfiguration:SecurityConfiguration":0,"aws:glue/trigger:Trigger":0,"aws:glue/userDefinedFunction:UserDefinedFunction":0,"aws:glue/workflow:Workflow":0,"aws:grafana/licenseAssociation:LicenseAssociation":0,"aws:grafana/roleAssociation:RoleAssociation":0,"aws:grafana/workspace:Workspace":0,"aws:grafana/workspaceApiKey:WorkspaceApiKey":0,"aws:grafana/workspaceSamlConfiguration:WorkspaceSamlConfiguration":0,"aws:grafana/workspaceServiceAccount:WorkspaceServiceAccount":1,"aws:grafana/workspaceServiceAccountToken:WorkspaceServiceAccountToken":1,"aws:guardduty/detector:Detector":0,"aws:guardduty/detectorFeature:DetectorFeature":0,"aws:guardduty/filter:Filter":0,"aws:guardduty/iPSet:IPSet":0,"aws:guardduty/inviteAccepter:InviteAccepter":0,"aws:guardduty/malwareProtectionPlan:MalwareProtectionPlan":1,"aws:guardduty/member:Member":0,"aws:guardduty/organizationAdminAccount:OrganizationAdminAccount":0,"aws:guardduty/organizationConfiguration:OrganizationConfiguration":0,"aws:guardduty/organizationConfigurationFeature:OrganizationConfigurationFeature":0,"aws:guardduty/publishingDestination:PublishingDestination":0,"aws:guardduty/threatIntelSet:ThreatIntelSet":0,"aws:iam/accessKey:AccessKey":0,"aws:iam/accountAlias:AccountAlias":0,"aws:iam/accountPasswordPolicy:AccountPasswordPolicy":0,"aws:iam/group:Group":0,"aws:iam/groupMembership:GroupMembership":0,"aws:iam/groupPoliciesExclusive:GroupPoliciesExclusive":1,"aws:iam/groupPolicy:GroupPolicy":0,"aws:iam/groupPolicyAttachment:GroupPolicyAttachment":0,"aws:iam/groupPolicyAttachmentsExclusive:GroupPolicyAttachmentsExclusive":1,"aws:iam/instanceProfile:InstanceProfile":0,"aws:iam/openIdConnectProvider:OpenIdConnectProvider":0,"aws:iam/organizationsFeatures:OrganizationsFeatures":1,"aws:iam/policy:Policy":0,"aws:iam/policyAttachment:PolicyAttachment":0,"aws:iam/role:Role":0,"aws:iam/rolePoliciesExclusive:RolePoliciesExclusive":1,"aws:iam/rolePolicy:RolePolicy":0,"aws:iam/rolePolicyAttachment:RolePolicyAttachment":0,"aws:iam/rolePolicyAttachmentsExclusive:RolePolicyAttachmentsExclusive":1,"aws:iam/samlProvider:SamlProvider":0,"aws:iam/securityTokenServicePreferences:SecurityTokenServicePreferences":0,"aws:iam/serverCertificate:ServerCertificate":0,"aws:iam/serviceLinkedRole:ServiceLinkedRole":0,"aws:iam/serviceSpecificCredential:ServiceSpecificCredential":0,"aws:iam/signingCertificate:SigningCertificate":0,"aws:iam/sshKey:SshKey":0,"aws:iam/user:User":0,"aws:iam/userGroupMembership:UserGroupMembership":0,"aws:iam/userLoginProfile:UserLoginProfile":0,"aws:iam/userPoliciesExclusive:UserPoliciesExclusive":1,"aws:iam/userPolicy:UserPolicy":0,"aws:iam/userPolicyAttachment:UserPolicyAttachment":0,"aws:iam/userPolicyAttachmentsExclusive:UserPolicyAttachmentsExclusive":1,"aws:iam/virtualMfaDevice:VirtualMfaDevice":0,"aws:identitystore/group:Group":0,"aws:identitystore/groupMembership:GroupMembership":0,"aws:identitystore/user:User":0,"aws:imagebuilder/component:Component":0,"aws:imagebuilder/containerRecipe:ContainerRecipe":0,"aws:imagebuilder/distributionConfiguration:DistributionConfiguration":0,"aws:imagebuilder/image:Image":0,"aws:imagebuilder/imagePipeline:ImagePipeline":0,"aws:imagebuilder/imageRecipe:ImageRecipe":0,"aws:imagebuilder/infrastructureConfiguration:InfrastructureConfiguration":0,"aws:imagebuilder/lifecyclePolicy:LifecyclePolicy":1,"aws:imagebuilder/workflow:Workflow":0,"aws:inspector/assessmentTarget:AssessmentTarget":0,"aws:inspector/assessmentTemplate:AssessmentTemplate":0,"aws:inspector/resourceGroup:ResourceGroup":0,"aws:inspector2/delegatedAdminAccount:DelegatedAdminAccount":0,"aws:inspector2/enabler:Enabler":0,"aws:inspector2/memberAssociation:MemberAssociation":0,"aws:inspector2/organizationConfiguration:OrganizationConfiguration":0,"aws:iot/authorizer:Authorizer":0,"aws:iot/billingGroup:BillingGroup":1,"aws:iot/caCertificate:CaCertificate":0,"aws:iot/certificate:Certificate":0,"aws:iot/domainConfiguration:DomainConfiguration":0,"aws:iot/eventConfigurations:EventConfigurations":0,"aws:iot/indexingConfiguration:IndexingConfiguration":0,"aws:iot/loggingOptions:LoggingOptions":0,"aws:iot/policy:Policy":0,"aws:iot/policyAttachment:PolicyAttachment":0,"aws:iot/provisioningTemplate:ProvisioningTemplate":0,"aws:iot/roleAlias:RoleAlias":0,"aws:iot/thing:Thing":0,"aws:iot/thingGroup:ThingGroup":0,"aws:iot/thingGroupMembership:ThingGroupMembership":0,"aws:iot/thingPrincipalAttachment:ThingPrincipalAttachment":0,"aws:iot/thingType:ThingType":0,"aws:iot/topicRule:TopicRule":0,"aws:iot/topicRuleDestination:TopicRuleDestination":0,"aws:ivs/channel:Channel":0,"aws:ivs/playbackKeyPair:PlaybackKeyPair":0,"aws:ivs/recordingConfiguration:RecordingConfiguration":0,"aws:ivschat/loggingConfiguration:LoggingConfiguration":0,"aws:ivschat/room:Room":0,"aws:kendra/dataSource:DataSource":0,"aws:kendra/experience:Experience":0,"aws:kendra/faq:Faq":0,"aws:kendra/index:Index":0,"aws:kendra/querySuggestionsBlockList:QuerySuggestionsBlockList":0,"aws:kendra/thesaurus:Thesaurus":0,"aws:keyspaces/keyspace:Keyspace":0,"aws:keyspaces/table:Table":0,"aws:kinesis/analyticsApplication:AnalyticsApplication":0,"aws:kinesis/firehoseDeliveryStream:FirehoseDeliveryStream":0,"aws:kinesis/resourcePolicy:ResourcePolicy":1,"aws:kinesis/stream:Stream":0,"aws:kinesis/streamConsumer:StreamConsumer":0,"aws:kinesis/videoStream:VideoStream":0,"aws:kinesisanalyticsv2/application:Application":0,"aws:kinesisanalyticsv2/applicationSnapshot:ApplicationSnapshot":0,"aws:kms/alias:Alias":0,"aws:kms/ciphertext:Ciphertext":0,"aws:kms/customKeyStore:CustomKeyStore":0,"aws:kms/externalKey:ExternalKey":0,"aws:kms/grant:Grant":0,"aws:kms/key:Key":0,"aws:kms/keyPolicy:KeyPolicy":0,"aws:kms/replicaExternalKey:ReplicaExternalKey":0,"aws:kms/replicaKey:ReplicaKey":0,"aws:lakeformation/dataCellsFilter:DataCellsFilter":1,"aws:lakeformation/dataLakeSettings:DataLakeSettings":0,"aws:lakeformation/lfTag:LfTag":0,"aws:lakeformation/permissions:Permissions":0,"aws:lakeformation/resource:Resource":0,"aws:lakeformation/resourceLfTag:ResourceLfTag":1,"aws:lakeformation/resourceLfTags:ResourceLfTags":0,"aws:lambda/alias:Alias":0,"aws:lambda/codeSigningConfig:CodeSigningConfig":0,"aws:lambda/eventSourceMapping:EventSourceMapping":0,"aws:lambda/function:Function":0,"aws:lambda/functionEventInvokeConfig:FunctionEventInvokeConfig":0,"aws:lambda/functionRecursionConfig:FunctionRecursionConfig":1,"aws:lambda/functionUrl:FunctionUrl":0,"aws:lambda/invocation:Invocation":0,"aws:lambda/layerVersion:LayerVersion":0,"aws:lambda/layerVersionPermission:LayerVersionPermission":0,"aws:lambda/permission:Permission":0,"aws:lambda/provisionedConcurrencyConfig:ProvisionedConcurrencyConfig":0,"aws:lambda/runtimeManagementConfig:RuntimeManagementConfig":1,"aws:lb/listener:Listener":0,"aws:lb/listenerCertificate:ListenerCertificate":0,"aws:lb/listenerRule:ListenerRule":0,"aws:lb/loadBalancer:LoadBalancer":0,"aws:lb/targetGroup:TargetGroup":0,"aws:lb/targetGroupAttachment:TargetGroupAttachment":0,"aws:lb/trustStore:TrustStore":0,"aws:lb/trustStoreRevocation:TrustStoreRevocation":0,"aws:lex/bot:Bot":0,"aws:lex/botAlias:BotAlias":0,"aws:lex/intent:Intent":0,"aws:lex/slotType:SlotType":0,"aws:lex/v2modelsBot:V2modelsBot":1,"aws:lex/v2modelsBotLocale:V2modelsBotLocale":1,"aws:lex/v2modelsBotVersion:V2modelsBotVersion":1,"aws:lex/v2modelsIntent:V2modelsIntent":1,"aws:lex/v2modelsSlot:V2modelsSlot":1,"aws:lex/v2modelsSlotType:V2modelsSlotType":1,"aws:licensemanager/association:Association":0,"aws:licensemanager/licenseConfiguration:LicenseConfiguration":0,"aws:licensemanager/licenseGrant:LicenseGrant":0,"aws:licensemanager/licenseGrantAccepter:LicenseGrantAccepter":0,"aws:lightsail/bucket:Bucket":0,"aws:lightsail/bucketAccessKey:BucketAccessKey":0,"aws:lightsail/bucketResourceAccess:BucketResourceAccess":0,"aws:lightsail/certificate:Certificate":0,"aws:lightsail/containerService:ContainerService":0,"aws:lightsail/containerServiceDeploymentVersion:ContainerServiceDeploymentVersion":0,"aws:lightsail/database:Database":0,"aws:lightsail/disk:Disk":0,"aws:lightsail/disk_attachment:Disk_attachment":0,"aws:lightsail/distribution:Distribution":0,"aws:lightsail/domain:Domain":0,"aws:lightsail/domainEntry:DomainEntry":0,"aws:lightsail/instance:Instance":0,"aws:lightsail/instancePublicPorts:InstancePublicPorts":0,"aws:lightsail/keyPair:KeyPair":0,"aws:lightsail/lb:Lb":0,"aws:lightsail/lbAttachment:LbAttachment":0,"aws:lightsail/lbCertificate:LbCertificate":0,"aws:lightsail/lbCertificateAttachment:LbCertificateAttachment":0,"aws:lightsail/lbHttpsRedirectionPolicy:LbHttpsRedirectionPolicy":0,"aws:lightsail/lbStickinessPolicy:LbStickinessPolicy":0,"aws:lightsail/staticIp:StaticIp":0,"aws:lightsail/staticIpAttachment:StaticIpAttachment":0,"aws:location/geofenceCollection:GeofenceCollection":0,"aws:location/map:Map":0,"aws:location/placeIndex:PlaceIndex":0,"aws:location/routeCalculation:RouteCalculation":0,"aws:location/tracker:Tracker":0,"aws:location/trackerAssociation:TrackerAssociation":0,"aws:m2/application:Application":1,"aws:m2/deployment:Deployment":1,"aws:m2/environment:Environment":1,"aws:macie/customDataIdentifier:CustomDataIdentifier":0,"aws:macie/findingsFilter:FindingsFilter":0,"aws:macie2/account:Account":0,"aws:macie2/classificationExportConfiguration:ClassificationExportConfiguration":0,"aws:macie2/classificationJob:ClassificationJob":0,"aws:macie2/invitationAccepter:InvitationAccepter":0,"aws:macie2/member:Member":0,"aws:macie2/organizationAdminAccount:OrganizationAdminAccount":0,"aws:mediaconvert/queue:Queue":0,"aws:medialive/channel:Channel":0,"aws:medialive/input:Input":0,"aws:medialive/inputSecurityGroup:InputSecurityGroup":0,"aws:medialive/multiplex:Multiplex":0,"aws:medialive/multiplexProgram:MultiplexProgram":1,"aws:mediapackage/channel:Channel":0,"aws:mediastore/container:Container":0,"aws:mediastore/containerPolicy:ContainerPolicy":0,"aws:memorydb/acl:Acl":0,"aws:memorydb/cluster:Cluster":0,"aws:memorydb/parameterGroup:ParameterGroup":0,"aws:memorydb/snapshot:Snapshot":0,"aws:memorydb/subnetGroup:SubnetGroup":0,"aws:memorydb/user:User":0,"aws:mq/broker:Broker":0,"aws:mq/configuration:Configuration":0,"aws:msk/cluster:Cluster":0,"aws:msk/clusterPolicy:ClusterPolicy":0,"aws:msk/configuration:Configuration":0,"aws:msk/replicator:Replicator":0,"aws:msk/scramSecretAssociation:ScramSecretAssociation":0,"aws:msk/serverlessCluster:ServerlessCluster":0,"aws:msk/vpcConnection:VpcConnection":0,"aws:mskconnect/connector:Connector":0,"aws:mskconnect/customPlugin:CustomPlugin":0,"aws:mskconnect/workerConfiguration:WorkerConfiguration":0,"aws:mwaa/environment:Environment":0,"aws:neptune/cluster:Cluster":0,"aws:neptune/clusterEndpoint:ClusterEndpoint":0,"aws:neptune/clusterInstance:ClusterInstance":0,"aws:neptune/clusterParameterGroup:ClusterParameterGroup":0,"aws:neptune/clusterSnapshot:ClusterSnapshot":0,"aws:neptune/eventSubscription:EventSubscription":0,"aws:neptune/globalCluster:GlobalCluster":0,"aws:neptune/parameterGroup:ParameterGroup":0,"aws:neptune/subnetGroup:SubnetGroup":0,"aws:networkfirewall/firewall:Firewall":0,"aws:networkfirewall/firewallPolicy:FirewallPolicy":0,"aws:networkfirewall/loggingConfiguration:LoggingConfiguration":0,"aws:networkfirewall/resourcePolicy:ResourcePolicy":0,"aws:networkfirewall/ruleGroup:RuleGroup":0,"aws:networkfirewall/tlsInspectionConfiguration:TlsInspectionConfiguration":1,"aws:networkmanager/attachmentAccepter:AttachmentAccepter":0,"aws:networkmanager/connectAttachment:ConnectAttachment":0,"aws:networkmanager/connectPeer:ConnectPeer":0,"aws:networkmanager/connection:Connection":0,"aws:networkmanager/coreNetwork:CoreNetwork":0,"aws:networkmanager/coreNetworkPolicyAttachment:CoreNetworkPolicyAttachment":0,"aws:networkmanager/customerGatewayAssociation:CustomerGatewayAssociation":0,"aws:networkmanager/device:Device":0,"aws:networkmanager/globalNetwork:GlobalNetwork":0,"aws:networkmanager/link:Link":0,"aws:networkmanager/linkAssociation:LinkAssociation":0,"aws:networkmanager/site:Site":0,"aws:networkmanager/siteToSiteVpnAttachment:SiteToSiteVpnAttachment":0,"aws:networkmanager/transitGatewayConnectPeerAssociation:TransitGatewayConnectPeerAssociation":0,"aws:networkmanager/transitGatewayPeering:TransitGatewayPeering":0,"aws:networkmanager/transitGatewayRegistration:TransitGatewayRegistration":0,"aws:networkmanager/transitGatewayRouteTableAttachment:TransitGatewayRouteTableAttachment":0,"aws:networkmanager/vpcAttachment:VpcAttachment":0,"aws:networkmonitor/monitor:Monitor":1,"aws:networkmonitor/probe:Probe":1,"aws:oam/link:Link":0,"aws:oam/sink:Sink":0,"aws:oam/sinkPolicy:SinkPolicy":0,"aws:opensearch/authorizeVpcEndpointAccess:AuthorizeVpcEndpointAccess":1,"aws:opensearch/domain:Domain":0,"aws:opensearch/domainPolicy:DomainPolicy":0,"aws:opensearch/domainSamlOptions:DomainSamlOptions":0,"aws:opensearch/inboundConnectionAccepter:InboundConnectionAccepter":0,"aws:opensearch/outboundConnection:OutboundConnection":0,"aws:opensearch/package:Package":0,"aws:opensearch/packageAssociation:PackageAssociation":0,"aws:opensearch/serverlessAccessPolicy:ServerlessAccessPolicy":1,"aws:opensearch/serverlessCollection:ServerlessCollection":1,"aws:opensearch/serverlessLifecyclePolicy:ServerlessLifecyclePolicy":1,"aws:opensearch/serverlessSecurityConfig:ServerlessSecurityConfig":1,"aws:opensearch/serverlessSecurityPolicy:ServerlessSecurityPolicy":1,"aws:opensearch/serverlessVpcEndpoint:ServerlessVpcEndpoint":1,"aws:opensearch/vpcEndpoint:VpcEndpoint":0,"aws:opensearchingest/pipeline:Pipeline":1,"aws:opsworks/application:Application":0,"aws:opsworks/customLayer:CustomLayer":0,"aws:opsworks/ecsClusterLayer:EcsClusterLayer":0,"aws:opsworks/gangliaLayer:GangliaLayer":0,"aws:opsworks/haproxyLayer:HaproxyLayer":0,"aws:opsworks/instance:Instance":0,"aws:opsworks/javaAppLayer:JavaAppLayer":0,"aws:opsworks/memcachedLayer:MemcachedLayer":0,"aws:opsworks/mysqlLayer:MysqlLayer":0,"aws:opsworks/nodejsAppLayer:NodejsAppLayer":0,"aws:opsworks/permission:Permission":0,"aws:opsworks/phpAppLayer:PhpAppLayer":0,"aws:opsworks/railsAppLayer:RailsAppLayer":0,"aws:opsworks/rdsDbInstance:RdsDbInstance":0,"aws:opsworks/stack:Stack":0,"aws:opsworks/staticWebLayer:StaticWebLayer":0,"aws:opsworks/userProfile:UserProfile":0,"aws:organizations/account:Account":0,"aws:organizations/delegatedAdministrator:DelegatedAdministrator":0,"aws:organizations/organization:Organization":0,"aws:organizations/organizationalUnit:OrganizationalUnit":0,"aws:organizations/policy:Policy":0,"aws:organizations/policyAttachment:PolicyAttachment":0,"aws:organizations/resourcePolicy:ResourcePolicy":0,"aws:paymentcryptography/key:Key":1,"aws:paymentcryptography/keyAlias:KeyAlias":1,"aws:pinpoint/admChannel:AdmChannel":0,"aws:pinpoint/apnsChannel:ApnsChannel":0,"aws:pinpoint/apnsSandboxChannel:ApnsSandboxChannel":0,"aws:pinpoint/apnsVoipChannel:ApnsVoipChannel":0,"aws:pinpoint/apnsVoipSandboxChannel:ApnsVoipSandboxChannel":0,"aws:pinpoint/app:App":0,"aws:pinpoint/baiduChannel:BaiduChannel":0,"aws:pinpoint/emailChannel:EmailChannel":0,"aws:pinpoint/emailTemplate:EmailTemplate":1,"aws:pinpoint/eventStream:EventStream":0,"aws:pinpoint/gcmChannel:GcmChannel":0,"aws:pinpoint/smsChannel:SmsChannel":0,"aws:pinpoint/smsvoicev2ConfigurationSet:Smsvoicev2ConfigurationSet":1,"aws:pinpoint/smsvoicev2OptOutList:Smsvoicev2OptOutList":1,"aws:pinpoint/smsvoicev2PhoneNumber:Smsvoicev2PhoneNumber":1,"aws:pipes/pipe:Pipe":0,"aws:qldb/ledger:Ledger":0,"aws:qldb/stream:Stream":0,"aws:quicksight/accountSubscription:AccountSubscription":0,"aws:quicksight/analysis:Analysis":0,"aws:quicksight/dashboard:Dashboard":0,"aws:quicksight/dataSet:DataSet":0,"aws:quicksight/dataSource:DataSource":0,"aws:quicksight/folder:Folder":0,"aws:quicksight/folderMembership:FolderMembership":1,"aws:quicksight/group:Group":0,"aws:quicksight/groupMembership:GroupMembership":0,"aws:quicksight/iamPolicyAssignment:IamPolicyAssignment":1,"aws:quicksight/ingestion:Ingestion":1,"aws:quicksight/namespace:Namespace":1,"aws:quicksight/refreshSchedule:RefreshSchedule":1,"aws:quicksight/template:Template":0,"aws:quicksight/templateAlias:TemplateAlias":1,"aws:quicksight/theme:Theme":0,"aws:quicksight/user:User":0,"aws:quicksight/vpcConnection:VpcConnection":1,"aws:ram/principalAssociation:PrincipalAssociation":0,"aws:ram/resourceAssociation:ResourceAssociation":0,"aws:ram/resourceShare:ResourceShare":0,"aws:ram/resourceShareAccepter:ResourceShareAccepter":0,"aws:ram/sharingWithOrganization:SharingWithOrganization":0,"aws:rbin/rule:Rule":0,"aws:rds/certificate:Certificate":0,"aws:rds/cluster:Cluster":0,"aws:rds/clusterActivityStream:ClusterActivityStream":0,"aws:rds/clusterEndpoint:ClusterEndpoint":0,"aws:rds/clusterInstance:ClusterInstance":0,"aws:rds/clusterParameterGroup:ClusterParameterGroup":0,"aws:rds/clusterRoleAssociation:ClusterRoleAssociation":0,"aws:rds/clusterSnapshot:ClusterSnapshot":0,"aws:rds/customDbEngineVersion:CustomDbEngineVersion":0,"aws:rds/eventSubscription:EventSubscription":0,"aws:rds/exportTask:ExportTask":1,"aws:rds/globalCluster:GlobalCluster":0,"aws:rds/instance:Instance":0,"aws:rds/instanceAutomatedBackupsReplication:InstanceAutomatedBackupsReplication":0,"aws:rds/instanceDesiredState:InstanceDesiredState":1,"aws:rds/integration:Integration":1,"aws:rds/optionGroup:OptionGroup":0,"aws:rds/parameterGroup:ParameterGroup":0,"aws:rds/proxy:Proxy":0,"aws:rds/proxyDefaultTargetGroup:ProxyDefaultTargetGroup":0,"aws:rds/proxyEndpoint:ProxyEndpoint":0,"aws:rds/proxyTarget:ProxyTarget":0,"aws:rds/reservedInstance:ReservedInstance":0,"aws:rds/roleAssociation:RoleAssociation":0,"aws:rds/snapshot:Snapshot":0,"aws:rds/snapshotCopy:SnapshotCopy":0,"aws:rds/subnetGroup:SubnetGroup":0,"aws:redshift/authenticationProfile:AuthenticationProfile":0,"aws:redshift/cluster:Cluster":0,"aws:redshift/clusterIamRoles:ClusterIamRoles":0,"aws:redshift/clusterSnapshot:ClusterSnapshot":0,"aws:redshift/dataShareAuthorization:DataShareAuthorization":1,"aws:redshift/dataShareConsumerAssociation:DataShareConsumerAssociation":1,"aws:redshift/endpointAccess:EndpointAccess":0,"aws:redshift/endpointAuthorization:EndpointAuthorization":0,"aws:redshift/eventSubscription:EventSubscription":0,"aws:redshift/hsmClientCertificate:HsmClientCertificate":0,"aws:redshift/hsmConfiguration:HsmConfiguration":0,"aws:redshift/logging:Logging":1,"aws:redshift/parameterGroup:ParameterGroup":0,"aws:redshift/partner:Partner":0,"aws:redshift/resourcePolicy:ResourcePolicy":0,"aws:redshift/scheduledAction:ScheduledAction":0,"aws:redshift/snapshotCopy:SnapshotCopy":1,"aws:redshift/snapshotCopyGrant:SnapshotCopyGrant":0,"aws:redshift/snapshotSchedule:SnapshotSchedule":0,"aws:redshift/snapshotScheduleAssociation:SnapshotScheduleAssociation":0,"aws:redshift/subnetGroup:SubnetGroup":0,"aws:redshift/usageLimit:UsageLimit":0,"aws:redshiftdata/statement:Statement":0,"aws:redshiftserverless/customDomainAssociation:CustomDomainAssociation":1,"aws:redshiftserverless/endpointAccess:EndpointAccess":0,"aws:redshiftserverless/namespace:Namespace":0,"aws:redshiftserverless/resourcePolicy:ResourcePolicy":0,"aws:redshiftserverless/snapshot:Snapshot":0,"aws:redshiftserverless/usageLimit:UsageLimit":0,"aws:redshiftserverless/workgroup:Workgroup":0,"aws:rekognition/collection:Collection":1,"aws:rekognition/project:Project":1,"aws:rekognition/streamProcessor:StreamProcessor":1,"aws:resiliencehub/resiliencyPolicy:ResiliencyPolicy":1,"aws:resourceexplorer/index:Index":1,"aws:resourceexplorer/view:View":1,"aws:resourcegroups/group:Group":0,"aws:resourcegroups/resource:Resource":0,"aws:rolesanywhere/profile:Profile":0,"aws:rolesanywhere/trustAnchor:TrustAnchor":0,"aws:route53/cidrCollection:CidrCollection":1,"aws:route53/cidrLocation:CidrLocation":1,"aws:route53/delegationSet:DelegationSet":0,"aws:route53/healthCheck:HealthCheck":0,"aws:route53/hostedZoneDnsSec:HostedZoneDnsSec":0,"aws:route53/keySigningKey:KeySigningKey":0,"aws:route53/profilesAssociation:ProfilesAssociation":1,"aws:route53/profilesProfile:ProfilesProfile":1,"aws:route53/profilesResourceAssociation:ProfilesResourceAssociation":1,"aws:route53/queryLog:QueryLog":0,"aws:route53/record:Record":0,"aws:route53/resolverConfig:ResolverConfig":0,"aws:route53/resolverDnsSecConfig:ResolverDnsSecConfig":0,"aws:route53/resolverEndpoint:ResolverEndpoint":0,"aws:route53/resolverFirewallConfig:ResolverFirewallConfig":0,"aws:route53/resolverFirewallDomainList:ResolverFirewallDomainList":0,"aws:route53/resolverFirewallRule:ResolverFirewallRule":0,"aws:route53/resolverFirewallRuleGroup:ResolverFirewallRuleGroup":0,"aws:route53/resolverFirewallRuleGroupAssociation:ResolverFirewallRuleGroupAssociation":0,"aws:route53/resolverQueryLogConfig:ResolverQueryLogConfig":0,"aws:route53/resolverQueryLogConfigAssociation:ResolverQueryLogConfigAssociation":0,"aws:route53/resolverRule:ResolverRule":0,"aws:route53/resolverRuleAssociation:ResolverRuleAssociation":0,"aws:route53/trafficPolicy:TrafficPolicy":0,"aws:route53/trafficPolicyInstance:TrafficPolicyInstance":0,"aws:route53/vpcAssociationAuthorization:VpcAssociationAuthorization":0,"aws:route53/zone:Zone":0,"aws:route53/zoneAssociation:ZoneAssociation":0,"aws:route53domains/delegationSignerRecord:DelegationSignerRecord":1,"aws:route53domains/registeredDomain:RegisteredDomain":0,"aws:route53recoverycontrol/cluster:Cluster":0,"aws:route53recoverycontrol/controlPanel:ControlPanel":0,"aws:route53recoverycontrol/routingControl:RoutingControl":0,"aws:route53recoverycontrol/safetyRule:SafetyRule":0,"aws:route53recoveryreadiness/cell:Cell":0,"aws:route53recoveryreadiness/readinessCheck:ReadinessCheck":0,"aws:route53recoveryreadiness/recoveryGroup:RecoveryGroup":0,"aws:route53recoveryreadiness/resourceSet:ResourceSet":0,"aws:rum/appMonitor:AppMonitor":0,"aws:rum/metricsDestination:MetricsDestination":0,"aws:s3/accessPoint:AccessPoint":0,"aws:s3/accountPublicAccessBlock:AccountPublicAccessBlock":0,"aws:s3/analyticsConfiguration:AnalyticsConfiguration":0,"aws:s3/bucket:Bucket":0,"aws:s3/bucketAccelerateConfigurationV2:BucketAccelerateConfigurationV2":0,"aws:s3/bucketAclV2:BucketAclV2":0,"aws:s3/bucketCorsConfigurationV2:BucketCorsConfigurationV2":0,"aws:s3/bucketIntelligentTieringConfiguration:BucketIntelligentTieringConfiguration":0,"aws:s3/bucketLifecycleConfigurationV2:BucketLifecycleConfigurationV2":0,"aws:s3/bucketLoggingV2:BucketLoggingV2":0,"aws:s3/bucketMetric:BucketMetric":0,"aws:s3/bucketNotification:BucketNotification":0,"aws:s3/bucketObject:BucketObject":0,"aws:s3/bucketObjectLockConfigurationV2:BucketObjectLockConfigurationV2":0,"aws:s3/bucketObjectv2:BucketObjectv2":0,"aws:s3/bucketOwnershipControls:BucketOwnershipControls":0,"aws:s3/bucketPolicy:BucketPolicy":0,"aws:s3/bucketPublicAccessBlock:BucketPublicAccessBlock":0,"aws:s3/bucketReplicationConfig:BucketReplicationConfig":0,"aws:s3/bucketRequestPaymentConfigurationV2:BucketRequestPaymentConfigurationV2":0,"aws:s3/bucketServerSideEncryptionConfigurationV2:BucketServerSideEncryptionConfigurationV2":0,"aws:s3/bucketV2:BucketV2":0,"aws:s3/bucketVersioningV2:BucketVersioningV2":0,"aws:s3/bucketWebsiteConfigurationV2:BucketWebsiteConfigurationV2":0,"aws:s3/directoryBucket:DirectoryBucket":1,"aws:s3/inventory:Inventory":0,"aws:s3/objectCopy:ObjectCopy":0,"aws:s3control/accessGrant:AccessGrant":1,"aws:s3control/accessGrantsInstance:AccessGrantsInstance":1,"aws:s3control/accessGrantsInstanceResourcePolicy:AccessGrantsInstanceResourcePolicy":1,"aws:s3control/accessGrantsLocation:AccessGrantsLocation":1,"aws:s3control/accessPointPolicy:AccessPointPolicy":0,"aws:s3control/bucket:Bucket":0,"aws:s3control/bucketLifecycleConfiguration:BucketLifecycleConfiguration":0,"aws:s3control/bucketPolicy:BucketPolicy":0,"aws:s3control/multiRegionAccessPoint:MultiRegionAccessPoint":0,"aws:s3control/multiRegionAccessPointPolicy:MultiRegionAccessPointPolicy":0,"aws:s3control/objectLambdaAccessPoint:ObjectLambdaAccessPoint":0,"aws:s3control/objectLambdaAccessPointPolicy:ObjectLambdaAccessPointPolicy":0,"aws:s3control/storageLensConfiguration:StorageLensConfiguration":0,"aws:s3outposts/endpoint:Endpoint":0,"aws:s3tables/namespace:Namespace":1,"aws:s3tables/table:Table":1,"aws:s3tables/tableBucket:TableBucket":1,"aws:s3tables/tableBucketPolicy:TableBucketPolicy":1,"aws:s3tables/tablePolicy:TablePolicy":1,"aws:sagemaker/app:App":0,"aws:sagemaker/appImageConfig:AppImageConfig":0,"aws:sagemaker/codeRepository:CodeRepository":0,"aws:sagemaker/dataQualityJobDefinition:DataQualityJobDefinition":0,"aws:sagemaker/device:Device":0,"aws:sagemaker/deviceFleet:DeviceFleet":0,"aws:sagemaker/domain:Domain":0,"aws:sagemaker/endpoint:Endpoint":0,"aws:sagemaker/endpointConfiguration:EndpointConfiguration":0,"aws:sagemaker/featureGroup:FeatureGroup":0,"aws:sagemaker/flowDefinition:FlowDefinition":0,"aws:sagemaker/hub:Hub":0,"aws:sagemaker/humanTaskUI:HumanTaskUI":0,"aws:sagemaker/image:Image":0,"aws:sagemaker/imageVersion:ImageVersion":0,"aws:sagemaker/mlflowTrackingServer:MlflowTrackingServer":0,"aws:sagemaker/model:Model":0,"aws:sagemaker/modelPackageGroup:ModelPackageGroup":0,"aws:sagemaker/modelPackageGroupPolicy:ModelPackageGroupPolicy":0,"aws:sagemaker/monitoringSchedule:MonitoringSchedule":0,"aws:sagemaker/notebookInstance:NotebookInstance":0,"aws:sagemaker/notebookInstanceLifecycleConfiguration:NotebookInstanceLifecycleConfiguration":0,"aws:sagemaker/pipeline:Pipeline":0,"aws:sagemaker/project:Project":0,"aws:sagemaker/servicecatalogPortfolioStatus:ServicecatalogPortfolioStatus":0,"aws:sagemaker/space:Space":0,"aws:sagemaker/studioLifecycleConfig:StudioLifecycleConfig":0,"aws:sagemaker/userProfile:UserProfile":0,"aws:sagemaker/workforce:Workforce":0,"aws:sagemaker/workteam:Workteam":0,"aws:scheduler/schedule:Schedule":0,"aws:scheduler/scheduleGroup:ScheduleGroup":0,"aws:schemas/discoverer:Discoverer":0,"aws:schemas/registry:Registry":0,"aws:schemas/registryPolicy:RegistryPolicy":0,"aws:schemas/schema:Schema":0,"aws:secretsmanager/secret:Secret":0,"aws:secretsmanager/secretPolicy:SecretPolicy":0,"aws:secretsmanager/secretRotation:SecretRotation":0,"aws:secretsmanager/secretVersion:SecretVersion":0,"aws:securityhub/account:Account":0,"aws:securityhub/actionTarget:ActionTarget":0,"aws:securityhub/automationRule:AutomationRule":1,"aws:securityhub/configurationPolicy:ConfigurationPolicy":0,"aws:securityhub/configurationPolicyAssociation:ConfigurationPolicyAssociation":0,"aws:securityhub/findingAggregator:FindingAggregator":0,"aws:securityhub/insight:Insight":0,"aws:securityhub/inviteAccepter:InviteAccepter":0,"aws:securityhub/member:Member":0,"aws:securityhub/organizationAdminAccount:OrganizationAdminAccount":0,"aws:securityhub/organizationConfiguration:OrganizationConfiguration":0,"aws:securityhub/productSubscription:ProductSubscription":0,"aws:securityhub/standardsControl:StandardsControl":0,"aws:securityhub/standardsControlAssociation:StandardsControlAssociation":1,"aws:securityhub/standardsSubscription:StandardsSubscription":0,"aws:securitylake/awsLogSource:AwsLogSource":1,"aws:securitylake/customLogSource:CustomLogSource":1,"aws:securitylake/dataLake:DataLake":1,"aws:securitylake/subscriber:Subscriber":1,"aws:securitylake/subscriberNotification:SubscriberNotification":1,"aws:serverlessrepository/cloudFormationStack:CloudFormationStack":0,"aws:servicecatalog/appregistryApplication:AppregistryApplication":1,"aws:servicecatalog/budgetResourceAssociation:BudgetResourceAssociation":0,"aws:servicecatalog/constraint:Constraint":0,"aws:servicecatalog/organizationsAccess:OrganizationsAccess":0,"aws:servicecatalog/portfolio:Portfolio":0,"aws:servicecatalog/portfolioShare:PortfolioShare":0,"aws:servicecatalog/principalPortfolioAssociation:PrincipalPortfolioAssociation":0,"aws:servicecatalog/product:Product":0,"aws:servicecatalog/productPortfolioAssociation:ProductPortfolioAssociation":0,"aws:servicecatalog/provisionedProduct:ProvisionedProduct":0,"aws:servicecatalog/provisioningArtifact:ProvisioningArtifact":0,"aws:servicecatalog/serviceAction:ServiceAction":0,"aws:servicecatalog/tagOption:TagOption":0,"aws:servicecatalog/tagOptionResourceAssociation:TagOptionResourceAssociation":0,"aws:servicediscovery/httpNamespace:HttpNamespace":0,"aws:servicediscovery/instance:Instance":0,"aws:servicediscovery/privateDnsNamespace:PrivateDnsNamespace":0,"aws:servicediscovery/publicDnsNamespace:PublicDnsNamespace":0,"aws:servicediscovery/service:Service":0,"aws:servicequotas/serviceQuota:ServiceQuota":0,"aws:servicequotas/template:Template":1,"aws:servicequotas/templateAssociation:TemplateAssociation":1,"aws:ses/activeReceiptRuleSet:ActiveReceiptRuleSet":0,"aws:ses/configurationSet:ConfigurationSet":0,"aws:ses/domainDkim:DomainDkim":0,"aws:ses/domainIdentity:DomainIdentity":0,"aws:ses/domainIdentityVerification:DomainIdentityVerification":0,"aws:ses/emailIdentity:EmailIdentity":0,"aws:ses/eventDestination:EventDestination":0,"aws:ses/identityNotificationTopic:IdentityNotificationTopic":0,"aws:ses/identityPolicy:IdentityPolicy":0,"aws:ses/mailFrom:MailFrom":0,"aws:ses/receiptFilter:ReceiptFilter":0,"aws:ses/receiptRule:ReceiptRule":0,"aws:ses/receiptRuleSet:ReceiptRuleSet":0,"aws:ses/template:Template":0,"aws:sesv2/accountSuppressionAttributes:AccountSuppressionAttributes":1,"aws:sesv2/accountVdmAttributes:AccountVdmAttributes":0,"aws:sesv2/configurationSet:ConfigurationSet":0,"aws:sesv2/configurationSetEventDestination:ConfigurationSetEventDestination":0,"aws:sesv2/contactList:ContactList":0,"aws:sesv2/dedicatedIpAssignment:DedicatedIpAssignment":0,"aws:sesv2/dedicatedIpPool:DedicatedIpPool":0,"aws:sesv2/emailIdentity:EmailIdentity":0,"aws:sesv2/emailIdentityFeedbackAttributes:EmailIdentityFeedbackAttributes":0,"aws:sesv2/emailIdentityMailFromAttributes:EmailIdentityMailFromAttributes":0,"aws:sesv2/emailIdentityPolicy:EmailIdentityPolicy":0,"aws:sfn/activity:Activity":0,"aws:sfn/alias:Alias":0,"aws:sfn/stateMachine:StateMachine":0,"aws:shield/applicationLayerAutomaticResponse:ApplicationLayerAutomaticResponse":1,"aws:shield/drtAccessLogBucketAssociation:DrtAccessLogBucketAssociation":1,"aws:shield/drtAccessRoleArnAssociation:DrtAccessRoleArnAssociation":1,"aws:shield/proactiveEngagement:ProactiveEngagement":1,"aws:shield/protection:Protection":0,"aws:shield/protectionGroup:ProtectionGroup":0,"aws:shield/protectionHealthCheckAssociation:ProtectionHealthCheckAssociation":0,"aws:shield/subscription:Subscription":1,"aws:signer/signingJob:SigningJob":0,"aws:signer/signingProfile:SigningProfile":0,"aws:signer/signingProfilePermission:SigningProfilePermission":0,"aws:simpledb/domain:Domain":1,"aws:sns/dataProtectionPolicy:DataProtectionPolicy":0,"aws:sns/platformApplication:PlatformApplication":0,"aws:sns/smsPreferences:SmsPreferences":0,"aws:sns/topic:Topic":0,"aws:sns/topicPolicy:TopicPolicy":0,"aws:sns/topicSubscription:TopicSubscription":0,"aws:sqs/queue:Queue":0,"aws:sqs/queuePolicy:QueuePolicy":0,"aws:sqs/redriveAllowPolicy:RedriveAllowPolicy":0,"aws:sqs/redrivePolicy:RedrivePolicy":0,"aws:ssm/activation:Activation":0,"aws:ssm/association:Association":0,"aws:ssm/contactsRotation:ContactsRotation":1,"aws:ssm/defaultPatchBaseline:DefaultPatchBaseline":0,"aws:ssm/document:Document":0,"aws:ssm/maintenanceWindow:MaintenanceWindow":0,"aws:ssm/maintenanceWindowTarget:MaintenanceWindowTarget":0,"aws:ssm/maintenanceWindowTask:MaintenanceWindowTask":0,"aws:ssm/parameter:Parameter":0,"aws:ssm/patchBaseline:PatchBaseline":0,"aws:ssm/patchGroup:PatchGroup":0,"aws:ssm/quicksetupConfigurationManager:QuicksetupConfigurationManager":1,"aws:ssm/resourceDataSync:ResourceDataSync":0,"aws:ssm/serviceSetting:ServiceSetting":0,"aws:ssmcontacts/contact:Contact":0,"aws:ssmcontacts/contactChannel:ContactChannel":0,"aws:ssmcontacts/plan:Plan":0,"aws:ssmincidents/replicationSet:ReplicationSet":0,"aws:ssmincidents/responsePlan:ResponsePlan":0,"aws:ssoadmin/accountAssignment:AccountAssignment":0,"aws:ssoadmin/application:Application":1,"aws:ssoadmin/applicationAccessScope:ApplicationAccessScope":1,"aws:ssoadmin/applicationAssignment:ApplicationAssignment":1,"aws:ssoadmin/applicationAssignmentConfiguration:ApplicationAssignmentConfiguration":1,"aws:ssoadmin/customerManagedPolicyAttachment:CustomerManagedPolicyAttachment":0,"aws:ssoadmin/instanceAccessControlAttributes:InstanceAccessControlAttributes":0,"aws:ssoadmin/managedPolicyAttachment:ManagedPolicyAttachment":0,"aws:ssoadmin/permissionSet:PermissionSet":0,"aws:ssoadmin/permissionSetInlinePolicy:PermissionSetInlinePolicy":0,"aws:ssoadmin/permissionsBoundaryAttachment:PermissionsBoundaryAttachment":0,"aws:ssoadmin/trustedTokenIssuer:TrustedTokenIssuer":1,"aws:storagegateway/cache:Cache":0,"aws:storagegateway/cachesIscsiVolume:CachesIscsiVolume":0,"aws:storagegateway/fileSystemAssociation:FileSystemAssociation":0,"aws:storagegateway/gateway:Gateway":0,"aws:storagegateway/nfsFileShare:NfsFileShare":0,"aws:storagegateway/smbFileShare:SmbFileShare":0,"aws:storagegateway/storedIscsiVolume:StoredIscsiVolume":0,"aws:storagegateway/tapePool:TapePool":0,"aws:storagegateway/uploadBuffer:UploadBuffer":0,"aws:storagegateway/workingStorage:WorkingStorage":0,"aws:swf/domain:Domain":0,"aws:synthetics/canary:Canary":0,"aws:synthetics/group:Group":0,"aws:synthetics/groupAssociation:GroupAssociation":0,"aws:timestreaminfluxdb/dbInstance:DbInstance":1,"aws:timestreamwrite/database:Database":0,"aws:timestreamwrite/table:Table":0,"aws:transcribe/languageModel:LanguageModel":0,"aws:transcribe/medicalVocabulary:MedicalVocabulary":0,"aws:transcribe/vocabulary:Vocabulary":0,"aws:transcribe/vocabularyFilter:VocabularyFilter":0,"aws:transfer/access:Access":0,"aws:transfer/agreement:Agreement":0,"aws:transfer/certificate:Certificate":0,"aws:transfer/connector:Connector":0,"aws:transfer/profile:Profile":0,"aws:transfer/server:Server":0,"aws:transfer/sshKey:SshKey":0,"aws:transfer/tag:Tag":0,"aws:transfer/user:User":0,"aws:transfer/workflow:Workflow":0,"aws:verifiedaccess/endpoint:Endpoint":0,"aws:verifiedaccess/group:Group":0,"aws:verifiedaccess/instance:Instance":0,"aws:verifiedaccess/instanceLoggingConfiguration:InstanceLoggingConfiguration":0,"aws:verifiedaccess/instanceTrustProviderAttachment:InstanceTrustProviderAttachment":0,"aws:verifiedaccess/trustProvider:TrustProvider":0,"aws:verifiedpermissions/identitySource:IdentitySource":1,"aws:verifiedpermissions/policy:Policy":1,"aws:verifiedpermissions/policyStore:PolicyStore":1,"aws:verifiedpermissions/policyTemplate:PolicyTemplate":1,"aws:verifiedpermissions/schema:Schema":1,"aws:vpc/endpointPrivateDns:EndpointPrivateDns":1,"aws:vpc/endpointServicePrivateDnsVerification:EndpointServicePrivateDnsVerification":1,"aws:vpc/securityGroupEgressRule:SecurityGroupEgressRule":1,"aws:vpc/securityGroupIngressRule:SecurityGroupIngressRule":1,"aws:vpc/securityGroupVpcAssociation:SecurityGroupVpcAssociation":1,"aws:vpclattice/accessLogSubscription:AccessLogSubscription":0,"aws:vpclattice/authPolicy:AuthPolicy":0,"aws:vpclattice/listener:Listener":0,"aws:vpclattice/listenerRule:ListenerRule":0,"aws:vpclattice/resourcePolicy:ResourcePolicy":0,"aws:vpclattice/service:Service":0,"aws:vpclattice/serviceNetwork:ServiceNetwork":0,"aws:vpclattice/serviceNetworkServiceAssociation:ServiceNetworkServiceAssociation":0,"aws:vpclattice/serviceNetworkVpcAssociation:ServiceNetworkVpcAssociation":0,"aws:vpclattice/targetGroup:TargetGroup":0,"aws:vpclattice/targetGroupAttachment:TargetGroupAttachment":0,"aws:waf/byteMatchSet:ByteMatchSet":0,"aws:waf/geoMatchSet:GeoMatchSet":0,"aws:waf/ipSet:IpSet":0,"aws:waf/rateBasedRule:RateBasedRule":0,"aws:waf/regexMatchSet:RegexMatchSet":0,"aws:waf/regexPatternSet:RegexPatternSet":0,"aws:waf/rule:Rule":0,"aws:waf/ruleGroup:RuleGroup":0,"aws:waf/sizeConstraintSet:SizeConstraintSet":0,"aws:waf/sqlInjectionMatchSet:SqlInjectionMatchSet":0,"aws:waf/webAcl:WebAcl":0,"aws:waf/xssMatchSet:XssMatchSet":0,"aws:wafregional/byteMatchSet:ByteMatchSet":0,"aws:wafregional/geoMatchSet:GeoMatchSet":0,"aws:wafregional/ipSet:IpSet":0,"aws:wafregional/rateBasedRule:RateBasedRule":0,"aws:wafregional/regexMatchSet:RegexMatchSet":0,"aws:wafregional/regexPatternSet:RegexPatternSet":0,"aws:wafregional/rule:Rule":0,"aws:wafregional/ruleGroup:RuleGroup":0,"aws:wafregional/sizeConstraintSet:SizeConstraintSet":0,"aws:wafregional/sqlInjectionMatchSet:SqlInjectionMatchSet":0,"aws:wafregional/webAcl:WebAcl":0,"aws:wafregional/webAclAssociation:WebAclAssociation":0,"aws:wafregional/xssMatchSet:XssMatchSet":0,"aws:wafv2/ipSet:IpSet":0,"aws:wafv2/regexPatternSet:RegexPatternSet":0,"aws:wafv2/ruleGroup:RuleGroup":0,"aws:wafv2/webAcl:WebAcl":0,"aws:wafv2/webAclAssociation:WebAclAssociation":0,"aws:wafv2/webAclLoggingConfiguration:WebAclLoggingConfiguration":0,"aws:worklink/fleet:Fleet":0,"aws:worklink/websiteCertificateAuthorityAssociation:WebsiteCertificateAuthorityAssociation":0,"aws:workspaces/connectionAlias:ConnectionAlias":1,"aws:workspaces/directory:Directory":0,"aws:workspaces/ipGroup:IpGroup":0,"aws:workspaces/workspace:Workspace":0,"aws:xray/encryptionConfig:EncryptionConfig":0,"aws:xray/group:Group":0,"aws:xray/samplingRule:SamplingRule":0},"functions":{"aws:acm/getCertificate:getCertificate":0,"aws:acmpca/getCertificate:getCertificate":0,"aws:acmpca/getCertificateAuthority:getCertificateAuthority":0,"aws:alb/getListener:getListener":0,"aws:alb/getLoadBalancer:getLoadBalancer":0,"aws:alb/getTargetGroup:getTargetGroup":0,"aws:amp/getDefaultScraperConfiguration:getDefaultScraperConfiguration":1,"aws:amp/getWorkspace:getWorkspace":0,"aws:amp/getWorkspaces:getWorkspaces":0,"aws:apigateway/getAuthorizer:getAuthorizer":0,"aws:apigateway/getAuthorizers:getAuthorizers":0,"aws:apigateway/getDomainName:getDomainName":0,"aws:apigateway/getExport:getExport":0,"aws:apigateway/getKey:getKey":0,"aws:apigateway/getResource:getResource":0,"aws:apigateway/getRestApi:getRestApi":0,"aws:apigateway/getSdk:getSdk":0,"aws:apigateway/getVpcLink:getVpcLink":0,"aws:apigatewayv2/getApi:getApi":0,"aws:apigatewayv2/getApis:getApis":0,"aws:apigatewayv2/getExport:getExport":0,"aws:apigatewayv2/getVpcLink:getVpcLink":0,"aws:appconfig/getConfigurationProfile:getConfigurationProfile":0,"aws:appconfig/getConfigurationProfiles:getConfigurationProfiles":0,"aws:appconfig/getEnvironment:getEnvironment":0,"aws:appconfig/getEnvironments:getEnvironments":0,"aws:appintegrations/getEventIntegration:getEventIntegration":0,"aws:appmesh/getGatewayRoute:getGatewayRoute":0,"aws:appmesh/getMesh:getMesh":0,"aws:appmesh/getRoute:getRoute":0,"aws:appmesh/getVirtualGateway:getVirtualGateway":0,"aws:appmesh/getVirtualNode:getVirtualNode":0,"aws:appmesh/getVirtualRouter:getVirtualRouter":0,"aws:appmesh/getVirtualService:getVirtualService":0,"aws:apprunner/getHostedZoneId:getHostedZoneId":1,"aws:appstream/getImage:getImage":1,"aws:athena/getNamedQuery:getNamedQuery":0,"aws:auditmanager/getControl:getControl":1,"aws:auditmanager/getFramework:getFramework":1,"aws:autoscaling/getAmiIds:getAmiIds":0,"aws:autoscaling/getGroup:getGroup":0,"aws:backup/getFramework:getFramework":0,"aws:backup/getPlan:getPlan":0,"aws:backup/getReportPlan:getReportPlan":0,"aws:backup/getSelection:getSelection":0,"aws:backup/getVault:getVault":0,"aws:batch/getComputeEnvironment:getComputeEnvironment":0,"aws:batch/getJobDefinition:getJobDefinition":1,"aws:batch/getJobQueue:getJobQueue":0,"aws:batch/getSchedulingPolicy:getSchedulingPolicy":0,"aws:bedrock/getAgentAgentVersions:getAgentAgentVersions":1,"aws:bedrock/getCustomModel:getCustomModel":1,"aws:bedrock/getCustomModels:getCustomModels":1,"aws:bedrock/getInferenceProfile:getInferenceProfile":1,"aws:bedrock/getInferenceProfiles:getInferenceProfiles":1,"aws:bedrockfoundation/getModel:getModel":1,"aws:bedrockfoundation/getModels:getModels":1,"aws:budgets/getBudget:getBudget":0,"aws:chatbot/getSlackWorkspace:getSlackWorkspace":1,"aws:cloudcontrol/getResource:getResource":0,"aws:cloudformation/getCloudFormationType:getCloudFormationType":0,"aws:cloudformation/getExport:getExport":0,"aws:cloudformation/getStack:getStack":0,"aws:cloudfront/getCachePolicy:getCachePolicy":0,"aws:cloudfront/getDistribution:getDistribution":0,"aws:cloudfront/getFunction:getFunction":0,"aws:cloudfront/getLogDeliveryCanonicalUserId:getLogDeliveryCanonicalUserId":0,"aws:cloudfront/getOriginAccessControl:getOriginAccessControl":1,"aws:cloudfront/getOriginAccessIdentities:getOriginAccessIdentities":0,"aws:cloudfront/getOriginAccessIdentity:getOriginAccessIdentity":0,"aws:cloudfront/getOriginRequestPolicy:getOriginRequestPolicy":0,"aws:cloudfront/getRealtimeLogConfig:getRealtimeLogConfig":0,"aws:cloudfront/getResponseHeadersPolicy:getResponseHeadersPolicy":0,"aws:cloudhsmv2/getCluster:getCluster":0,"aws:cloudtrail/getServiceAccount:getServiceAccount":0,"aws:cloudwatch/getEventBus:getEventBus":0,"aws:cloudwatch/getEventConnection:getEventConnection":0,"aws:cloudwatch/getEventSource:getEventSource":0,"aws:cloudwatch/getLogDataProtectionPolicyDocument:getLogDataProtectionPolicyDocument":0,"aws:cloudwatch/getLogGroup:getLogGroup":0,"aws:cloudwatch/getLogGroups:getLogGroups":0,"aws:codeartifact/getAuthorizationToken:getAuthorizationToken":0,"aws:codeartifact/getRepositoryEndpoint:getRepositoryEndpoint":0,"aws:codebuild/getFleet:getFleet":0,"aws:codecatalyst/getDevEnvironment:getDevEnvironment":0,"aws:codecommit/getApprovalRuleTemplate:getApprovalRuleTemplate":0,"aws:codecommit/getRepository:getRepository":0,"aws:codeguruprofiler/getProfilingGroup:getProfilingGroup":1,"aws:codestarconnections/getConnection:getConnection":0,"aws:cognito/getIdentityPool:getIdentityPool":0,"aws:cognito/getUserGroup:getUserGroup":1,"aws:cognito/getUserGroups:getUserGroups":1,"aws:cognito/getUserPool:getUserPool":1,"aws:cognito/getUserPoolClient:getUserPoolClient":0,"aws:cognito/getUserPoolClients:getUserPoolClients":0,"aws:cognito/getUserPoolSigningCertificate:getUserPoolSigningCertificate":0,"aws:cognito/getUserPools:getUserPools":0,"aws:connect/getBotAssociation:getBotAssociation":0,"aws:connect/getContactFlow:getContactFlow":0,"aws:connect/getContactFlowModule:getContactFlowModule":0,"aws:connect/getHoursOfOperation:getHoursOfOperation":0,"aws:connect/getInstance:getInstance":0,"aws:connect/getInstanceStorageConfig:getInstanceStorageConfig":0,"aws:connect/getLambdaFunctionAssociation:getLambdaFunctionAssociation":0,"aws:connect/getPrompt:getPrompt":0,"aws:connect/getQueue:getQueue":0,"aws:connect/getQuickConnect:getQuickConnect":0,"aws:connect/getRoutingProfile:getRoutingProfile":0,"aws:connect/getSecurityProfile:getSecurityProfile":0,"aws:connect/getUser:getUser":0,"aws:connect/getUserHierarchyGroup:getUserHierarchyGroup":0,"aws:connect/getUserHierarchyStructure:getUserHierarchyStructure":0,"aws:connect/getVocabulary:getVocabulary":0,"aws:controltower/getControls:getControls":0,"aws:costexplorer/getCostCategory:getCostCategory":0,"aws:costexplorer/getTags:getTags":0,"aws:cur/getReportDefinition:getReportDefinition":0,"aws:datapipeline/getPipeline:getPipeline":0,"aws:datapipeline/getPipelineDefinition:getPipelineDefinition":0,"aws:datazone/getEnvironmentBlueprint:getEnvironmentBlueprint":1,"aws:devopsguru/getNotificationChannel:getNotificationChannel":1,"aws:devopsguru/getResourceCollection:getResourceCollection":1,"aws:directconnect/getConnection:getConnection":0,"aws:directconnect/getGateway:getGateway":0,"aws:directconnect/getLocation:getLocation":0,"aws:directconnect/getLocations:getLocations":0,"aws:directconnect/getRouterConfiguration:getRouterConfiguration":0,"aws:directoryservice/getDirectory:getDirectory":0,"aws:dms/getCertificate:getCertificate":0,"aws:dms/getEndpoint:getEndpoint":0,"aws:dms/getReplicationInstance:getReplicationInstance":0,"aws:dms/getReplicationSubnetGroup:getReplicationSubnetGroup":0,"aws:dms/getReplicationTask:getReplicationTask":0,"aws:docdb/getEngineVersion:getEngineVersion":0,"aws:docdb/getOrderableDbInstance:getOrderableDbInstance":0,"aws:dynamodb/getTable:getTable":0,"aws:dynamodb/getTableItem:getTableItem":0,"aws:ebs/getDefaultKmsKey:getDefaultKmsKey":0,"aws:ebs/getEbsVolumes:getEbsVolumes":0,"aws:ebs/getEncryptionByDefault:getEncryptionByDefault":0,"aws:ebs/getSnapshot:getSnapshot":0,"aws:ebs/getSnapshotIds:getSnapshotIds":0,"aws:ebs/getVolume:getVolume":0,"aws:ec2/getAmi:getAmi":0,"aws:ec2/getAmiIds:getAmiIds":0,"aws:ec2/getCapacityBlockOffering:getCapacityBlockOffering":1,"aws:ec2/getCoipPool:getCoipPool":0,"aws:ec2/getCoipPools:getCoipPools":0,"aws:ec2/getCustomerGateway:getCustomerGateway":0,"aws:ec2/getDedicatedHost:getDedicatedHost":0,"aws:ec2/getEips:getEips":0,"aws:ec2/getElasticIp:getElasticIp":0,"aws:ec2/getInstance:getInstance":0,"aws:ec2/getInstanceType:getInstanceType":0,"aws:ec2/getInstanceTypeOffering:getInstanceTypeOffering":0,"aws:ec2/getInstanceTypeOfferings:getInstanceTypeOfferings":0,"aws:ec2/getInstanceTypes:getInstanceTypes":0,"aws:ec2/getInstances:getInstances":0,"aws:ec2/getInternetGateway:getInternetGateway":0,"aws:ec2/getIpamPreviewNextCidr:getIpamPreviewNextCidr":0,"aws:ec2/getKeyPair:getKeyPair":0,"aws:ec2/getLaunchConfiguration:getLaunchConfiguration":0,"aws:ec2/getLaunchTemplate:getLaunchTemplate":0,"aws:ec2/getLocalGateway:getLocalGateway":0,"aws:ec2/getLocalGatewayRouteTable:getLocalGatewayRouteTable":0,"aws:ec2/getLocalGatewayRouteTables:getLocalGatewayRouteTables":0,"aws:ec2/getLocalGatewayVirtualInterface:getLocalGatewayVirtualInterface":0,"aws:ec2/getLocalGatewayVirtualInterfaceGroup:getLocalGatewayVirtualInterfaceGroup":0,"aws:ec2/getLocalGatewayVirtualInterfaceGroups:getLocalGatewayVirtualInterfaceGroups":0,"aws:ec2/getLocalGateways:getLocalGateways":0,"aws:ec2/getManagedPrefixList:getManagedPrefixList":0,"aws:ec2/getManagedPrefixLists:getManagedPrefixLists":0,"aws:ec2/getNatGateway:getNatGateway":0,"aws:ec2/getNatGateways:getNatGateways":0,"aws:ec2/getNetworkAcls:getNetworkAcls":0,"aws:ec2/getNetworkInsightsAnalysis:getNetworkInsightsAnalysis":0,"aws:ec2/getNetworkInsightsPath:getNetworkInsightsPath":0,"aws:ec2/getNetworkInterface:getNetworkInterface":0,"aws:ec2/getNetworkInterfaces:getNetworkInterfaces":0,"aws:ec2/getPrefixList:getPrefixList":0,"aws:ec2/getPublicIpv4Pool:getPublicIpv4Pool":0,"aws:ec2/getPublicIpv4Pools:getPublicIpv4Pools":0,"aws:ec2/getRoute:getRoute":0,"aws:ec2/getRouteTable:getRouteTable":0,"aws:ec2/getRouteTables:getRouteTables":0,"aws:ec2/getSecurityGroup:getSecurityGroup":0,"aws:ec2/getSecurityGroups:getSecurityGroups":0,"aws:ec2/getSerialConsoleAccess:getSerialConsoleAccess":0,"aws:ec2/getSpotDatafeedSubscription:getSpotDatafeedSubscription":1,"aws:ec2/getSpotPrice:getSpotPrice":0,"aws:ec2/getSubnet:getSubnet":0,"aws:ec2/getSubnets:getSubnets":0,"aws:ec2/getTransitGatewayRouteTables:getTransitGatewayRouteTables":0,"aws:ec2/getVpc:getVpc":0,"aws:ec2/getVpcDhcpOptions:getVpcDhcpOptions":0,"aws:ec2/getVpcEndpoint:getVpcEndpoint":0,"aws:ec2/getVpcEndpointService:getVpcEndpointService":0,"aws:ec2/getVpcIamPool:getVpcIamPool":0,"aws:ec2/getVpcIamPoolCidrs:getVpcIamPoolCidrs":0,"aws:ec2/getVpcIamPools:getVpcIamPools":0,"aws:ec2/getVpcIpamPool:getVpcIpamPool":0,"aws:ec2/getVpcIpamPoolCidrs:getVpcIpamPoolCidrs":0,"aws:ec2/getVpcIpamPools:getVpcIpamPools":0,"aws:ec2/getVpcPeeringConnection:getVpcPeeringConnection":0,"aws:ec2/getVpcPeeringConnections:getVpcPeeringConnections":0,"aws:ec2/getVpcs:getVpcs":0,"aws:ec2/getVpnGateway:getVpnGateway":0,"aws:ec2clientvpn/getEndpoint:getEndpoint":0,"aws:ec2transitgateway/getAttachment:getAttachment":0,"aws:ec2transitgateway/getAttachments:getAttachments":0,"aws:ec2transitgateway/getConnect:getConnect":0,"aws:ec2transitgateway/getConnectPeer:getConnectPeer":0,"aws:ec2transitgateway/getDirectConnectGatewayAttachment:getDirectConnectGatewayAttachment":0,"aws:ec2transitgateway/getMulticastDomain:getMulticastDomain":0,"aws:ec2transitgateway/getPeeringAttachment:getPeeringAttachment":0,"aws:ec2transitgateway/getPeeringAttachments:getPeeringAttachments":0,"aws:ec2transitgateway/getRouteTable:getRouteTable":0,"aws:ec2transitgateway/getRouteTableAssociations:getRouteTableAssociations":0,"aws:ec2transitgateway/getRouteTablePropagations:getRouteTablePropagations":0,"aws:ec2transitgateway/getRouteTableRoutes:getRouteTableRoutes":0,"aws:ec2transitgateway/getTransitGateway:getTransitGateway":0,"aws:ec2transitgateway/getVpcAttachment:getVpcAttachment":0,"aws:ec2transitgateway/getVpcAttachments:getVpcAttachments":0,"aws:ec2transitgateway/getVpnAttachment:getVpnAttachment":0,"aws:ecr/getAuthorizationToken:getAuthorizationToken":0,"aws:ecr/getCredentials:getCredentials":0,"aws:ecr/getImage:getImage":0,"aws:ecr/getLifecyclePolicyDocument:getLifecyclePolicyDocument":1,"aws:ecr/getPullThroughCacheRule:getPullThroughCacheRule":0,"aws:ecr/getRepositories:getRepositories":1,"aws:ecr/getRepository:getRepository":0,"aws:ecr/getRepositoryCreationTemplate:getRepositoryCreationTemplate":0,"aws:ecrpublic/getAuthorizationToken:getAuthorizationToken":0,"aws:ecs/getCluster:getCluster":0,"aws:ecs/getContainerDefinition:getContainerDefinition":0,"aws:ecs/getService:getService":0,"aws:ecs/getTaskDefinition:getTaskDefinition":0,"aws:ecs/getTaskExecution:getTaskExecution":0,"aws:efs/getAccessPoint:getAccessPoint":0,"aws:efs/getAccessPoints:getAccessPoints":0,"aws:efs/getFileSystem:getFileSystem":0,"aws:efs/getMountTarget:getMountTarget":0,"aws:eks/getAccessEntry:getAccessEntry":0,"aws:eks/getAddon:getAddon":0,"aws:eks/getAddonVersion:getAddonVersion":0,"aws:eks/getCluster:getCluster":0,"aws:eks/getClusterAuth:getClusterAuth":0,"aws:eks/getClusters:getClusters":0,"aws:eks/getNodeGroup:getNodeGroup":0,"aws:eks/getNodeGroups:getNodeGroups":0,"aws:elasticache/getCluster:getCluster":0,"aws:elasticache/getReplicationGroup:getReplicationGroup":0,"aws:elasticache/getReservedCacheNodeOffering:getReservedCacheNodeOffering":1,"aws:elasticache/getServerlessCache:getServerlessCache":1,"aws:elasticache/getSubnetGroup:getSubnetGroup":0,"aws:elasticache/getUser:getUser":0,"aws:elasticbeanstalk/getApplication:getApplication":0,"aws:elasticbeanstalk/getHostedZone:getHostedZone":0,"aws:elasticbeanstalk/getSolutionStack:getSolutionStack":0,"aws:elasticsearch/getDomain:getDomain":0,"aws:elb/getHostedZoneId:getHostedZoneId":0,"aws:elb/getLoadBalancer:getLoadBalancer":0,"aws:elb/getServiceAccount:getServiceAccount":0,"aws:emr/getReleaseLabels:getReleaseLabels":0,"aws:emr/getSupportedInstanceTypes:getSupportedInstanceTypes":1,"aws:emrcontainers/getVirtualCluster:getVirtualCluster":0,"aws:fsx/getOntapFileSystem:getOntapFileSystem":0,"aws:fsx/getOntapStorageVirtualMachine:getOntapStorageVirtualMachine":0,"aws:fsx/getOntapStorageVirtualMachines:getOntapStorageVirtualMachines":0,"aws:fsx/getOpenZfsSnapshot:getOpenZfsSnapshot":0,"aws:fsx/getWindowsFileSystem:getWindowsFileSystem":0,"aws:globalaccelerator/getAccelerator:getAccelerator":1,"aws:globalaccelerator/getCustomRoutingAccelerator:getCustomRoutingAccelerator":0,"aws:glue/getCatalogTable:getCatalogTable":0,"aws:glue/getConnection:getConnection":0,"aws:glue/getDataCatalogEncryptionSettings:getDataCatalogEncryptionSettings":0,"aws:glue/getRegistry:getRegistry":1,"aws:glue/getScript:getScript":0,"aws:grafana/getWorkspace:getWorkspace":0,"aws:guardduty/getDetector:getDetector":0,"aws:guardduty/getFindingIds:getFindingIds":1,"aws:iam/getAccessKeys:getAccessKeys":0,"aws:iam/getAccountAlias:getAccountAlias":0,"aws:iam/getGroup:getGroup":0,"aws:iam/getInstanceProfile:getInstanceProfile":0,"aws:iam/getInstanceProfiles:getInstanceProfiles":0,"aws:iam/getOpenIdConnectProvider:getOpenIdConnectProvider":0,"aws:iam/getPolicy:getPolicy":0,"aws:iam/getPolicyDocument:getPolicyDocument":0,"aws:iam/getPrincipalPolicySimulation:getPrincipalPolicySimulation":0,"aws:iam/getRole:getRole":0,"aws:iam/getRoles:getRoles":0,"aws:iam/getSamlProvider:getSamlProvider":0,"aws:iam/getServerCertificate:getServerCertificate":0,"aws:iam/getSessionContext:getSessionContext":0,"aws:iam/getUser:getUser":0,"aws:iam/getUserSshKey:getUserSshKey":0,"aws:iam/getUsers:getUsers":0,"aws:identitystore/getGroup:getGroup":0,"aws:identitystore/getGroups:getGroups":1,"aws:identitystore/getUser:getUser":0,"aws:imagebuilder/getComponent:getComponent":0,"aws:imagebuilder/getComponents:getComponents":0,"aws:imagebuilder/getContainerRecipe:getContainerRecipe":0,"aws:imagebuilder/getContainerRecipes:getContainerRecipes":0,"aws:imagebuilder/getDistributionConfiguration:getDistributionConfiguration":0,"aws:imagebuilder/getDistributionConfigurations:getDistributionConfigurations":0,"aws:imagebuilder/getImage:getImage":0,"aws:imagebuilder/getImagePipeline:getImagePipeline":0,"aws:imagebuilder/getImagePipelines:getImagePipelines":0,"aws:imagebuilder/getImageRecipe:getImageRecipe":0,"aws:imagebuilder/getImageRecipes:getImageRecipes":0,"aws:imagebuilder/getInfrastructureConfiguration:getInfrastructureConfiguration":0,"aws:imagebuilder/getInfrastructureConfigurations:getInfrastructureConfigurations":0,"aws:index/getArn:getArn":1,"aws:index/getAvailabilityZone:getAvailabilityZone":0,"aws:index/getAvailabilityZones:getAvailabilityZones":0,"aws:index/getBillingServiceAccount:getBillingServiceAccount":1,"aws:index/getCallerIdentity:getCallerIdentity":1,"aws:index/getDefaultTags:getDefaultTags":1,"aws:index/getIpRanges:getIpRanges":1,"aws:index/getPartition:getPartition":1,"aws:index/getRegion:getRegion":1,"aws:index/getRegions:getRegions":1,"aws:index/getService:getService":1,"aws:index/getServicePrincipal:getServicePrincipal":1,"aws:inspector/getRulesPackages:getRulesPackages":0,"aws:iot/getEndpoint:getEndpoint":0,"aws:iot/getRegistrationCode:getRegistrationCode":0,"aws:ivs/getStreamKey:getStreamKey":0,"aws:kendra/getExperience:getExperience":0,"aws:kendra/getFaq:getFaq":0,"aws:kendra/getIndex:getIndex":0,"aws:kendra/getQuerySuggestionsBlockList:getQuerySuggestionsBlockList":0,"aws:kendra/getThesaurus:getThesaurus":0,"aws:kinesis/getFirehoseDeliveryStream:getFirehoseDeliveryStream":0,"aws:kinesis/getStream:getStream":0,"aws:kinesis/getStreamConsumer:getStreamConsumer":0,"aws:kms/getAlias:getAlias":0,"aws:kms/getCipherText:getCipherText":0,"aws:kms/getCustomKeyStore:getCustomKeyStore":0,"aws:kms/getKey:getKey":0,"aws:kms/getPublicKey:getPublicKey":0,"aws:kms/getSecret:getSecret":0,"aws:kms/getSecrets:getSecrets":0,"aws:lakeformation/getDataLakeSettings:getDataLakeSettings":0,"aws:lakeformation/getPermissions:getPermissions":0,"aws:lakeformation/getResource:getResource":0,"aws:lambda/getAlias:getAlias":0,"aws:lambda/getCodeSigningConfig:getCodeSigningConfig":0,"aws:lambda/getFunction:getFunction":0,"aws:lambda/getFunctionUrl:getFunctionUrl":0,"aws:lambda/getFunctions:getFunctions":0,"aws:lambda/getInvocation:getInvocation":0,"aws:lambda/getLayerVersion:getLayerVersion":0,"aws:lb/getHostedZoneId:getHostedZoneId":0,"aws:lb/getLbs:getLbs":0,"aws:lb/getListener:getListener":0,"aws:lb/getListenerRule:getListenerRule":1,"aws:lb/getLoadBalancer:getLoadBalancer":0,"aws:lb/getTargetGroup:getTargetGroup":0,"aws:lb/getTrustStore:getTrustStore":0,"aws:lex/getBot:getBot":0,"aws:lex/getBotAlias:getBotAlias":0,"aws:lex/getIntent:getIntent":0,"aws:lex/getSlotType:getSlotType":0,"aws:licensemanager/getLicenseGrants:getLicenseGrants":0,"aws:licensemanager/getReceivedLicense:getReceivedLicense":0,"aws:licensemanager/getReceivedLicenses:getReceivedLicenses":0,"aws:location/getGeofenceCollection:getGeofenceCollection":0,"aws:location/getMap:getMap":0,"aws:location/getPlaceIndex:getPlaceIndex":0,"aws:location/getRouteCalculator:getRouteCalculator":0,"aws:location/getTracker:getTracker":0,"aws:location/getTrackerAssociation:getTrackerAssociation":0,"aws:location/getTrackerAssociations:getTrackerAssociations":0,"aws:mediaconvert/getQueue:getQueue":0,"aws:medialive/getInput:getInput":1,"aws:memorydb/getAcl:getAcl":0,"aws:memorydb/getCluster:getCluster":0,"aws:memorydb/getParameterGroup:getParameterGroup":0,"aws:memorydb/getSnapshot:getSnapshot":0,"aws:memorydb/getSubnetGroup:getSubnetGroup":0,"aws:memorydb/getUser:getUser":0,"aws:mq/getBroker:getBroker":0,"aws:mq/getBrokerEngineTypes:getBrokerEngineTypes":0,"aws:mq/getInstanceTypeOfferings:getInstanceTypeOfferings":0,"aws:msk/getBootstrapBrokers:getBootstrapBrokers":0,"aws:msk/getBrokerNodes:getBrokerNodes":0,"aws:msk/getCluster:getCluster":0,"aws:msk/getConfiguration:getConfiguration":0,"aws:msk/getKafkaVersion:getKafkaVersion":0,"aws:msk/getVpcConnection:getVpcConnection":0,"aws:mskconnect/getConnector:getConnector":0,"aws:mskconnect/getCustomPlugin:getCustomPlugin":0,"aws:mskconnect/getWorkerConfiguration:getWorkerConfiguration":0,"aws:neptune/getEngineVersion:getEngineVersion":0,"aws:neptune/getOrderableDbInstance:getOrderableDbInstance":0,"aws:networkfirewall/getFirewall:getFirewall":0,"aws:networkfirewall/getFirewallPolicy:getFirewallPolicy":0,"aws:networkfirewall/getResourcePolicy:getResourcePolicy":0,"aws:networkmanager/getConnection:getConnection":0,"aws:networkmanager/getConnections:getConnections":0,"aws:networkmanager/getCoreNetworkPolicyDocument:getCoreNetworkPolicyDocument":0,"aws:networkmanager/getDevice:getDevice":0,"aws:networkmanager/getDevices:getDevices":0,"aws:networkmanager/getGlobalNetwork:getGlobalNetwork":0,"aws:networkmanager/getGlobalNetworks:getGlobalNetworks":0,"aws:networkmanager/getLink:getLink":0,"aws:networkmanager/getLinks:getLinks":0,"aws:networkmanager/getSite:getSite":0,"aws:networkmanager/getSites:getSites":0,"aws:oam/getLink:getLink":0,"aws:oam/getLinks:getLinks":0,"aws:oam/getSink:getSink":0,"aws:oam/getSinks:getSinks":0,"aws:opensearch/getDomain:getDomain":0,"aws:opensearch/getServerlessAccessPolicy:getServerlessAccessPolicy":1,"aws:opensearch/getServerlessCollection:getServerlessCollection":1,"aws:opensearch/getServerlessLifecyclePolicy:getServerlessLifecyclePolicy":1,"aws:opensearch/getServerlessSecurityConfig:getServerlessSecurityConfig":1,"aws:opensearch/getServerlessSecurityPolicy:getServerlessSecurityPolicy":0,"aws:opensearch/getServerlessVpcEndpoint:getServerlessVpcEndpoint":0,"aws:organizations/getDelegatedAdministrators:getDelegatedAdministrators":0,"aws:organizations/getDelegatedServices:getDelegatedServices":0,"aws:organizations/getOrganization:getOrganization":0,"aws:organizations/getOrganizationalUnit:getOrganizationalUnit":0,"aws:organizations/getOrganizationalUnitChildAccounts:getOrganizationalUnitChildAccounts":0,"aws:organizations/getOrganizationalUnitDescendantAccounts:getOrganizationalUnitDescendantAccounts":0,"aws:organizations/getOrganizationalUnitDescendantOrganizationalUnits:getOrganizationalUnitDescendantOrganizationalUnits":0,"aws:organizations/getOrganizationalUnits:getOrganizationalUnits":0,"aws:organizations/getPolicies:getPolicies":0,"aws:organizations/getPoliciesForTarget:getPoliciesForTarget":0,"aws:organizations/getPolicy:getPolicy":0,"aws:organizations/getResourceTags:getResourceTags":0,"aws:outposts/getAsset:getAsset":0,"aws:outposts/getAssets:getAssets":0,"aws:outposts/getOutpost:getOutpost":0,"aws:outposts/getOutpostInstanceType:getOutpostInstanceType":0,"aws:outposts/getOutpostInstanceTypes:getOutpostInstanceTypes":0,"aws:outposts/getOutposts:getOutposts":0,"aws:outposts/getSite:getSite":0,"aws:outposts/getSites:getSites":0,"aws:polly/getVoices:getVoices":1,"aws:pricing/getProduct:getProduct":0,"aws:qldb/getLedger:getLedger":0,"aws:quicksight/getAnalysis:getAnalysis":0,"aws:quicksight/getDataSet:getDataSet":0,"aws:quicksight/getQuicksightAnalysis:getQuicksightAnalysis":0,"aws:quicksight/getQuicksightGroup:getQuicksightGroup":0,"aws:quicksight/getQuicksightUser:getQuicksightUser":0,"aws:quicksight/getTheme:getTheme":0,"aws:ram/getResourceShare:getResourceShare":0,"aws:rds/getCertificate:getCertificate":0,"aws:rds/getCluster:getCluster":0,"aws:rds/getClusterParameterGroup:getClusterParameterGroup":1,"aws:rds/getClusterSnapshot:getClusterSnapshot":0,"aws:rds/getClusters:getClusters":0,"aws:rds/getEngineVersion:getEngineVersion":0,"aws:rds/getEventCategories:getEventCategories":0,"aws:rds/getInstance:getInstance":0,"aws:rds/getInstances:getInstances":0,"aws:rds/getOrderableDbInstance:getOrderableDbInstance":0,"aws:rds/getParameterGroup:getParameterGroup":0,"aws:rds/getProxy:getProxy":0,"aws:rds/getReservedInstanceOffering:getReservedInstanceOffering":0,"aws:rds/getSnapshot:getSnapshot":0,"aws:rds/getSubnetGroup:getSubnetGroup":0,"aws:redshift/getCluster:getCluster":0,"aws:redshift/getClusterCredentials:getClusterCredentials":0,"aws:redshift/getDataShares:getDataShares":1,"aws:redshift/getOrderableCluster:getOrderableCluster":0,"aws:redshift/getProducerDataShares:getProducerDataShares":1,"aws:redshift/getServiceAccount:getServiceAccount":0,"aws:redshift/getSubnetGroup:getSubnetGroup":0,"aws:redshiftserverless/getCredentials:getCredentials":0,"aws:redshiftserverless/getNamespace:getNamespace":0,"aws:redshiftserverless/getWorkgroup:getWorkgroup":0,"aws:resourceexplorer/search:Search":1,"aws:resourcegroupstaggingapi/getResources:getResources":0,"aws:route53/getDelegationSet:getDelegationSet":0,"aws:route53/getProfilesProfiles:getProfilesProfiles":1,"aws:route53/getQueryLogConfig:getQueryLogConfig":0,"aws:route53/getResolverEndpoint:getResolverEndpoint":0,"aws:route53/getResolverFirewallConfig:getResolverFirewallConfig":0,"aws:route53/getResolverFirewallDomainList:getResolverFirewallDomainList":0,"aws:route53/getResolverFirewallRuleGroup:getResolverFirewallRuleGroup":0,"aws:route53/getResolverFirewallRuleGroupAssociation:getResolverFirewallRuleGroupAssociation":0,"aws:route53/getResolverFirewallRules:getResolverFirewallRules":0,"aws:route53/getResolverRule:getResolverRule":0,"aws:route53/getResolverRules:getResolverRules":0,"aws:route53/getTrafficPolicyDocument:getTrafficPolicyDocument":0,"aws:route53/getZone:getZone":0,"aws:route53/getZones:getZones":1,"aws:s3/getAccountPublicAccessBlock:getAccountPublicAccessBlock":0,"aws:s3/getBucket:getBucket":0,"aws:s3/getBucketObject:getBucketObject":0,"aws:s3/getBucketObjects:getBucketObjects":0,"aws:s3/getBucketPolicy:getBucketPolicy":0,"aws:s3/getCanonicalUserId:getCanonicalUserId":0,"aws:s3/getDirectoryBuckets:getDirectoryBuckets":1,"aws:s3/getObject:getObject":0,"aws:s3/getObjects:getObjects":0,"aws:s3control/getMultiRegionAccessPoint:getMultiRegionAccessPoint":0,"aws:sagemaker/getPrebuiltEcrImage:getPrebuiltEcrImage":0,"aws:secretsmanager/getRandomPassword:getRandomPassword":0,"aws:secretsmanager/getSecret:getSecret":0,"aws:secretsmanager/getSecretRotation:getSecretRotation":0,"aws:secretsmanager/getSecretVersion:getSecretVersion":0,"aws:secretsmanager/getSecretVersions:getSecretVersions":1,"aws:secretsmanager/getSecrets:getSecrets":0,"aws:securityhub/getStandardsControlAssociations:getStandardsControlAssociations":1,"aws:serverlessrepository/getApplication:getApplication":0,"aws:servicecatalog/getAppregistryApplication:getAppregistryApplication":1,"aws:servicecatalog/getConstraint:getConstraint":0,"aws:servicecatalog/getLaunchPaths:getLaunchPaths":0,"aws:servicecatalog/getPortfolio:getPortfolio":0,"aws:servicecatalog/getPortfolioConstraints:getPortfolioConstraints":0,"aws:servicecatalog/getProduct:getProduct":0,"aws:servicecatalog/getProvisioningArtifacts:getProvisioningArtifacts":0,"aws:servicediscovery/getDnsNamespace:getDnsNamespace":0,"aws:servicediscovery/getHttpNamespace:getHttpNamespace":0,"aws:servicediscovery/getService:getService":0,"aws:servicequotas/getService:getService":0,"aws:servicequotas/getServiceQuota:getServiceQuota":0,"aws:servicequotas/getTemplates:getTemplates":1,"aws:ses/getActiveReceiptRuleSet:getActiveReceiptRuleSet":0,"aws:ses/getDomainIdentity:getDomainIdentity":0,"aws:ses/getEmailIdentity:getEmailIdentity":0,"aws:sesv2/getConfigurationSet:getConfigurationSet":0,"aws:sesv2/getDedicatedIpPool:getDedicatedIpPool":0,"aws:sesv2/getEmailIdentity:getEmailIdentity":0,"aws:sesv2/getEmailIdentityMailFromAttributes:getEmailIdentityMailFromAttributes":0,"aws:sfn/getActivity:getActivity":0,"aws:sfn/getAlias:getAlias":0,"aws:sfn/getStateMachine:getStateMachine":0,"aws:sfn/getStateMachineVersions:getStateMachineVersions":0,"aws:shield/getProtection:getProtection":1,"aws:signer/getSigningJob:getSigningJob":0,"aws:signer/getSigningProfile:getSigningProfile":0,"aws:sns/getTopic:getTopic":0,"aws:sqs/getQueue:getQueue":0,"aws:sqs/getQueues:getQueues":0,"aws:ssm/getContactsRotation:getContactsRotation":1,"aws:ssm/getDocument:getDocument":0,"aws:ssm/getInstances:getInstances":0,"aws:ssm/getMaintenanceWindows:getMaintenanceWindows":0,"aws:ssm/getParameter:getParameter":0,"aws:ssm/getParametersByPath:getParametersByPath":0,"aws:ssm/getPatchBaseline:getPatchBaseline":0,"aws:ssm/getPatchBaselines:getPatchBaselines":1,"aws:ssmcontacts/getContact:getContact":0,"aws:ssmcontacts/getContactChannel:getContactChannel":0,"aws:ssmcontacts/getPlan:getPlan":0,"aws:ssmincidents/getReplicationSet:getReplicationSet":0,"aws:ssmincidents/getResponsePlan:getResponsePlan":0,"aws:ssoadmin/getApplication:getApplication":1,"aws:ssoadmin/getApplicationAssignments:getApplicationAssignments":1,"aws:ssoadmin/getApplicationProviders:getApplicationProviders":1,"aws:ssoadmin/getInstances:getInstances":0,"aws:ssoadmin/getPermissionSet:getPermissionSet":0,"aws:ssoadmin/getPermissionSets:getPermissionSets":1,"aws:ssoadmin/getPrincipalApplicationAssignments:getPrincipalApplicationAssignments":1,"aws:storagegateway/getLocalDisk:getLocalDisk":0,"aws:synthetics/getRuntimeVersion:getRuntimeVersion":1,"aws:synthetics/getRuntimeVersions:getRuntimeVersions":1,"aws:timestreamwrite/getDatabase:getDatabase":1,"aws:timestreamwrite/getTable:getTable":1,"aws:transfer/getConnector:getConnector":1,"aws:transfer/getServer:getServer":0,"aws:verifiedpermissions/getPolicyStore:getPolicyStore":1,"aws:vpc/getSecurityGroupRule:getSecurityGroupRule":1,"aws:vpc/getSecurityGroupRules:getSecurityGroupRules":1,"aws:vpclattice/getAuthPolicy:getAuthPolicy":0,"aws:vpclattice/getListener:getListener":0,"aws:vpclattice/getResourcePolicy:getResourcePolicy":0,"aws:vpclattice/getService:getService":0,"aws:vpclattice/getServiceNetwork:getServiceNetwork":0,"aws:waf/getIpset:getIpset":0,"aws:waf/getRateBasedRule:getRateBasedRule":0,"aws:waf/getRule:getRule":0,"aws:waf/getSubscribedRuleGroup:getSubscribedRuleGroup":0,"aws:waf/getWebAcl:getWebAcl":0,"aws:wafregional/getIpset:getIpset":0,"aws:wafregional/getRateBasedMod:getRateBasedMod":0,"aws:wafregional/getRule:getRule":0,"aws:wafregional/getSubscribedRuleGroup:getSubscribedRuleGroup":0,"aws:wafregional/getWebAcl:getWebAcl":0,"aws:wafv2/getIpSet:getIpSet":0,"aws:wafv2/getRegexPatternSet:getRegexPatternSet":0,"aws:wafv2/getRuleGroup:getRuleGroup":0,"aws:wafv2/getWebAcl:getWebAcl":0,"aws:workspaces/getBundle:getBundle":0,"aws:workspaces/getDirectory:getDirectory":0,"aws:workspaces/getImage:getImage":0,"aws:workspaces/getWorkspace:getWorkspace":0}}} \ No newline at end of file +{"auto-settings":{"resources":{"aws_batch_job_definition":{"maxItemsOneOverrides":{"eks_properties.$.pod_properties.$.containers":true}},"aws_eks_cluster":{"maxItemsOneOverrides":{"certificate_authority":true}},"aws_lexv2models_slot":{"maxItemsOneOverrides":{"value_elicitation_setting.$.prompt_specification.$.message_group.$.message.$.custom_payload":false,"value_elicitation_setting.$.prompt_specification.$.message_group.$.variation.$.custom_payload":false,"value_elicitation_setting.$.wait_and_continue_specification.$.continue_response.$.message_group.$.message.$.custom_payload":false,"value_elicitation_setting.$.wait_and_continue_specification.$.continue_response.$.message_group.$.variation.$.custom_payload":false,"value_elicitation_setting.$.wait_and_continue_specification.$.still_waiting_response.$.message_group.$.message.$.custom_payload":false,"value_elicitation_setting.$.wait_and_continue_specification.$.still_waiting_response.$.message_group.$.variation.$.custom_payload":false,"value_elicitation_setting.$.wait_and_continue_specification.$.waiting_response.$.message_group.$.message.$.custom_payload":false,"value_elicitation_setting.$.wait_and_continue_specification.$.waiting_response.$.message_group.$.variation.$.custom_payload":false}},"aws_lexv2models_slot_type":{"maxItemsOneOverrides":{"composite_slot_type_setting":true,"external_source_setting":true,"external_source_setting.$.grammar_slot_type_setting":true,"external_source_setting.$.grammar_slot_type_setting.$.source":true,"slot_type_values":true}},"aws_sagemaker_app_image_config":{"maxItemsOneOverrides":{"kernel_gateway_image_config.$.kernel_spec":true}},"aws_securitylake_subscriber":{"maxItemsOneOverrides":{"source":true}},"aws_wafv2_web_acl":{"maxItemsOneOverrides":{"association_config.$.request_body.$.api_gateway":false,"association_config.$.request_body.$.app_runner_service":false,"association_config.$.request_body.$.cloudfront":false,"association_config.$.request_body.$.cognito_user_pool":false,"association_config.$.request_body.$.verified_access_instance":false}}},"datasources":{"aws_efs_file_system":{"maxItemsOneOverrides":{"lifecycle_policy":true}},"aws_quicksight_analysis":{"renames":["aws:quicksight/getAnalysis:getAnalysis"]},"aws_vpc_ipam_pool":{"renames":["aws:ec2/getVpcIamPool:getVpcIamPool"]},"aws_vpc_ipam_pool_cidrs":{"renames":["aws:ec2/getVpcIamPoolCidrs:getVpcIamPoolCidrs"]},"aws_vpc_ipam_pools":{"renames":["aws:ec2/getVpcIamPools:getVpcIamPools"]}}},"mux":{"resources":{"aws:accessanalyzer/analyzer:Analyzer":0,"aws:accessanalyzer/archiveRule:ArchiveRule":0,"aws:account/alternativeContact:AlternativeContact":0,"aws:account/primaryContact:PrimaryContact":0,"aws:account/region:Region":0,"aws:acm/certificate:Certificate":0,"aws:acm/certificateValidation:CertificateValidation":0,"aws:acmpca/certificate:Certificate":0,"aws:acmpca/certificateAuthority:CertificateAuthority":0,"aws:acmpca/certificateAuthorityCertificate:CertificateAuthorityCertificate":0,"aws:acmpca/permission:Permission":0,"aws:acmpca/policy:Policy":0,"aws:alb/listener:Listener":0,"aws:alb/listenerCertificate:ListenerCertificate":0,"aws:alb/listenerRule:ListenerRule":0,"aws:alb/loadBalancer:LoadBalancer":0,"aws:alb/targetGroup:TargetGroup":0,"aws:alb/targetGroupAttachment:TargetGroupAttachment":0,"aws:amp/alertManagerDefinition:AlertManagerDefinition":0,"aws:amp/ruleGroupNamespace:RuleGroupNamespace":0,"aws:amp/scraper:Scraper":1,"aws:amp/workspace:Workspace":0,"aws:amplify/app:App":0,"aws:amplify/backendEnvironment:BackendEnvironment":0,"aws:amplify/branch:Branch":0,"aws:amplify/domainAssociation:DomainAssociation":0,"aws:amplify/webhook:Webhook":0,"aws:apigateway/account:Account":1,"aws:apigateway/apiKey:ApiKey":0,"aws:apigateway/authorizer:Authorizer":0,"aws:apigateway/basePathMapping:BasePathMapping":0,"aws:apigateway/clientCertificate:ClientCertificate":0,"aws:apigateway/deployment:Deployment":0,"aws:apigateway/documentationPart:DocumentationPart":0,"aws:apigateway/documentationVersion:DocumentationVersion":0,"aws:apigateway/domainName:DomainName":0,"aws:apigateway/integration:Integration":0,"aws:apigateway/integrationResponse:IntegrationResponse":0,"aws:apigateway/method:Method":0,"aws:apigateway/methodResponse:MethodResponse":0,"aws:apigateway/methodSettings:MethodSettings":0,"aws:apigateway/model:Model":0,"aws:apigateway/requestValidator:RequestValidator":0,"aws:apigateway/resource:Resource":0,"aws:apigateway/response:Response":0,"aws:apigateway/restApi:RestApi":0,"aws:apigateway/restApiPolicy:RestApiPolicy":0,"aws:apigateway/stage:Stage":0,"aws:apigateway/usagePlan:UsagePlan":0,"aws:apigateway/usagePlanKey:UsagePlanKey":0,"aws:apigateway/vpcLink:VpcLink":0,"aws:apigatewayv2/api:Api":0,"aws:apigatewayv2/apiMapping:ApiMapping":0,"aws:apigatewayv2/authorizer:Authorizer":0,"aws:apigatewayv2/deployment:Deployment":0,"aws:apigatewayv2/domainName:DomainName":0,"aws:apigatewayv2/integration:Integration":0,"aws:apigatewayv2/integrationResponse:IntegrationResponse":0,"aws:apigatewayv2/model:Model":0,"aws:apigatewayv2/route:Route":0,"aws:apigatewayv2/routeResponse:RouteResponse":0,"aws:apigatewayv2/stage:Stage":0,"aws:apigatewayv2/vpcLink:VpcLink":0,"aws:appautoscaling/policy:Policy":0,"aws:appautoscaling/scheduledAction:ScheduledAction":0,"aws:appautoscaling/target:Target":0,"aws:appconfig/application:Application":0,"aws:appconfig/configurationProfile:ConfigurationProfile":0,"aws:appconfig/deployment:Deployment":0,"aws:appconfig/deploymentStrategy:DeploymentStrategy":0,"aws:appconfig/environment:Environment":1,"aws:appconfig/eventIntegration:EventIntegration":0,"aws:appconfig/extension:Extension":0,"aws:appconfig/extensionAssociation:ExtensionAssociation":0,"aws:appconfig/hostedConfigurationVersion:HostedConfigurationVersion":0,"aws:appfabric/appAuthorization:AppAuthorization":1,"aws:appfabric/appAuthorizationConnection:AppAuthorizationConnection":1,"aws:appfabric/appBundle:AppBundle":1,"aws:appfabric/ingestion:Ingestion":1,"aws:appfabric/ingestionDestination:IngestionDestination":1,"aws:appflow/connectorProfile:ConnectorProfile":0,"aws:appflow/flow:Flow":0,"aws:appintegrations/dataIntegration:DataIntegration":0,"aws:applicationinsights/application:Application":0,"aws:appmesh/gatewayRoute:GatewayRoute":0,"aws:appmesh/mesh:Mesh":0,"aws:appmesh/route:Route":0,"aws:appmesh/virtualGateway:VirtualGateway":0,"aws:appmesh/virtualNode:VirtualNode":0,"aws:appmesh/virtualRouter:VirtualRouter":0,"aws:appmesh/virtualService:VirtualService":0,"aws:apprunner/autoScalingConfigurationVersion:AutoScalingConfigurationVersion":0,"aws:apprunner/connection:Connection":0,"aws:apprunner/customDomainAssociation:CustomDomainAssociation":0,"aws:apprunner/defaultAutoScalingConfigurationVersion:DefaultAutoScalingConfigurationVersion":1,"aws:apprunner/deployment:Deployment":1,"aws:apprunner/observabilityConfiguration:ObservabilityConfiguration":0,"aws:apprunner/service:Service":0,"aws:apprunner/vpcConnector:VpcConnector":0,"aws:apprunner/vpcIngressConnection:VpcIngressConnection":0,"aws:appstream/directoryConfig:DirectoryConfig":0,"aws:appstream/fleet:Fleet":0,"aws:appstream/fleetStackAssociation:FleetStackAssociation":0,"aws:appstream/imageBuilder:ImageBuilder":0,"aws:appstream/stack:Stack":0,"aws:appstream/user:User":0,"aws:appstream/userStackAssociation:UserStackAssociation":0,"aws:appsync/apiCache:ApiCache":0,"aws:appsync/apiKey:ApiKey":0,"aws:appsync/dataSource:DataSource":0,"aws:appsync/domainName:DomainName":0,"aws:appsync/domainNameApiAssociation:DomainNameApiAssociation":0,"aws:appsync/function:Function":0,"aws:appsync/graphQLApi:GraphQLApi":0,"aws:appsync/resolver:Resolver":0,"aws:appsync/sourceApiAssociation:SourceApiAssociation":1,"aws:appsync/type:Type":0,"aws:athena/dataCatalog:DataCatalog":0,"aws:athena/database:Database":0,"aws:athena/namedQuery:NamedQuery":0,"aws:athena/preparedStatement:PreparedStatement":0,"aws:athena/workgroup:Workgroup":0,"aws:auditmanager/accountRegistration:AccountRegistration":1,"aws:auditmanager/assessment:Assessment":1,"aws:auditmanager/assessmentDelegation:AssessmentDelegation":1,"aws:auditmanager/assessmentReport:AssessmentReport":1,"aws:auditmanager/control:Control":1,"aws:auditmanager/framework:Framework":1,"aws:auditmanager/frameworkShare:FrameworkShare":1,"aws:auditmanager/organizationAdminAccountRegistration:OrganizationAdminAccountRegistration":1,"aws:autoscaling/attachment:Attachment":0,"aws:autoscaling/group:Group":0,"aws:autoscaling/lifecycleHook:LifecycleHook":0,"aws:autoscaling/notification:Notification":0,"aws:autoscaling/policy:Policy":0,"aws:autoscaling/schedule:Schedule":0,"aws:autoscaling/tag:Tag":0,"aws:autoscaling/trafficSourceAttachment:TrafficSourceAttachment":0,"aws:autoscalingplans/scalingPlan:ScalingPlan":0,"aws:backup/framework:Framework":0,"aws:backup/globalSettings:GlobalSettings":0,"aws:backup/logicallyAirGappedVault:LogicallyAirGappedVault":1,"aws:backup/plan:Plan":0,"aws:backup/regionSettings:RegionSettings":0,"aws:backup/reportPlan:ReportPlan":0,"aws:backup/restoreTestingPlan:RestoreTestingPlan":1,"aws:backup/restoreTestingSelection:RestoreTestingSelection":1,"aws:backup/selection:Selection":0,"aws:backup/vault:Vault":0,"aws:backup/vaultLockConfiguration:VaultLockConfiguration":0,"aws:backup/vaultNotifications:VaultNotifications":0,"aws:backup/vaultPolicy:VaultPolicy":0,"aws:batch/computeEnvironment:ComputeEnvironment":0,"aws:batch/jobDefinition:JobDefinition":0,"aws:batch/jobQueue:JobQueue":1,"aws:batch/schedulingPolicy:SchedulingPolicy":0,"aws:bcmdata/export:Export":1,"aws:bedrock/agentAgent:AgentAgent":1,"aws:bedrock/agentAgentActionGroup:AgentAgentActionGroup":1,"aws:bedrock/agentAgentAlias:AgentAgentAlias":1,"aws:bedrock/agentAgentKnowledgeBaseAssociation:AgentAgentKnowledgeBaseAssociation":1,"aws:bedrock/agentDataSource:AgentDataSource":1,"aws:bedrock/agentKnowledgeBase:AgentKnowledgeBase":1,"aws:bedrock/customModel:CustomModel":1,"aws:bedrock/guardrail:Guardrail":1,"aws:bedrock/guardrailVersion:GuardrailVersion":1,"aws:bedrock/inferenceProfile:InferenceProfile":1,"aws:bedrock/provisionedModelThroughput:ProvisionedModelThroughput":1,"aws:bedrockmodel/invocationLoggingConfiguration:InvocationLoggingConfiguration":1,"aws:budgets/budget:Budget":0,"aws:budgets/budgetAction:BudgetAction":0,"aws:cfg/aggregateAuthorization:AggregateAuthorization":0,"aws:cfg/configurationAggregator:ConfigurationAggregator":0,"aws:cfg/conformancePack:ConformancePack":0,"aws:cfg/deliveryChannel:DeliveryChannel":0,"aws:cfg/organizationConformancePack:OrganizationConformancePack":0,"aws:cfg/organizationCustomPolicyRule:OrganizationCustomPolicyRule":0,"aws:cfg/organizationCustomRule:OrganizationCustomRule":0,"aws:cfg/organizationManagedRule:OrganizationManagedRule":0,"aws:cfg/recorder:Recorder":0,"aws:cfg/recorderStatus:RecorderStatus":0,"aws:cfg/remediationConfiguration:RemediationConfiguration":0,"aws:cfg/retentionConfiguration:RetentionConfiguration":1,"aws:cfg/rule:Rule":0,"aws:chatbot/slackChannelConfiguration:SlackChannelConfiguration":1,"aws:chatbot/teamsChannelConfiguration:TeamsChannelConfiguration":1,"aws:chime/sdkvoiceGlobalSettings:SdkvoiceGlobalSettings":0,"aws:chime/sdkvoiceSipMediaApplication:SdkvoiceSipMediaApplication":0,"aws:chime/sdkvoiceSipRule:SdkvoiceSipRule":0,"aws:chime/sdkvoiceVoiceProfileDomain:SdkvoiceVoiceProfileDomain":0,"aws:chime/voiceConnector:VoiceConnector":0,"aws:chime/voiceConnectorGroup:VoiceConnectorGroup":0,"aws:chime/voiceConnectorLogging:VoiceConnectorLogging":0,"aws:chime/voiceConnectorOrganization:VoiceConnectorOrganization":0,"aws:chime/voiceConnectorStreaming:VoiceConnectorStreaming":0,"aws:chime/voiceConnectorTermination:VoiceConnectorTermination":0,"aws:chime/voiceConnectorTerminationCredentials:VoiceConnectorTerminationCredentials":0,"aws:chimesdkmediapipelines/mediaInsightsPipelineConfiguration:MediaInsightsPipelineConfiguration":0,"aws:cleanrooms/collaboration:Collaboration":0,"aws:cleanrooms/configuredTable:ConfiguredTable":0,"aws:cloud9/environmentEC2:EnvironmentEC2":0,"aws:cloud9/environmentMembership:EnvironmentMembership":0,"aws:cloudcontrol/resource:Resource":0,"aws:cloudformation/cloudFormationType:CloudFormationType":0,"aws:cloudformation/stack:Stack":0,"aws:cloudformation/stackInstances:StackInstances":0,"aws:cloudformation/stackSet:StackSet":0,"aws:cloudformation/stackSetInstance:StackSetInstance":0,"aws:cloudfront/cachePolicy:CachePolicy":0,"aws:cloudfront/continuousDeploymentPolicy:ContinuousDeploymentPolicy":1,"aws:cloudfront/distribution:Distribution":0,"aws:cloudfront/fieldLevelEncryptionConfig:FieldLevelEncryptionConfig":0,"aws:cloudfront/fieldLevelEncryptionProfile:FieldLevelEncryptionProfile":0,"aws:cloudfront/function:Function":0,"aws:cloudfront/keyGroup:KeyGroup":0,"aws:cloudfront/keyValueStore:KeyValueStore":1,"aws:cloudfront/keyvaluestoreKey:KeyvaluestoreKey":1,"aws:cloudfront/monitoringSubscription:MonitoringSubscription":0,"aws:cloudfront/originAccessControl:OriginAccessControl":0,"aws:cloudfront/originAccessIdentity:OriginAccessIdentity":0,"aws:cloudfront/originRequestPolicy:OriginRequestPolicy":0,"aws:cloudfront/publicKey:PublicKey":0,"aws:cloudfront/realtimeLogConfig:RealtimeLogConfig":0,"aws:cloudfront/responseHeadersPolicy:ResponseHeadersPolicy":0,"aws:cloudhsmv2/cluster:Cluster":0,"aws:cloudhsmv2/hsm:Hsm":0,"aws:cloudsearch/domain:Domain":0,"aws:cloudsearch/domainServiceAccessPolicy:DomainServiceAccessPolicy":0,"aws:cloudtrail/eventDataStore:EventDataStore":0,"aws:cloudtrail/organizationDelegatedAdminAccount:OrganizationDelegatedAdminAccount":1,"aws:cloudtrail/trail:Trail":0,"aws:cloudwatch/compositeAlarm:CompositeAlarm":0,"aws:cloudwatch/dashboard:Dashboard":0,"aws:cloudwatch/eventApiDestination:EventApiDestination":0,"aws:cloudwatch/eventArchive:EventArchive":0,"aws:cloudwatch/eventBus:EventBus":0,"aws:cloudwatch/eventBusPolicy:EventBusPolicy":0,"aws:cloudwatch/eventConnection:EventConnection":0,"aws:cloudwatch/eventEndpoint:EventEndpoint":0,"aws:cloudwatch/eventPermission:EventPermission":0,"aws:cloudwatch/eventRule:EventRule":0,"aws:cloudwatch/eventTarget:EventTarget":0,"aws:cloudwatch/internetMonitor:InternetMonitor":0,"aws:cloudwatch/logAccountPolicy:LogAccountPolicy":0,"aws:cloudwatch/logAnomalyDetector:LogAnomalyDetector":1,"aws:cloudwatch/logDataProtectionPolicy:LogDataProtectionPolicy":0,"aws:cloudwatch/logDestination:LogDestination":0,"aws:cloudwatch/logDestinationPolicy:LogDestinationPolicy":0,"aws:cloudwatch/logGroup:LogGroup":0,"aws:cloudwatch/logMetricFilter:LogMetricFilter":0,"aws:cloudwatch/logResourcePolicy:LogResourcePolicy":0,"aws:cloudwatch/logStream:LogStream":0,"aws:cloudwatch/logSubscriptionFilter:LogSubscriptionFilter":0,"aws:cloudwatch/metricAlarm:MetricAlarm":0,"aws:cloudwatch/metricStream:MetricStream":0,"aws:cloudwatch/queryDefinition:QueryDefinition":0,"aws:codeartifact/domain:Domain":0,"aws:codeartifact/domainPermissions:DomainPermissions":0,"aws:codeartifact/repository:Repository":0,"aws:codeartifact/repositoryPermissionsPolicy:RepositoryPermissionsPolicy":0,"aws:codebuild/fleet:Fleet":0,"aws:codebuild/project:Project":0,"aws:codebuild/reportGroup:ReportGroup":0,"aws:codebuild/resourcePolicy:ResourcePolicy":0,"aws:codebuild/sourceCredential:SourceCredential":0,"aws:codebuild/webhook:Webhook":0,"aws:codecatalyst/devEnvironment:DevEnvironment":0,"aws:codecatalyst/project:Project":0,"aws:codecatalyst/sourceRepository:SourceRepository":0,"aws:codecommit/approvalRuleTemplate:ApprovalRuleTemplate":0,"aws:codecommit/approvalRuleTemplateAssociation:ApprovalRuleTemplateAssociation":0,"aws:codecommit/repository:Repository":0,"aws:codecommit/trigger:Trigger":0,"aws:codeconnections/connection:Connection":1,"aws:codeconnections/host:Host":1,"aws:codedeploy/application:Application":0,"aws:codedeploy/deploymentConfig:DeploymentConfig":0,"aws:codedeploy/deploymentGroup:DeploymentGroup":0,"aws:codeguruprofiler/profilingGroup:ProfilingGroup":1,"aws:codegurureviewer/repositoryAssociation:RepositoryAssociation":0,"aws:codepipeline/customActionType:CustomActionType":0,"aws:codepipeline/pipeline:Pipeline":0,"aws:codepipeline/webhook:Webhook":0,"aws:codestarconnections/connection:Connection":0,"aws:codestarconnections/host:Host":0,"aws:codestarnotifications/notificationRule:NotificationRule":0,"aws:cognito/identityPool:IdentityPool":0,"aws:cognito/identityPoolProviderPrincipalTag:IdentityPoolProviderPrincipalTag":0,"aws:cognito/identityPoolRoleAttachment:IdentityPoolRoleAttachment":0,"aws:cognito/identityProvider:IdentityProvider":0,"aws:cognito/managedUserPoolClient:ManagedUserPoolClient":1,"aws:cognito/resourceServer:ResourceServer":0,"aws:cognito/riskConfiguration:RiskConfiguration":0,"aws:cognito/user:User":0,"aws:cognito/userGroup:UserGroup":0,"aws:cognito/userInGroup:UserInGroup":0,"aws:cognito/userPool:UserPool":0,"aws:cognito/userPoolClient:UserPoolClient":1,"aws:cognito/userPoolDomain:UserPoolDomain":0,"aws:cognito/userPoolUICustomization:UserPoolUICustomization":0,"aws:comprehend/documentClassifier:DocumentClassifier":0,"aws:comprehend/entityRecognizer:EntityRecognizer":0,"aws:computeoptimizer/enrollmentStatus:EnrollmentStatus":1,"aws:computeoptimizer/recommendationPreferences:RecommendationPreferences":1,"aws:connect/botAssociation:BotAssociation":0,"aws:connect/contactFlow:ContactFlow":0,"aws:connect/contactFlowModule:ContactFlowModule":0,"aws:connect/hoursOfOperation:HoursOfOperation":0,"aws:connect/instance:Instance":0,"aws:connect/instanceStorageConfig:InstanceStorageConfig":0,"aws:connect/lambdaFunctionAssociation:LambdaFunctionAssociation":0,"aws:connect/phoneNumber:PhoneNumber":0,"aws:connect/queue:Queue":0,"aws:connect/quickConnect:QuickConnect":0,"aws:connect/routingProfile:RoutingProfile":0,"aws:connect/securityProfile:SecurityProfile":0,"aws:connect/user:User":0,"aws:connect/userHierarchyGroup:UserHierarchyGroup":0,"aws:connect/userHierarchyStructure:UserHierarchyStructure":0,"aws:connect/vocabulary:Vocabulary":0,"aws:controltower/controlTowerControl:ControlTowerControl":0,"aws:controltower/landingZone:LandingZone":0,"aws:costexplorer/anomalyMonitor:AnomalyMonitor":0,"aws:costexplorer/anomalySubscription:AnomalySubscription":0,"aws:costexplorer/costAllocationTag:CostAllocationTag":0,"aws:costexplorer/costCategory:CostCategory":0,"aws:costoptimizationhub/enrollmentStatus:EnrollmentStatus":1,"aws:costoptimizationhub/preferences:Preferences":1,"aws:cur/reportDefinition:ReportDefinition":0,"aws:customerprofiles/domain:Domain":0,"aws:customerprofiles/profile:Profile":0,"aws:dataexchange/dataSet:DataSet":0,"aws:dataexchange/revision:Revision":0,"aws:datapipeline/pipeline:Pipeline":0,"aws:datapipeline/pipelineDefinition:PipelineDefinition":0,"aws:datasync/agent:Agent":0,"aws:datasync/efsLocation:EfsLocation":0,"aws:datasync/fsxOpenZfsFileSystem:FsxOpenZfsFileSystem":0,"aws:datasync/locationAzureBlob:LocationAzureBlob":0,"aws:datasync/locationFsxLustre:LocationFsxLustre":0,"aws:datasync/locationFsxOntapFileSystem:LocationFsxOntapFileSystem":0,"aws:datasync/locationFsxWindows:LocationFsxWindows":0,"aws:datasync/locationHdfs:LocationHdfs":0,"aws:datasync/locationObjectStorage:LocationObjectStorage":0,"aws:datasync/locationSmb:LocationSmb":0,"aws:datasync/nfsLocation:NfsLocation":0,"aws:datasync/s3Location:S3Location":0,"aws:datasync/task:Task":0,"aws:datazone/assetType:AssetType":1,"aws:datazone/domain:Domain":1,"aws:datazone/environment:Environment":1,"aws:datazone/environmentBlueprintConfiguration:EnvironmentBlueprintConfiguration":1,"aws:datazone/environmentProfile:EnvironmentProfile":1,"aws:datazone/formType:FormType":1,"aws:datazone/glossary:Glossary":1,"aws:datazone/glossaryTerm:GlossaryTerm":1,"aws:datazone/project:Project":1,"aws:datazone/userProfile:UserProfile":1,"aws:dax/cluster:Cluster":0,"aws:dax/parameterGroup:ParameterGroup":0,"aws:dax/subnetGroup:SubnetGroup":0,"aws:detective/graph:Graph":0,"aws:detective/invitationAccepter:InvitationAccepter":0,"aws:detective/member:Member":0,"aws:detective/organizationAdminAccount:OrganizationAdminAccount":0,"aws:detective/organizationConfiguration:OrganizationConfiguration":0,"aws:devicefarm/devicePool:DevicePool":0,"aws:devicefarm/instanceProfile:InstanceProfile":0,"aws:devicefarm/networkProfile:NetworkProfile":0,"aws:devicefarm/project:Project":0,"aws:devicefarm/testGridProject:TestGridProject":0,"aws:devicefarm/upload:Upload":0,"aws:devopsguru/eventSourcesConfig:EventSourcesConfig":1,"aws:devopsguru/notificationChannel:NotificationChannel":1,"aws:devopsguru/resourceCollection:ResourceCollection":1,"aws:devopsguru/serviceIntegration:ServiceIntegration":1,"aws:directconnect/bgpPeer:BgpPeer":0,"aws:directconnect/connection:Connection":0,"aws:directconnect/connectionAssociation:ConnectionAssociation":0,"aws:directconnect/connectionConfirmation:ConnectionConfirmation":0,"aws:directconnect/gateway:Gateway":0,"aws:directconnect/gatewayAssociation:GatewayAssociation":0,"aws:directconnect/gatewayAssociationProposal:GatewayAssociationProposal":0,"aws:directconnect/hostedConnection:HostedConnection":0,"aws:directconnect/hostedPrivateVirtualInterface:HostedPrivateVirtualInterface":0,"aws:directconnect/hostedPrivateVirtualInterfaceAccepter:HostedPrivateVirtualInterfaceAccepter":0,"aws:directconnect/hostedPublicVirtualInterface:HostedPublicVirtualInterface":0,"aws:directconnect/hostedPublicVirtualInterfaceAccepter:HostedPublicVirtualInterfaceAccepter":0,"aws:directconnect/hostedTransitVirtualInterface:HostedTransitVirtualInterface":0,"aws:directconnect/hostedTransitVirtualInterfaceAcceptor:HostedTransitVirtualInterfaceAcceptor":0,"aws:directconnect/linkAggregationGroup:LinkAggregationGroup":0,"aws:directconnect/macsecKeyAssociation:MacsecKeyAssociation":0,"aws:directconnect/privateVirtualInterface:PrivateVirtualInterface":0,"aws:directconnect/publicVirtualInterface:PublicVirtualInterface":0,"aws:directconnect/transitVirtualInterface:TransitVirtualInterface":0,"aws:directoryservice/conditionalForwader:ConditionalForwader":0,"aws:directoryservice/directory:Directory":0,"aws:directoryservice/logService:LogService":0,"aws:directoryservice/radiusSettings:RadiusSettings":0,"aws:directoryservice/serviceRegion:ServiceRegion":0,"aws:directoryservice/sharedDirectory:SharedDirectory":0,"aws:directoryservice/sharedDirectoryAccepter:SharedDirectoryAccepter":0,"aws:directoryservice/trust:Trust":1,"aws:dlm/lifecyclePolicy:LifecyclePolicy":0,"aws:dms/certificate:Certificate":0,"aws:dms/endpoint:Endpoint":0,"aws:dms/eventSubscription:EventSubscription":0,"aws:dms/replicationConfig:ReplicationConfig":0,"aws:dms/replicationInstance:ReplicationInstance":0,"aws:dms/replicationSubnetGroup:ReplicationSubnetGroup":0,"aws:dms/replicationTask:ReplicationTask":0,"aws:dms/s3Endpoint:S3Endpoint":0,"aws:docdb/cluster:Cluster":0,"aws:docdb/clusterInstance:ClusterInstance":0,"aws:docdb/clusterParameterGroup:ClusterParameterGroup":0,"aws:docdb/clusterSnapshot:ClusterSnapshot":0,"aws:docdb/elasticCluster:ElasticCluster":1,"aws:docdb/eventSubscription:EventSubscription":0,"aws:docdb/globalCluster:GlobalCluster":0,"aws:docdb/subnetGroup:SubnetGroup":0,"aws:drs/replicationConfigurationTemplate:ReplicationConfigurationTemplate":1,"aws:dynamodb/contributorInsights:ContributorInsights":0,"aws:dynamodb/globalTable:GlobalTable":0,"aws:dynamodb/kinesisStreamingDestination:KinesisStreamingDestination":0,"aws:dynamodb/resourcePolicy:ResourcePolicy":1,"aws:dynamodb/table:Table":0,"aws:dynamodb/tableExport:TableExport":0,"aws:dynamodb/tableItem:TableItem":0,"aws:dynamodb/tableReplica:TableReplica":0,"aws:dynamodb/tag:Tag":0,"aws:ebs/defaultKmsKey:DefaultKmsKey":0,"aws:ebs/encryptionByDefault:EncryptionByDefault":0,"aws:ebs/fastSnapshotRestore:FastSnapshotRestore":1,"aws:ebs/snapshot:Snapshot":0,"aws:ebs/snapshotBlockPublicAccess:SnapshotBlockPublicAccess":0,"aws:ebs/snapshotCopy:SnapshotCopy":0,"aws:ebs/snapshotImport:SnapshotImport":0,"aws:ebs/volume:Volume":0,"aws:ec2/ami:Ami":0,"aws:ec2/amiCopy:AmiCopy":0,"aws:ec2/amiFromInstance:AmiFromInstance":0,"aws:ec2/amiLaunchPermission:AmiLaunchPermission":0,"aws:ec2/availabilityZoneGroup:AvailabilityZoneGroup":0,"aws:ec2/capacityBlockReservation:CapacityBlockReservation":1,"aws:ec2/capacityReservation:CapacityReservation":0,"aws:ec2/carrierGateway:CarrierGateway":0,"aws:ec2/customerGateway:CustomerGateway":0,"aws:ec2/dedicatedHost:DedicatedHost":0,"aws:ec2/defaultNetworkAcl:DefaultNetworkAcl":0,"aws:ec2/defaultRouteTable:DefaultRouteTable":0,"aws:ec2/defaultSecurityGroup:DefaultSecurityGroup":0,"aws:ec2/defaultSubnet:DefaultSubnet":0,"aws:ec2/defaultVpc:DefaultVpc":0,"aws:ec2/defaultVpcDhcpOptions:DefaultVpcDhcpOptions":0,"aws:ec2/egressOnlyInternetGateway:EgressOnlyInternetGateway":0,"aws:ec2/eip:Eip":0,"aws:ec2/eipAssociation:EipAssociation":0,"aws:ec2/eipDomainName:EipDomainName":1,"aws:ec2/fleet:Fleet":0,"aws:ec2/flowLog:FlowLog":0,"aws:ec2/imageBlockPublicAccess:ImageBlockPublicAccess":0,"aws:ec2/instance:Instance":0,"aws:ec2/instanceMetadataDefaults:InstanceMetadataDefaults":1,"aws:ec2/internetGateway:InternetGateway":0,"aws:ec2/internetGatewayAttachment:InternetGatewayAttachment":0,"aws:ec2/keyPair:KeyPair":0,"aws:ec2/launchConfiguration:LaunchConfiguration":0,"aws:ec2/launchTemplate:LaunchTemplate":0,"aws:ec2/localGatewayRoute:LocalGatewayRoute":0,"aws:ec2/localGatewayRouteTableVpcAssociation:LocalGatewayRouteTableVpcAssociation":0,"aws:ec2/mainRouteTableAssociation:MainRouteTableAssociation":0,"aws:ec2/managedPrefixList:ManagedPrefixList":0,"aws:ec2/managedPrefixListEntry:ManagedPrefixListEntry":0,"aws:ec2/natGateway:NatGateway":0,"aws:ec2/networkAcl:NetworkAcl":0,"aws:ec2/networkAclAssociation:NetworkAclAssociation":0,"aws:ec2/networkAclRule:NetworkAclRule":0,"aws:ec2/networkInsightsAnalysis:NetworkInsightsAnalysis":0,"aws:ec2/networkInsightsPath:NetworkInsightsPath":0,"aws:ec2/networkInterface:NetworkInterface":0,"aws:ec2/networkInterfaceAttachment:NetworkInterfaceAttachment":0,"aws:ec2/networkInterfaceSecurityGroupAttachment:NetworkInterfaceSecurityGroupAttachment":0,"aws:ec2/peeringConnectionOptions:PeeringConnectionOptions":0,"aws:ec2/placementGroup:PlacementGroup":0,"aws:ec2/proxyProtocolPolicy:ProxyProtocolPolicy":0,"aws:ec2/route:Route":0,"aws:ec2/routeTable:RouteTable":0,"aws:ec2/routeTableAssociation:RouteTableAssociation":0,"aws:ec2/securityGroup:SecurityGroup":0,"aws:ec2/securityGroupAssociation:SecurityGroupAssociation":0,"aws:ec2/securityGroupRule:SecurityGroupRule":0,"aws:ec2/serialConsoleAccess:SerialConsoleAccess":0,"aws:ec2/snapshotCreateVolumePermission:SnapshotCreateVolumePermission":0,"aws:ec2/spotDatafeedSubscription:SpotDatafeedSubscription":0,"aws:ec2/spotFleetRequest:SpotFleetRequest":0,"aws:ec2/spotInstanceRequest:SpotInstanceRequest":0,"aws:ec2/subnet:Subnet":0,"aws:ec2/subnetCidrReservation:SubnetCidrReservation":0,"aws:ec2/tag:Tag":0,"aws:ec2/trafficMirrorFilter:TrafficMirrorFilter":0,"aws:ec2/trafficMirrorFilterRule:TrafficMirrorFilterRule":0,"aws:ec2/trafficMirrorSession:TrafficMirrorSession":0,"aws:ec2/trafficMirrorTarget:TrafficMirrorTarget":0,"aws:ec2/volumeAttachment:VolumeAttachment":0,"aws:ec2/vpc:Vpc":0,"aws:ec2/vpcBlockPublicAccessExclusion:VpcBlockPublicAccessExclusion":1,"aws:ec2/vpcBlockPublicAccessOptions:VpcBlockPublicAccessOptions":1,"aws:ec2/vpcDhcpOptions:VpcDhcpOptions":0,"aws:ec2/vpcDhcpOptionsAssociation:VpcDhcpOptionsAssociation":0,"aws:ec2/vpcEndpoint:VpcEndpoint":0,"aws:ec2/vpcEndpointConnectionAccepter:VpcEndpointConnectionAccepter":0,"aws:ec2/vpcEndpointConnectionNotification:VpcEndpointConnectionNotification":0,"aws:ec2/vpcEndpointPolicy:VpcEndpointPolicy":0,"aws:ec2/vpcEndpointRouteTableAssociation:VpcEndpointRouteTableAssociation":0,"aws:ec2/vpcEndpointService:VpcEndpointService":0,"aws:ec2/vpcEndpointServiceAllowedPrinciple:VpcEndpointServiceAllowedPrinciple":0,"aws:ec2/vpcEndpointSubnetAssociation:VpcEndpointSubnetAssociation":0,"aws:ec2/vpcIpam:VpcIpam":0,"aws:ec2/vpcIpamOrganizationAdminAccount:VpcIpamOrganizationAdminAccount":0,"aws:ec2/vpcIpamPool:VpcIpamPool":0,"aws:ec2/vpcIpamPoolCidr:VpcIpamPoolCidr":0,"aws:ec2/vpcIpamPoolCidrAllocation:VpcIpamPoolCidrAllocation":0,"aws:ec2/vpcIpamPreviewNextCidr:VpcIpamPreviewNextCidr":0,"aws:ec2/vpcIpamResourceDiscovery:VpcIpamResourceDiscovery":0,"aws:ec2/vpcIpamResourceDiscoveryAssociation:VpcIpamResourceDiscoveryAssociation":0,"aws:ec2/vpcIpamScope:VpcIpamScope":0,"aws:ec2/vpcIpv4CidrBlockAssociation:VpcIpv4CidrBlockAssociation":0,"aws:ec2/vpcIpv6CidrBlockAssociation:VpcIpv6CidrBlockAssociation":0,"aws:ec2/vpcNetworkPerformanceMetricSubscription:VpcNetworkPerformanceMetricSubscription":0,"aws:ec2/vpcPeeringConnection:VpcPeeringConnection":0,"aws:ec2/vpcPeeringConnectionAccepter:VpcPeeringConnectionAccepter":0,"aws:ec2/vpnConnection:VpnConnection":0,"aws:ec2/vpnConnectionRoute:VpnConnectionRoute":0,"aws:ec2/vpnGateway:VpnGateway":0,"aws:ec2/vpnGatewayAttachment:VpnGatewayAttachment":0,"aws:ec2/vpnGatewayRoutePropagation:VpnGatewayRoutePropagation":0,"aws:ec2clientvpn/authorizationRule:AuthorizationRule":0,"aws:ec2clientvpn/endpoint:Endpoint":0,"aws:ec2clientvpn/networkAssociation:NetworkAssociation":0,"aws:ec2clientvpn/route:Route":0,"aws:ec2transitgateway/connect:Connect":0,"aws:ec2transitgateway/connectPeer:ConnectPeer":0,"aws:ec2transitgateway/defaultRouteTableAssociation:DefaultRouteTableAssociation":1,"aws:ec2transitgateway/defaultRouteTablePropagation:DefaultRouteTablePropagation":1,"aws:ec2transitgateway/instanceConnectEndpoint:InstanceConnectEndpoint":1,"aws:ec2transitgateway/instanceState:InstanceState":0,"aws:ec2transitgateway/multicastDomain:MulticastDomain":0,"aws:ec2transitgateway/multicastDomainAssociation:MulticastDomainAssociation":0,"aws:ec2transitgateway/multicastGroupMember:MulticastGroupMember":0,"aws:ec2transitgateway/multicastGroupSource:MulticastGroupSource":0,"aws:ec2transitgateway/peeringAttachment:PeeringAttachment":0,"aws:ec2transitgateway/peeringAttachmentAccepter:PeeringAttachmentAccepter":0,"aws:ec2transitgateway/policyTable:PolicyTable":0,"aws:ec2transitgateway/policyTableAssociation:PolicyTableAssociation":0,"aws:ec2transitgateway/prefixListReference:PrefixListReference":0,"aws:ec2transitgateway/route:Route":0,"aws:ec2transitgateway/routeTable:RouteTable":0,"aws:ec2transitgateway/routeTableAssociation:RouteTableAssociation":0,"aws:ec2transitgateway/routeTablePropagation:RouteTablePropagation":0,"aws:ec2transitgateway/transitGateway:TransitGateway":0,"aws:ec2transitgateway/vpcAttachment:VpcAttachment":0,"aws:ec2transitgateway/vpcAttachmentAccepter:VpcAttachmentAccepter":0,"aws:ecr/accountSetting:AccountSetting":1,"aws:ecr/lifecyclePolicy:LifecyclePolicy":0,"aws:ecr/pullThroughCacheRule:PullThroughCacheRule":0,"aws:ecr/registryPolicy:RegistryPolicy":0,"aws:ecr/registryScanningConfiguration:RegistryScanningConfiguration":0,"aws:ecr/replicationConfiguration:ReplicationConfiguration":0,"aws:ecr/repository:Repository":0,"aws:ecr/repositoryCreationTemplate:RepositoryCreationTemplate":0,"aws:ecr/repositoryPolicy:RepositoryPolicy":0,"aws:ecrpublic/repository:Repository":0,"aws:ecrpublic/repositoryPolicy:RepositoryPolicy":0,"aws:ecs/accountSettingDefault:AccountSettingDefault":0,"aws:ecs/capacityProvider:CapacityProvider":0,"aws:ecs/cluster:Cluster":0,"aws:ecs/clusterCapacityProviders:ClusterCapacityProviders":0,"aws:ecs/service:Service":0,"aws:ecs/tag:Tag":0,"aws:ecs/taskDefinition:TaskDefinition":0,"aws:ecs/taskSet:TaskSet":0,"aws:efs/accessPoint:AccessPoint":0,"aws:efs/backupPolicy:BackupPolicy":0,"aws:efs/fileSystem:FileSystem":0,"aws:efs/fileSystemPolicy:FileSystemPolicy":0,"aws:efs/mountTarget:MountTarget":0,"aws:efs/replicationConfiguration:ReplicationConfiguration":0,"aws:eks/accessEntry:AccessEntry":0,"aws:eks/accessPolicyAssociation:AccessPolicyAssociation":0,"aws:eks/addon:Addon":0,"aws:eks/cluster:Cluster":0,"aws:eks/fargateProfile:FargateProfile":0,"aws:eks/identityProviderConfig:IdentityProviderConfig":0,"aws:eks/nodeGroup:NodeGroup":0,"aws:eks/podIdentityAssociation:PodIdentityAssociation":1,"aws:elasticache/cluster:Cluster":0,"aws:elasticache/globalReplicationGroup:GlobalReplicationGroup":0,"aws:elasticache/parameterGroup:ParameterGroup":0,"aws:elasticache/replicationGroup:ReplicationGroup":0,"aws:elasticache/reservedCacheNode:ReservedCacheNode":1,"aws:elasticache/serverlessCache:ServerlessCache":1,"aws:elasticache/subnetGroup:SubnetGroup":0,"aws:elasticache/user:User":0,"aws:elasticache/userGroup:UserGroup":0,"aws:elasticache/userGroupAssociation:UserGroupAssociation":0,"aws:elasticbeanstalk/application:Application":0,"aws:elasticbeanstalk/applicationVersion:ApplicationVersion":0,"aws:elasticbeanstalk/configurationTemplate:ConfigurationTemplate":0,"aws:elasticbeanstalk/environment:Environment":0,"aws:elasticsearch/domain:Domain":0,"aws:elasticsearch/domainPolicy:DomainPolicy":0,"aws:elasticsearch/domainSamlOptions:DomainSamlOptions":0,"aws:elasticsearch/vpcEndpoint:VpcEndpoint":0,"aws:elastictranscoder/pipeline:Pipeline":0,"aws:elastictranscoder/preset:Preset":0,"aws:elb/appCookieStickinessPolicy:AppCookieStickinessPolicy":0,"aws:elb/attachment:Attachment":0,"aws:elb/listenerPolicy:ListenerPolicy":0,"aws:elb/loadBalancer:LoadBalancer":0,"aws:elb/loadBalancerBackendServerPolicy:LoadBalancerBackendServerPolicy":0,"aws:elb/loadBalancerCookieStickinessPolicy:LoadBalancerCookieStickinessPolicy":0,"aws:elb/loadBalancerPolicy:LoadBalancerPolicy":0,"aws:elb/sslNegotiationPolicy:SslNegotiationPolicy":0,"aws:emr/blockPublicAccessConfiguration:BlockPublicAccessConfiguration":0,"aws:emr/cluster:Cluster":0,"aws:emr/instanceFleet:InstanceFleet":0,"aws:emr/instanceGroup:InstanceGroup":0,"aws:emr/managedScalingPolicy:ManagedScalingPolicy":0,"aws:emr/securityConfiguration:SecurityConfiguration":0,"aws:emr/studio:Studio":0,"aws:emr/studioSessionMapping:StudioSessionMapping":0,"aws:emrcontainers/jobTemplate:JobTemplate":0,"aws:emrcontainers/virtualCluster:VirtualCluster":0,"aws:emrserverless/application:Application":0,"aws:evidently/feature:Feature":0,"aws:evidently/launch:Launch":0,"aws:evidently/project:Project":0,"aws:evidently/segment:Segment":0,"aws:finspace/kxCluster:KxCluster":0,"aws:finspace/kxDatabase:KxDatabase":0,"aws:finspace/kxDataview:KxDataview":0,"aws:finspace/kxEnvironment:KxEnvironment":0,"aws:finspace/kxScalingGroup:KxScalingGroup":0,"aws:finspace/kxUser:KxUser":0,"aws:finspace/kxVolume:KxVolume":0,"aws:fis/experimentTemplate:ExperimentTemplate":0,"aws:fms/adminAccount:AdminAccount":0,"aws:fms/policy:Policy":0,"aws:fms/resourceSet:ResourceSet":1,"aws:fsx/backup:Backup":0,"aws:fsx/dataRepositoryAssociation:DataRepositoryAssociation":0,"aws:fsx/fileCache:FileCache":0,"aws:fsx/lustreFileSystem:LustreFileSystem":0,"aws:fsx/ontapFileSystem:OntapFileSystem":0,"aws:fsx/ontapStorageVirtualMachine:OntapStorageVirtualMachine":0,"aws:fsx/ontapVolume:OntapVolume":0,"aws:fsx/openZfsFileSystem:OpenZfsFileSystem":0,"aws:fsx/openZfsSnapshot:OpenZfsSnapshot":0,"aws:fsx/openZfsVolume:OpenZfsVolume":0,"aws:fsx/windowsFileSystem:WindowsFileSystem":0,"aws:gamelift/alias:Alias":0,"aws:gamelift/build:Build":0,"aws:gamelift/fleet:Fleet":0,"aws:gamelift/gameServerGroup:GameServerGroup":0,"aws:gamelift/gameSessionQueue:GameSessionQueue":0,"aws:gamelift/matchmakingConfiguration:MatchmakingConfiguration":0,"aws:gamelift/matchmakingRuleSet:MatchmakingRuleSet":0,"aws:gamelift/script:Script":0,"aws:glacier/vault:Vault":0,"aws:glacier/vaultLock:VaultLock":0,"aws:globalaccelerator/accelerator:Accelerator":0,"aws:globalaccelerator/crossAccountAttachment:CrossAccountAttachment":1,"aws:globalaccelerator/customRoutingAccelerator:CustomRoutingAccelerator":0,"aws:globalaccelerator/customRoutingEndpointGroup:CustomRoutingEndpointGroup":0,"aws:globalaccelerator/customRoutingListener:CustomRoutingListener":0,"aws:globalaccelerator/endpointGroup:EndpointGroup":0,"aws:globalaccelerator/listener:Listener":0,"aws:glue/catalogDatabase:CatalogDatabase":0,"aws:glue/catalogTable:CatalogTable":0,"aws:glue/catalogTableOptimizer:CatalogTableOptimizer":1,"aws:glue/classifier:Classifier":0,"aws:glue/connection:Connection":0,"aws:glue/crawler:Crawler":0,"aws:glue/dataCatalogEncryptionSettings:DataCatalogEncryptionSettings":0,"aws:glue/dataQualityRuleset:DataQualityRuleset":0,"aws:glue/devEndpoint:DevEndpoint":0,"aws:glue/job:Job":0,"aws:glue/mLTransform:MLTransform":0,"aws:glue/partition:Partition":0,"aws:glue/partitionIndex:PartitionIndex":0,"aws:glue/registry:Registry":0,"aws:glue/resourcePolicy:ResourcePolicy":0,"aws:glue/schema:Schema":0,"aws:glue/securityConfiguration:SecurityConfiguration":0,"aws:glue/trigger:Trigger":0,"aws:glue/userDefinedFunction:UserDefinedFunction":0,"aws:glue/workflow:Workflow":0,"aws:grafana/licenseAssociation:LicenseAssociation":0,"aws:grafana/roleAssociation:RoleAssociation":0,"aws:grafana/workspace:Workspace":0,"aws:grafana/workspaceApiKey:WorkspaceApiKey":0,"aws:grafana/workspaceSamlConfiguration:WorkspaceSamlConfiguration":0,"aws:grafana/workspaceServiceAccount:WorkspaceServiceAccount":1,"aws:grafana/workspaceServiceAccountToken:WorkspaceServiceAccountToken":1,"aws:guardduty/detector:Detector":0,"aws:guardduty/detectorFeature:DetectorFeature":0,"aws:guardduty/filter:Filter":0,"aws:guardduty/iPSet:IPSet":0,"aws:guardduty/inviteAccepter:InviteAccepter":0,"aws:guardduty/malwareProtectionPlan:MalwareProtectionPlan":1,"aws:guardduty/member:Member":0,"aws:guardduty/organizationAdminAccount:OrganizationAdminAccount":0,"aws:guardduty/organizationConfiguration:OrganizationConfiguration":0,"aws:guardduty/organizationConfigurationFeature:OrganizationConfigurationFeature":0,"aws:guardduty/publishingDestination:PublishingDestination":0,"aws:guardduty/threatIntelSet:ThreatIntelSet":0,"aws:iam/accessKey:AccessKey":0,"aws:iam/accountAlias:AccountAlias":0,"aws:iam/accountPasswordPolicy:AccountPasswordPolicy":0,"aws:iam/group:Group":0,"aws:iam/groupMembership:GroupMembership":0,"aws:iam/groupPoliciesExclusive:GroupPoliciesExclusive":1,"aws:iam/groupPolicy:GroupPolicy":0,"aws:iam/groupPolicyAttachment:GroupPolicyAttachment":0,"aws:iam/groupPolicyAttachmentsExclusive:GroupPolicyAttachmentsExclusive":1,"aws:iam/instanceProfile:InstanceProfile":0,"aws:iam/openIdConnectProvider:OpenIdConnectProvider":0,"aws:iam/organizationsFeatures:OrganizationsFeatures":1,"aws:iam/policy:Policy":0,"aws:iam/policyAttachment:PolicyAttachment":0,"aws:iam/role:Role":0,"aws:iam/rolePoliciesExclusive:RolePoliciesExclusive":1,"aws:iam/rolePolicy:RolePolicy":0,"aws:iam/rolePolicyAttachment:RolePolicyAttachment":0,"aws:iam/rolePolicyAttachmentsExclusive:RolePolicyAttachmentsExclusive":1,"aws:iam/samlProvider:SamlProvider":0,"aws:iam/securityTokenServicePreferences:SecurityTokenServicePreferences":0,"aws:iam/serverCertificate:ServerCertificate":0,"aws:iam/serviceLinkedRole:ServiceLinkedRole":0,"aws:iam/serviceSpecificCredential:ServiceSpecificCredential":0,"aws:iam/signingCertificate:SigningCertificate":0,"aws:iam/sshKey:SshKey":0,"aws:iam/user:User":0,"aws:iam/userGroupMembership:UserGroupMembership":0,"aws:iam/userLoginProfile:UserLoginProfile":0,"aws:iam/userPoliciesExclusive:UserPoliciesExclusive":1,"aws:iam/userPolicy:UserPolicy":0,"aws:iam/userPolicyAttachment:UserPolicyAttachment":0,"aws:iam/userPolicyAttachmentsExclusive:UserPolicyAttachmentsExclusive":1,"aws:iam/virtualMfaDevice:VirtualMfaDevice":0,"aws:identitystore/group:Group":0,"aws:identitystore/groupMembership:GroupMembership":0,"aws:identitystore/user:User":0,"aws:imagebuilder/component:Component":0,"aws:imagebuilder/containerRecipe:ContainerRecipe":0,"aws:imagebuilder/distributionConfiguration:DistributionConfiguration":0,"aws:imagebuilder/image:Image":0,"aws:imagebuilder/imagePipeline:ImagePipeline":0,"aws:imagebuilder/imageRecipe:ImageRecipe":0,"aws:imagebuilder/infrastructureConfiguration:InfrastructureConfiguration":0,"aws:imagebuilder/lifecyclePolicy:LifecyclePolicy":1,"aws:imagebuilder/workflow:Workflow":0,"aws:inspector/assessmentTarget:AssessmentTarget":0,"aws:inspector/assessmentTemplate:AssessmentTemplate":0,"aws:inspector/resourceGroup:ResourceGroup":0,"aws:inspector2/delegatedAdminAccount:DelegatedAdminAccount":0,"aws:inspector2/enabler:Enabler":0,"aws:inspector2/memberAssociation:MemberAssociation":0,"aws:inspector2/organizationConfiguration:OrganizationConfiguration":0,"aws:iot/authorizer:Authorizer":0,"aws:iot/billingGroup:BillingGroup":1,"aws:iot/caCertificate:CaCertificate":0,"aws:iot/certificate:Certificate":0,"aws:iot/domainConfiguration:DomainConfiguration":0,"aws:iot/eventConfigurations:EventConfigurations":0,"aws:iot/indexingConfiguration:IndexingConfiguration":0,"aws:iot/loggingOptions:LoggingOptions":0,"aws:iot/policy:Policy":0,"aws:iot/policyAttachment:PolicyAttachment":0,"aws:iot/provisioningTemplate:ProvisioningTemplate":0,"aws:iot/roleAlias:RoleAlias":0,"aws:iot/thing:Thing":0,"aws:iot/thingGroup:ThingGroup":0,"aws:iot/thingGroupMembership:ThingGroupMembership":0,"aws:iot/thingPrincipalAttachment:ThingPrincipalAttachment":0,"aws:iot/thingType:ThingType":0,"aws:iot/topicRule:TopicRule":0,"aws:iot/topicRuleDestination:TopicRuleDestination":0,"aws:ivs/channel:Channel":0,"aws:ivs/playbackKeyPair:PlaybackKeyPair":0,"aws:ivs/recordingConfiguration:RecordingConfiguration":0,"aws:ivschat/loggingConfiguration:LoggingConfiguration":0,"aws:ivschat/room:Room":0,"aws:kendra/dataSource:DataSource":0,"aws:kendra/experience:Experience":0,"aws:kendra/faq:Faq":0,"aws:kendra/index:Index":0,"aws:kendra/querySuggestionsBlockList:QuerySuggestionsBlockList":0,"aws:kendra/thesaurus:Thesaurus":0,"aws:keyspaces/keyspace:Keyspace":0,"aws:keyspaces/table:Table":0,"aws:kinesis/analyticsApplication:AnalyticsApplication":0,"aws:kinesis/firehoseDeliveryStream:FirehoseDeliveryStream":0,"aws:kinesis/resourcePolicy:ResourcePolicy":1,"aws:kinesis/stream:Stream":0,"aws:kinesis/streamConsumer:StreamConsumer":0,"aws:kinesis/videoStream:VideoStream":0,"aws:kinesisanalyticsv2/application:Application":0,"aws:kinesisanalyticsv2/applicationSnapshot:ApplicationSnapshot":0,"aws:kms/alias:Alias":0,"aws:kms/ciphertext:Ciphertext":0,"aws:kms/customKeyStore:CustomKeyStore":0,"aws:kms/externalKey:ExternalKey":0,"aws:kms/grant:Grant":0,"aws:kms/key:Key":0,"aws:kms/keyPolicy:KeyPolicy":0,"aws:kms/replicaExternalKey:ReplicaExternalKey":0,"aws:kms/replicaKey:ReplicaKey":0,"aws:lakeformation/dataCellsFilter:DataCellsFilter":1,"aws:lakeformation/dataLakeSettings:DataLakeSettings":0,"aws:lakeformation/lfTag:LfTag":0,"aws:lakeformation/permissions:Permissions":0,"aws:lakeformation/resource:Resource":0,"aws:lakeformation/resourceLfTag:ResourceLfTag":1,"aws:lakeformation/resourceLfTags:ResourceLfTags":0,"aws:lambda/alias:Alias":0,"aws:lambda/codeSigningConfig:CodeSigningConfig":0,"aws:lambda/eventSourceMapping:EventSourceMapping":0,"aws:lambda/function:Function":0,"aws:lambda/functionEventInvokeConfig:FunctionEventInvokeConfig":0,"aws:lambda/functionRecursionConfig:FunctionRecursionConfig":1,"aws:lambda/functionUrl:FunctionUrl":0,"aws:lambda/invocation:Invocation":0,"aws:lambda/layerVersion:LayerVersion":0,"aws:lambda/layerVersionPermission:LayerVersionPermission":0,"aws:lambda/permission:Permission":0,"aws:lambda/provisionedConcurrencyConfig:ProvisionedConcurrencyConfig":0,"aws:lambda/runtimeManagementConfig:RuntimeManagementConfig":1,"aws:lb/listener:Listener":0,"aws:lb/listenerCertificate:ListenerCertificate":0,"aws:lb/listenerRule:ListenerRule":0,"aws:lb/loadBalancer:LoadBalancer":0,"aws:lb/targetGroup:TargetGroup":0,"aws:lb/targetGroupAttachment:TargetGroupAttachment":0,"aws:lb/trustStore:TrustStore":0,"aws:lb/trustStoreRevocation:TrustStoreRevocation":0,"aws:lex/bot:Bot":0,"aws:lex/botAlias:BotAlias":0,"aws:lex/intent:Intent":0,"aws:lex/slotType:SlotType":0,"aws:lex/v2modelsBot:V2modelsBot":1,"aws:lex/v2modelsBotLocale:V2modelsBotLocale":1,"aws:lex/v2modelsBotVersion:V2modelsBotVersion":1,"aws:lex/v2modelsIntent:V2modelsIntent":1,"aws:lex/v2modelsSlot:V2modelsSlot":1,"aws:lex/v2modelsSlotType:V2modelsSlotType":1,"aws:licensemanager/association:Association":0,"aws:licensemanager/licenseConfiguration:LicenseConfiguration":0,"aws:licensemanager/licenseGrant:LicenseGrant":0,"aws:licensemanager/licenseGrantAccepter:LicenseGrantAccepter":0,"aws:lightsail/bucket:Bucket":0,"aws:lightsail/bucketAccessKey:BucketAccessKey":0,"aws:lightsail/bucketResourceAccess:BucketResourceAccess":0,"aws:lightsail/certificate:Certificate":0,"aws:lightsail/containerService:ContainerService":0,"aws:lightsail/containerServiceDeploymentVersion:ContainerServiceDeploymentVersion":0,"aws:lightsail/database:Database":0,"aws:lightsail/disk:Disk":0,"aws:lightsail/disk_attachment:Disk_attachment":0,"aws:lightsail/distribution:Distribution":0,"aws:lightsail/domain:Domain":0,"aws:lightsail/domainEntry:DomainEntry":0,"aws:lightsail/instance:Instance":0,"aws:lightsail/instancePublicPorts:InstancePublicPorts":0,"aws:lightsail/keyPair:KeyPair":0,"aws:lightsail/lb:Lb":0,"aws:lightsail/lbAttachment:LbAttachment":0,"aws:lightsail/lbCertificate:LbCertificate":0,"aws:lightsail/lbCertificateAttachment:LbCertificateAttachment":0,"aws:lightsail/lbHttpsRedirectionPolicy:LbHttpsRedirectionPolicy":0,"aws:lightsail/lbStickinessPolicy:LbStickinessPolicy":0,"aws:lightsail/staticIp:StaticIp":0,"aws:lightsail/staticIpAttachment:StaticIpAttachment":0,"aws:location/geofenceCollection:GeofenceCollection":0,"aws:location/map:Map":0,"aws:location/placeIndex:PlaceIndex":0,"aws:location/routeCalculation:RouteCalculation":0,"aws:location/tracker:Tracker":0,"aws:location/trackerAssociation:TrackerAssociation":0,"aws:m2/application:Application":1,"aws:m2/deployment:Deployment":1,"aws:m2/environment:Environment":1,"aws:macie/customDataIdentifier:CustomDataIdentifier":0,"aws:macie/findingsFilter:FindingsFilter":0,"aws:macie2/account:Account":0,"aws:macie2/classificationExportConfiguration:ClassificationExportConfiguration":0,"aws:macie2/classificationJob:ClassificationJob":0,"aws:macie2/invitationAccepter:InvitationAccepter":0,"aws:macie2/member:Member":0,"aws:macie2/organizationAdminAccount:OrganizationAdminAccount":0,"aws:mediaconvert/queue:Queue":0,"aws:medialive/channel:Channel":0,"aws:medialive/input:Input":0,"aws:medialive/inputSecurityGroup:InputSecurityGroup":0,"aws:medialive/multiplex:Multiplex":0,"aws:medialive/multiplexProgram:MultiplexProgram":1,"aws:mediapackage/channel:Channel":0,"aws:mediastore/container:Container":0,"aws:mediastore/containerPolicy:ContainerPolicy":0,"aws:memorydb/acl:Acl":0,"aws:memorydb/cluster:Cluster":0,"aws:memorydb/parameterGroup:ParameterGroup":0,"aws:memorydb/snapshot:Snapshot":0,"aws:memorydb/subnetGroup:SubnetGroup":0,"aws:memorydb/user:User":0,"aws:mq/broker:Broker":0,"aws:mq/configuration:Configuration":0,"aws:msk/cluster:Cluster":0,"aws:msk/clusterPolicy:ClusterPolicy":0,"aws:msk/configuration:Configuration":0,"aws:msk/replicator:Replicator":0,"aws:msk/scramSecretAssociation:ScramSecretAssociation":0,"aws:msk/serverlessCluster:ServerlessCluster":0,"aws:msk/singleScramSecretAssociation:SingleScramSecretAssociation":1,"aws:msk/vpcConnection:VpcConnection":0,"aws:mskconnect/connector:Connector":0,"aws:mskconnect/customPlugin:CustomPlugin":0,"aws:mskconnect/workerConfiguration:WorkerConfiguration":0,"aws:mwaa/environment:Environment":0,"aws:neptune/cluster:Cluster":0,"aws:neptune/clusterEndpoint:ClusterEndpoint":0,"aws:neptune/clusterInstance:ClusterInstance":0,"aws:neptune/clusterParameterGroup:ClusterParameterGroup":0,"aws:neptune/clusterSnapshot:ClusterSnapshot":0,"aws:neptune/eventSubscription:EventSubscription":0,"aws:neptune/globalCluster:GlobalCluster":0,"aws:neptune/parameterGroup:ParameterGroup":0,"aws:neptune/subnetGroup:SubnetGroup":0,"aws:networkfirewall/firewall:Firewall":0,"aws:networkfirewall/firewallPolicy:FirewallPolicy":0,"aws:networkfirewall/loggingConfiguration:LoggingConfiguration":0,"aws:networkfirewall/resourcePolicy:ResourcePolicy":0,"aws:networkfirewall/ruleGroup:RuleGroup":0,"aws:networkfirewall/tlsInspectionConfiguration:TlsInspectionConfiguration":1,"aws:networkmanager/attachmentAccepter:AttachmentAccepter":0,"aws:networkmanager/connectAttachment:ConnectAttachment":0,"aws:networkmanager/connectPeer:ConnectPeer":0,"aws:networkmanager/connection:Connection":0,"aws:networkmanager/coreNetwork:CoreNetwork":0,"aws:networkmanager/coreNetworkPolicyAttachment:CoreNetworkPolicyAttachment":0,"aws:networkmanager/customerGatewayAssociation:CustomerGatewayAssociation":0,"aws:networkmanager/device:Device":0,"aws:networkmanager/globalNetwork:GlobalNetwork":0,"aws:networkmanager/link:Link":0,"aws:networkmanager/linkAssociation:LinkAssociation":0,"aws:networkmanager/site:Site":0,"aws:networkmanager/siteToSiteVpnAttachment:SiteToSiteVpnAttachment":0,"aws:networkmanager/transitGatewayConnectPeerAssociation:TransitGatewayConnectPeerAssociation":0,"aws:networkmanager/transitGatewayPeering:TransitGatewayPeering":0,"aws:networkmanager/transitGatewayRegistration:TransitGatewayRegistration":0,"aws:networkmanager/transitGatewayRouteTableAttachment:TransitGatewayRouteTableAttachment":0,"aws:networkmanager/vpcAttachment:VpcAttachment":0,"aws:networkmonitor/monitor:Monitor":1,"aws:networkmonitor/probe:Probe":1,"aws:oam/link:Link":0,"aws:oam/sink:Sink":0,"aws:oam/sinkPolicy:SinkPolicy":0,"aws:opensearch/authorizeVpcEndpointAccess:AuthorizeVpcEndpointAccess":1,"aws:opensearch/domain:Domain":0,"aws:opensearch/domainPolicy:DomainPolicy":0,"aws:opensearch/domainSamlOptions:DomainSamlOptions":0,"aws:opensearch/inboundConnectionAccepter:InboundConnectionAccepter":0,"aws:opensearch/outboundConnection:OutboundConnection":0,"aws:opensearch/package:Package":0,"aws:opensearch/packageAssociation:PackageAssociation":0,"aws:opensearch/serverlessAccessPolicy:ServerlessAccessPolicy":1,"aws:opensearch/serverlessCollection:ServerlessCollection":1,"aws:opensearch/serverlessLifecyclePolicy:ServerlessLifecyclePolicy":1,"aws:opensearch/serverlessSecurityConfig:ServerlessSecurityConfig":1,"aws:opensearch/serverlessSecurityPolicy:ServerlessSecurityPolicy":1,"aws:opensearch/serverlessVpcEndpoint:ServerlessVpcEndpoint":1,"aws:opensearch/vpcEndpoint:VpcEndpoint":0,"aws:opensearchingest/pipeline:Pipeline":1,"aws:opsworks/application:Application":0,"aws:opsworks/customLayer:CustomLayer":0,"aws:opsworks/ecsClusterLayer:EcsClusterLayer":0,"aws:opsworks/gangliaLayer:GangliaLayer":0,"aws:opsworks/haproxyLayer:HaproxyLayer":0,"aws:opsworks/instance:Instance":0,"aws:opsworks/javaAppLayer:JavaAppLayer":0,"aws:opsworks/memcachedLayer:MemcachedLayer":0,"aws:opsworks/mysqlLayer:MysqlLayer":0,"aws:opsworks/nodejsAppLayer:NodejsAppLayer":0,"aws:opsworks/permission:Permission":0,"aws:opsworks/phpAppLayer:PhpAppLayer":0,"aws:opsworks/railsAppLayer:RailsAppLayer":0,"aws:opsworks/rdsDbInstance:RdsDbInstance":0,"aws:opsworks/stack:Stack":0,"aws:opsworks/staticWebLayer:StaticWebLayer":0,"aws:opsworks/userProfile:UserProfile":0,"aws:organizations/account:Account":0,"aws:organizations/delegatedAdministrator:DelegatedAdministrator":0,"aws:organizations/organization:Organization":0,"aws:organizations/organizationalUnit:OrganizationalUnit":0,"aws:organizations/policy:Policy":0,"aws:organizations/policyAttachment:PolicyAttachment":0,"aws:organizations/resourcePolicy:ResourcePolicy":0,"aws:paymentcryptography/key:Key":1,"aws:paymentcryptography/keyAlias:KeyAlias":1,"aws:pinpoint/admChannel:AdmChannel":0,"aws:pinpoint/apnsChannel:ApnsChannel":0,"aws:pinpoint/apnsSandboxChannel:ApnsSandboxChannel":0,"aws:pinpoint/apnsVoipChannel:ApnsVoipChannel":0,"aws:pinpoint/apnsVoipSandboxChannel:ApnsVoipSandboxChannel":0,"aws:pinpoint/app:App":0,"aws:pinpoint/baiduChannel:BaiduChannel":0,"aws:pinpoint/emailChannel:EmailChannel":0,"aws:pinpoint/emailTemplate:EmailTemplate":1,"aws:pinpoint/eventStream:EventStream":0,"aws:pinpoint/gcmChannel:GcmChannel":0,"aws:pinpoint/smsChannel:SmsChannel":0,"aws:pinpoint/smsvoicev2ConfigurationSet:Smsvoicev2ConfigurationSet":1,"aws:pinpoint/smsvoicev2OptOutList:Smsvoicev2OptOutList":1,"aws:pinpoint/smsvoicev2PhoneNumber:Smsvoicev2PhoneNumber":1,"aws:pipes/pipe:Pipe":0,"aws:qldb/ledger:Ledger":0,"aws:qldb/stream:Stream":0,"aws:quicksight/accountSubscription:AccountSubscription":0,"aws:quicksight/analysis:Analysis":0,"aws:quicksight/dashboard:Dashboard":0,"aws:quicksight/dataSet:DataSet":0,"aws:quicksight/dataSource:DataSource":0,"aws:quicksight/folder:Folder":0,"aws:quicksight/folderMembership:FolderMembership":1,"aws:quicksight/group:Group":0,"aws:quicksight/groupMembership:GroupMembership":0,"aws:quicksight/iamPolicyAssignment:IamPolicyAssignment":1,"aws:quicksight/ingestion:Ingestion":1,"aws:quicksight/namespace:Namespace":1,"aws:quicksight/refreshSchedule:RefreshSchedule":1,"aws:quicksight/template:Template":0,"aws:quicksight/templateAlias:TemplateAlias":1,"aws:quicksight/theme:Theme":0,"aws:quicksight/user:User":0,"aws:quicksight/vpcConnection:VpcConnection":1,"aws:ram/principalAssociation:PrincipalAssociation":0,"aws:ram/resourceAssociation:ResourceAssociation":0,"aws:ram/resourceShare:ResourceShare":0,"aws:ram/resourceShareAccepter:ResourceShareAccepter":0,"aws:ram/sharingWithOrganization:SharingWithOrganization":0,"aws:rbin/rule:Rule":0,"aws:rds/certificate:Certificate":0,"aws:rds/cluster:Cluster":0,"aws:rds/clusterActivityStream:ClusterActivityStream":0,"aws:rds/clusterEndpoint:ClusterEndpoint":0,"aws:rds/clusterInstance:ClusterInstance":0,"aws:rds/clusterParameterGroup:ClusterParameterGroup":0,"aws:rds/clusterRoleAssociation:ClusterRoleAssociation":0,"aws:rds/clusterSnapshot:ClusterSnapshot":0,"aws:rds/customDbEngineVersion:CustomDbEngineVersion":0,"aws:rds/eventSubscription:EventSubscription":0,"aws:rds/exportTask:ExportTask":1,"aws:rds/globalCluster:GlobalCluster":0,"aws:rds/instance:Instance":0,"aws:rds/instanceAutomatedBackupsReplication:InstanceAutomatedBackupsReplication":0,"aws:rds/instanceDesiredState:InstanceDesiredState":1,"aws:rds/integration:Integration":1,"aws:rds/optionGroup:OptionGroup":0,"aws:rds/parameterGroup:ParameterGroup":0,"aws:rds/proxy:Proxy":0,"aws:rds/proxyDefaultTargetGroup:ProxyDefaultTargetGroup":0,"aws:rds/proxyEndpoint:ProxyEndpoint":0,"aws:rds/proxyTarget:ProxyTarget":0,"aws:rds/reservedInstance:ReservedInstance":0,"aws:rds/roleAssociation:RoleAssociation":0,"aws:rds/snapshot:Snapshot":0,"aws:rds/snapshotCopy:SnapshotCopy":0,"aws:rds/subnetGroup:SubnetGroup":0,"aws:redshift/authenticationProfile:AuthenticationProfile":0,"aws:redshift/cluster:Cluster":0,"aws:redshift/clusterIamRoles:ClusterIamRoles":0,"aws:redshift/clusterSnapshot:ClusterSnapshot":0,"aws:redshift/dataShareAuthorization:DataShareAuthorization":1,"aws:redshift/dataShareConsumerAssociation:DataShareConsumerAssociation":1,"aws:redshift/endpointAccess:EndpointAccess":0,"aws:redshift/endpointAuthorization:EndpointAuthorization":0,"aws:redshift/eventSubscription:EventSubscription":0,"aws:redshift/hsmClientCertificate:HsmClientCertificate":0,"aws:redshift/hsmConfiguration:HsmConfiguration":0,"aws:redshift/logging:Logging":1,"aws:redshift/parameterGroup:ParameterGroup":0,"aws:redshift/partner:Partner":0,"aws:redshift/resourcePolicy:ResourcePolicy":0,"aws:redshift/scheduledAction:ScheduledAction":0,"aws:redshift/snapshotCopy:SnapshotCopy":1,"aws:redshift/snapshotCopyGrant:SnapshotCopyGrant":0,"aws:redshift/snapshotSchedule:SnapshotSchedule":0,"aws:redshift/snapshotScheduleAssociation:SnapshotScheduleAssociation":0,"aws:redshift/subnetGroup:SubnetGroup":0,"aws:redshift/usageLimit:UsageLimit":0,"aws:redshiftdata/statement:Statement":0,"aws:redshiftserverless/customDomainAssociation:CustomDomainAssociation":1,"aws:redshiftserverless/endpointAccess:EndpointAccess":0,"aws:redshiftserverless/namespace:Namespace":0,"aws:redshiftserverless/resourcePolicy:ResourcePolicy":0,"aws:redshiftserverless/snapshot:Snapshot":0,"aws:redshiftserverless/usageLimit:UsageLimit":0,"aws:redshiftserverless/workgroup:Workgroup":0,"aws:rekognition/collection:Collection":1,"aws:rekognition/project:Project":1,"aws:rekognition/streamProcessor:StreamProcessor":1,"aws:resiliencehub/resiliencyPolicy:ResiliencyPolicy":1,"aws:resourceexplorer/index:Index":1,"aws:resourceexplorer/view:View":1,"aws:resourcegroups/group:Group":0,"aws:resourcegroups/resource:Resource":0,"aws:rolesanywhere/profile:Profile":0,"aws:rolesanywhere/trustAnchor:TrustAnchor":0,"aws:route53/cidrCollection:CidrCollection":1,"aws:route53/cidrLocation:CidrLocation":1,"aws:route53/delegationSet:DelegationSet":0,"aws:route53/healthCheck:HealthCheck":0,"aws:route53/hostedZoneDnsSec:HostedZoneDnsSec":0,"aws:route53/keySigningKey:KeySigningKey":0,"aws:route53/profilesAssociation:ProfilesAssociation":1,"aws:route53/profilesProfile:ProfilesProfile":1,"aws:route53/profilesResourceAssociation:ProfilesResourceAssociation":1,"aws:route53/queryLog:QueryLog":0,"aws:route53/record:Record":0,"aws:route53/resolverConfig:ResolverConfig":0,"aws:route53/resolverDnsSecConfig:ResolverDnsSecConfig":0,"aws:route53/resolverEndpoint:ResolverEndpoint":0,"aws:route53/resolverFirewallConfig:ResolverFirewallConfig":0,"aws:route53/resolverFirewallDomainList:ResolverFirewallDomainList":0,"aws:route53/resolverFirewallRule:ResolverFirewallRule":0,"aws:route53/resolverFirewallRuleGroup:ResolverFirewallRuleGroup":0,"aws:route53/resolverFirewallRuleGroupAssociation:ResolverFirewallRuleGroupAssociation":0,"aws:route53/resolverQueryLogConfig:ResolverQueryLogConfig":0,"aws:route53/resolverQueryLogConfigAssociation:ResolverQueryLogConfigAssociation":0,"aws:route53/resolverRule:ResolverRule":0,"aws:route53/resolverRuleAssociation:ResolverRuleAssociation":0,"aws:route53/trafficPolicy:TrafficPolicy":0,"aws:route53/trafficPolicyInstance:TrafficPolicyInstance":0,"aws:route53/vpcAssociationAuthorization:VpcAssociationAuthorization":0,"aws:route53/zone:Zone":0,"aws:route53/zoneAssociation:ZoneAssociation":0,"aws:route53domains/delegationSignerRecord:DelegationSignerRecord":1,"aws:route53domains/registeredDomain:RegisteredDomain":0,"aws:route53recoverycontrol/cluster:Cluster":0,"aws:route53recoverycontrol/controlPanel:ControlPanel":0,"aws:route53recoverycontrol/routingControl:RoutingControl":0,"aws:route53recoverycontrol/safetyRule:SafetyRule":0,"aws:route53recoveryreadiness/cell:Cell":0,"aws:route53recoveryreadiness/readinessCheck:ReadinessCheck":0,"aws:route53recoveryreadiness/recoveryGroup:RecoveryGroup":0,"aws:route53recoveryreadiness/resourceSet:ResourceSet":0,"aws:rum/appMonitor:AppMonitor":0,"aws:rum/metricsDestination:MetricsDestination":0,"aws:s3/accessPoint:AccessPoint":0,"aws:s3/accountPublicAccessBlock:AccountPublicAccessBlock":0,"aws:s3/analyticsConfiguration:AnalyticsConfiguration":0,"aws:s3/bucket:Bucket":0,"aws:s3/bucketAccelerateConfigurationV2:BucketAccelerateConfigurationV2":0,"aws:s3/bucketAclV2:BucketAclV2":0,"aws:s3/bucketCorsConfigurationV2:BucketCorsConfigurationV2":0,"aws:s3/bucketIntelligentTieringConfiguration:BucketIntelligentTieringConfiguration":0,"aws:s3/bucketLifecycleConfigurationV2:BucketLifecycleConfigurationV2":0,"aws:s3/bucketLoggingV2:BucketLoggingV2":0,"aws:s3/bucketMetric:BucketMetric":0,"aws:s3/bucketNotification:BucketNotification":0,"aws:s3/bucketObject:BucketObject":0,"aws:s3/bucketObjectLockConfigurationV2:BucketObjectLockConfigurationV2":0,"aws:s3/bucketObjectv2:BucketObjectv2":0,"aws:s3/bucketOwnershipControls:BucketOwnershipControls":0,"aws:s3/bucketPolicy:BucketPolicy":0,"aws:s3/bucketPublicAccessBlock:BucketPublicAccessBlock":0,"aws:s3/bucketReplicationConfig:BucketReplicationConfig":0,"aws:s3/bucketRequestPaymentConfigurationV2:BucketRequestPaymentConfigurationV2":0,"aws:s3/bucketServerSideEncryptionConfigurationV2:BucketServerSideEncryptionConfigurationV2":0,"aws:s3/bucketV2:BucketV2":0,"aws:s3/bucketVersioningV2:BucketVersioningV2":0,"aws:s3/bucketWebsiteConfigurationV2:BucketWebsiteConfigurationV2":0,"aws:s3/directoryBucket:DirectoryBucket":1,"aws:s3/inventory:Inventory":0,"aws:s3/objectCopy:ObjectCopy":0,"aws:s3control/accessGrant:AccessGrant":1,"aws:s3control/accessGrantsInstance:AccessGrantsInstance":1,"aws:s3control/accessGrantsInstanceResourcePolicy:AccessGrantsInstanceResourcePolicy":1,"aws:s3control/accessGrantsLocation:AccessGrantsLocation":1,"aws:s3control/accessPointPolicy:AccessPointPolicy":0,"aws:s3control/bucket:Bucket":0,"aws:s3control/bucketLifecycleConfiguration:BucketLifecycleConfiguration":0,"aws:s3control/bucketPolicy:BucketPolicy":0,"aws:s3control/multiRegionAccessPoint:MultiRegionAccessPoint":0,"aws:s3control/multiRegionAccessPointPolicy:MultiRegionAccessPointPolicy":0,"aws:s3control/objectLambdaAccessPoint:ObjectLambdaAccessPoint":0,"aws:s3control/objectLambdaAccessPointPolicy:ObjectLambdaAccessPointPolicy":0,"aws:s3control/storageLensConfiguration:StorageLensConfiguration":0,"aws:s3outposts/endpoint:Endpoint":0,"aws:s3tables/namespace:Namespace":1,"aws:s3tables/table:Table":1,"aws:s3tables/tableBucket:TableBucket":1,"aws:s3tables/tableBucketPolicy:TableBucketPolicy":1,"aws:s3tables/tablePolicy:TablePolicy":1,"aws:sagemaker/app:App":0,"aws:sagemaker/appImageConfig:AppImageConfig":0,"aws:sagemaker/codeRepository:CodeRepository":0,"aws:sagemaker/dataQualityJobDefinition:DataQualityJobDefinition":0,"aws:sagemaker/device:Device":0,"aws:sagemaker/deviceFleet:DeviceFleet":0,"aws:sagemaker/domain:Domain":0,"aws:sagemaker/endpoint:Endpoint":0,"aws:sagemaker/endpointConfiguration:EndpointConfiguration":0,"aws:sagemaker/featureGroup:FeatureGroup":0,"aws:sagemaker/flowDefinition:FlowDefinition":0,"aws:sagemaker/hub:Hub":0,"aws:sagemaker/humanTaskUI:HumanTaskUI":0,"aws:sagemaker/image:Image":0,"aws:sagemaker/imageVersion:ImageVersion":0,"aws:sagemaker/mlflowTrackingServer:MlflowTrackingServer":0,"aws:sagemaker/model:Model":0,"aws:sagemaker/modelPackageGroup:ModelPackageGroup":0,"aws:sagemaker/modelPackageGroupPolicy:ModelPackageGroupPolicy":0,"aws:sagemaker/monitoringSchedule:MonitoringSchedule":0,"aws:sagemaker/notebookInstance:NotebookInstance":0,"aws:sagemaker/notebookInstanceLifecycleConfiguration:NotebookInstanceLifecycleConfiguration":0,"aws:sagemaker/pipeline:Pipeline":0,"aws:sagemaker/project:Project":0,"aws:sagemaker/servicecatalogPortfolioStatus:ServicecatalogPortfolioStatus":0,"aws:sagemaker/space:Space":0,"aws:sagemaker/studioLifecycleConfig:StudioLifecycleConfig":0,"aws:sagemaker/userProfile:UserProfile":0,"aws:sagemaker/workforce:Workforce":0,"aws:sagemaker/workteam:Workteam":0,"aws:scheduler/schedule:Schedule":0,"aws:scheduler/scheduleGroup:ScheduleGroup":0,"aws:schemas/discoverer:Discoverer":0,"aws:schemas/registry:Registry":0,"aws:schemas/registryPolicy:RegistryPolicy":0,"aws:schemas/schema:Schema":0,"aws:secretsmanager/secret:Secret":0,"aws:secretsmanager/secretPolicy:SecretPolicy":0,"aws:secretsmanager/secretRotation:SecretRotation":0,"aws:secretsmanager/secretVersion:SecretVersion":0,"aws:securityhub/account:Account":0,"aws:securityhub/actionTarget:ActionTarget":0,"aws:securityhub/automationRule:AutomationRule":1,"aws:securityhub/configurationPolicy:ConfigurationPolicy":0,"aws:securityhub/configurationPolicyAssociation:ConfigurationPolicyAssociation":0,"aws:securityhub/findingAggregator:FindingAggregator":0,"aws:securityhub/insight:Insight":0,"aws:securityhub/inviteAccepter:InviteAccepter":0,"aws:securityhub/member:Member":0,"aws:securityhub/organizationAdminAccount:OrganizationAdminAccount":0,"aws:securityhub/organizationConfiguration:OrganizationConfiguration":0,"aws:securityhub/productSubscription:ProductSubscription":0,"aws:securityhub/standardsControl:StandardsControl":0,"aws:securityhub/standardsControlAssociation:StandardsControlAssociation":1,"aws:securityhub/standardsSubscription:StandardsSubscription":0,"aws:securitylake/awsLogSource:AwsLogSource":1,"aws:securitylake/customLogSource:CustomLogSource":1,"aws:securitylake/dataLake:DataLake":1,"aws:securitylake/subscriber:Subscriber":1,"aws:securitylake/subscriberNotification:SubscriberNotification":1,"aws:serverlessrepository/cloudFormationStack:CloudFormationStack":0,"aws:servicecatalog/appregistryApplication:AppregistryApplication":1,"aws:servicecatalog/appregistryAttributeGroup:AppregistryAttributeGroup":1,"aws:servicecatalog/appregistryAttributeGroupAssociation:AppregistryAttributeGroupAssociation":1,"aws:servicecatalog/budgetResourceAssociation:BudgetResourceAssociation":0,"aws:servicecatalog/constraint:Constraint":0,"aws:servicecatalog/organizationsAccess:OrganizationsAccess":0,"aws:servicecatalog/portfolio:Portfolio":0,"aws:servicecatalog/portfolioShare:PortfolioShare":0,"aws:servicecatalog/principalPortfolioAssociation:PrincipalPortfolioAssociation":0,"aws:servicecatalog/product:Product":0,"aws:servicecatalog/productPortfolioAssociation:ProductPortfolioAssociation":0,"aws:servicecatalog/provisionedProduct:ProvisionedProduct":0,"aws:servicecatalog/provisioningArtifact:ProvisioningArtifact":0,"aws:servicecatalog/serviceAction:ServiceAction":0,"aws:servicecatalog/tagOption:TagOption":0,"aws:servicecatalog/tagOptionResourceAssociation:TagOptionResourceAssociation":0,"aws:servicediscovery/httpNamespace:HttpNamespace":0,"aws:servicediscovery/instance:Instance":0,"aws:servicediscovery/privateDnsNamespace:PrivateDnsNamespace":0,"aws:servicediscovery/publicDnsNamespace:PublicDnsNamespace":0,"aws:servicediscovery/service:Service":0,"aws:servicequotas/serviceQuota:ServiceQuota":0,"aws:servicequotas/template:Template":1,"aws:servicequotas/templateAssociation:TemplateAssociation":1,"aws:ses/activeReceiptRuleSet:ActiveReceiptRuleSet":0,"aws:ses/configurationSet:ConfigurationSet":0,"aws:ses/domainDkim:DomainDkim":0,"aws:ses/domainIdentity:DomainIdentity":0,"aws:ses/domainIdentityVerification:DomainIdentityVerification":0,"aws:ses/emailIdentity:EmailIdentity":0,"aws:ses/eventDestination:EventDestination":0,"aws:ses/identityNotificationTopic:IdentityNotificationTopic":0,"aws:ses/identityPolicy:IdentityPolicy":0,"aws:ses/mailFrom:MailFrom":0,"aws:ses/receiptFilter:ReceiptFilter":0,"aws:ses/receiptRule:ReceiptRule":0,"aws:ses/receiptRuleSet:ReceiptRuleSet":0,"aws:ses/template:Template":0,"aws:sesv2/accountSuppressionAttributes:AccountSuppressionAttributes":1,"aws:sesv2/accountVdmAttributes:AccountVdmAttributes":0,"aws:sesv2/configurationSet:ConfigurationSet":0,"aws:sesv2/configurationSetEventDestination:ConfigurationSetEventDestination":0,"aws:sesv2/contactList:ContactList":0,"aws:sesv2/dedicatedIpAssignment:DedicatedIpAssignment":0,"aws:sesv2/dedicatedIpPool:DedicatedIpPool":0,"aws:sesv2/emailIdentity:EmailIdentity":0,"aws:sesv2/emailIdentityFeedbackAttributes:EmailIdentityFeedbackAttributes":0,"aws:sesv2/emailIdentityMailFromAttributes:EmailIdentityMailFromAttributes":0,"aws:sesv2/emailIdentityPolicy:EmailIdentityPolicy":0,"aws:sfn/activity:Activity":0,"aws:sfn/alias:Alias":0,"aws:sfn/stateMachine:StateMachine":0,"aws:shield/applicationLayerAutomaticResponse:ApplicationLayerAutomaticResponse":1,"aws:shield/drtAccessLogBucketAssociation:DrtAccessLogBucketAssociation":1,"aws:shield/drtAccessRoleArnAssociation:DrtAccessRoleArnAssociation":1,"aws:shield/proactiveEngagement:ProactiveEngagement":1,"aws:shield/protection:Protection":0,"aws:shield/protectionGroup:ProtectionGroup":0,"aws:shield/protectionHealthCheckAssociation:ProtectionHealthCheckAssociation":0,"aws:shield/subscription:Subscription":1,"aws:signer/signingJob:SigningJob":0,"aws:signer/signingProfile:SigningProfile":0,"aws:signer/signingProfilePermission:SigningProfilePermission":0,"aws:simpledb/domain:Domain":1,"aws:sns/dataProtectionPolicy:DataProtectionPolicy":0,"aws:sns/platformApplication:PlatformApplication":0,"aws:sns/smsPreferences:SmsPreferences":0,"aws:sns/topic:Topic":0,"aws:sns/topicPolicy:TopicPolicy":0,"aws:sns/topicSubscription:TopicSubscription":0,"aws:sqs/queue:Queue":0,"aws:sqs/queuePolicy:QueuePolicy":0,"aws:sqs/redriveAllowPolicy:RedriveAllowPolicy":0,"aws:sqs/redrivePolicy:RedrivePolicy":0,"aws:ssm/activation:Activation":0,"aws:ssm/association:Association":0,"aws:ssm/contactsRotation:ContactsRotation":1,"aws:ssm/defaultPatchBaseline:DefaultPatchBaseline":0,"aws:ssm/document:Document":0,"aws:ssm/maintenanceWindow:MaintenanceWindow":0,"aws:ssm/maintenanceWindowTarget:MaintenanceWindowTarget":0,"aws:ssm/maintenanceWindowTask:MaintenanceWindowTask":0,"aws:ssm/parameter:Parameter":0,"aws:ssm/patchBaseline:PatchBaseline":0,"aws:ssm/patchGroup:PatchGroup":0,"aws:ssm/quicksetupConfigurationManager:QuicksetupConfigurationManager":1,"aws:ssm/resourceDataSync:ResourceDataSync":0,"aws:ssm/serviceSetting:ServiceSetting":0,"aws:ssmcontacts/contact:Contact":0,"aws:ssmcontacts/contactChannel:ContactChannel":0,"aws:ssmcontacts/plan:Plan":0,"aws:ssmincidents/replicationSet:ReplicationSet":0,"aws:ssmincidents/responsePlan:ResponsePlan":0,"aws:ssoadmin/accountAssignment:AccountAssignment":0,"aws:ssoadmin/application:Application":1,"aws:ssoadmin/applicationAccessScope:ApplicationAccessScope":1,"aws:ssoadmin/applicationAssignment:ApplicationAssignment":1,"aws:ssoadmin/applicationAssignmentConfiguration:ApplicationAssignmentConfiguration":1,"aws:ssoadmin/customerManagedPolicyAttachment:CustomerManagedPolicyAttachment":0,"aws:ssoadmin/instanceAccessControlAttributes:InstanceAccessControlAttributes":0,"aws:ssoadmin/managedPolicyAttachment:ManagedPolicyAttachment":0,"aws:ssoadmin/permissionSet:PermissionSet":0,"aws:ssoadmin/permissionSetInlinePolicy:PermissionSetInlinePolicy":0,"aws:ssoadmin/permissionsBoundaryAttachment:PermissionsBoundaryAttachment":0,"aws:ssoadmin/trustedTokenIssuer:TrustedTokenIssuer":1,"aws:storagegateway/cache:Cache":0,"aws:storagegateway/cachesIscsiVolume:CachesIscsiVolume":0,"aws:storagegateway/fileSystemAssociation:FileSystemAssociation":0,"aws:storagegateway/gateway:Gateway":0,"aws:storagegateway/nfsFileShare:NfsFileShare":0,"aws:storagegateway/smbFileShare:SmbFileShare":0,"aws:storagegateway/storedIscsiVolume:StoredIscsiVolume":0,"aws:storagegateway/tapePool:TapePool":0,"aws:storagegateway/uploadBuffer:UploadBuffer":0,"aws:storagegateway/workingStorage:WorkingStorage":0,"aws:swf/domain:Domain":0,"aws:synthetics/canary:Canary":0,"aws:synthetics/group:Group":0,"aws:synthetics/groupAssociation:GroupAssociation":0,"aws:timestreaminfluxdb/dbInstance:DbInstance":1,"aws:timestreamwrite/database:Database":0,"aws:timestreamwrite/table:Table":0,"aws:transcribe/languageModel:LanguageModel":0,"aws:transcribe/medicalVocabulary:MedicalVocabulary":0,"aws:transcribe/vocabulary:Vocabulary":0,"aws:transcribe/vocabularyFilter:VocabularyFilter":0,"aws:transfer/access:Access":0,"aws:transfer/agreement:Agreement":0,"aws:transfer/certificate:Certificate":0,"aws:transfer/connector:Connector":0,"aws:transfer/profile:Profile":0,"aws:transfer/server:Server":0,"aws:transfer/sshKey:SshKey":0,"aws:transfer/tag:Tag":0,"aws:transfer/user:User":0,"aws:transfer/workflow:Workflow":0,"aws:verifiedaccess/endpoint:Endpoint":0,"aws:verifiedaccess/group:Group":0,"aws:verifiedaccess/instance:Instance":0,"aws:verifiedaccess/instanceLoggingConfiguration:InstanceLoggingConfiguration":0,"aws:verifiedaccess/instanceTrustProviderAttachment:InstanceTrustProviderAttachment":0,"aws:verifiedaccess/trustProvider:TrustProvider":0,"aws:verifiedpermissions/identitySource:IdentitySource":1,"aws:verifiedpermissions/policy:Policy":1,"aws:verifiedpermissions/policyStore:PolicyStore":1,"aws:verifiedpermissions/policyTemplate:PolicyTemplate":1,"aws:verifiedpermissions/schema:Schema":1,"aws:vpc/endpointPrivateDns:EndpointPrivateDns":1,"aws:vpc/endpointServicePrivateDnsVerification:EndpointServicePrivateDnsVerification":1,"aws:vpc/securityGroupEgressRule:SecurityGroupEgressRule":1,"aws:vpc/securityGroupIngressRule:SecurityGroupIngressRule":1,"aws:vpc/securityGroupVpcAssociation:SecurityGroupVpcAssociation":1,"aws:vpclattice/accessLogSubscription:AccessLogSubscription":0,"aws:vpclattice/authPolicy:AuthPolicy":0,"aws:vpclattice/listener:Listener":0,"aws:vpclattice/listenerRule:ListenerRule":0,"aws:vpclattice/resourcePolicy:ResourcePolicy":0,"aws:vpclattice/service:Service":0,"aws:vpclattice/serviceNetwork:ServiceNetwork":0,"aws:vpclattice/serviceNetworkServiceAssociation:ServiceNetworkServiceAssociation":0,"aws:vpclattice/serviceNetworkVpcAssociation:ServiceNetworkVpcAssociation":0,"aws:vpclattice/targetGroup:TargetGroup":0,"aws:vpclattice/targetGroupAttachment:TargetGroupAttachment":0,"aws:waf/byteMatchSet:ByteMatchSet":0,"aws:waf/geoMatchSet:GeoMatchSet":0,"aws:waf/ipSet:IpSet":0,"aws:waf/rateBasedRule:RateBasedRule":0,"aws:waf/regexMatchSet:RegexMatchSet":0,"aws:waf/regexPatternSet:RegexPatternSet":0,"aws:waf/rule:Rule":0,"aws:waf/ruleGroup:RuleGroup":0,"aws:waf/sizeConstraintSet:SizeConstraintSet":0,"aws:waf/sqlInjectionMatchSet:SqlInjectionMatchSet":0,"aws:waf/webAcl:WebAcl":0,"aws:waf/xssMatchSet:XssMatchSet":0,"aws:wafregional/byteMatchSet:ByteMatchSet":0,"aws:wafregional/geoMatchSet:GeoMatchSet":0,"aws:wafregional/ipSet:IpSet":0,"aws:wafregional/rateBasedRule:RateBasedRule":0,"aws:wafregional/regexMatchSet:RegexMatchSet":0,"aws:wafregional/regexPatternSet:RegexPatternSet":0,"aws:wafregional/rule:Rule":0,"aws:wafregional/ruleGroup:RuleGroup":0,"aws:wafregional/sizeConstraintSet:SizeConstraintSet":0,"aws:wafregional/sqlInjectionMatchSet:SqlInjectionMatchSet":0,"aws:wafregional/webAcl:WebAcl":0,"aws:wafregional/webAclAssociation:WebAclAssociation":0,"aws:wafregional/xssMatchSet:XssMatchSet":0,"aws:wafv2/ipSet:IpSet":0,"aws:wafv2/regexPatternSet:RegexPatternSet":0,"aws:wafv2/ruleGroup:RuleGroup":0,"aws:wafv2/webAcl:WebAcl":0,"aws:wafv2/webAclAssociation:WebAclAssociation":0,"aws:wafv2/webAclLoggingConfiguration:WebAclLoggingConfiguration":0,"aws:worklink/fleet:Fleet":0,"aws:worklink/websiteCertificateAuthorityAssociation:WebsiteCertificateAuthorityAssociation":0,"aws:workspaces/connectionAlias:ConnectionAlias":1,"aws:workspaces/directory:Directory":0,"aws:workspaces/ipGroup:IpGroup":0,"aws:workspaces/workspace:Workspace":0,"aws:xray/encryptionConfig:EncryptionConfig":0,"aws:xray/group:Group":0,"aws:xray/samplingRule:SamplingRule":0},"functions":{"aws:acm/getCertificate:getCertificate":0,"aws:acmpca/getCertificate:getCertificate":0,"aws:acmpca/getCertificateAuthority:getCertificateAuthority":0,"aws:alb/getListener:getListener":0,"aws:alb/getLoadBalancer:getLoadBalancer":0,"aws:alb/getTargetGroup:getTargetGroup":0,"aws:amp/getDefaultScraperConfiguration:getDefaultScraperConfiguration":1,"aws:amp/getWorkspace:getWorkspace":0,"aws:amp/getWorkspaces:getWorkspaces":0,"aws:apigateway/getAuthorizer:getAuthorizer":0,"aws:apigateway/getAuthorizers:getAuthorizers":0,"aws:apigateway/getDomainName:getDomainName":0,"aws:apigateway/getExport:getExport":0,"aws:apigateway/getKey:getKey":0,"aws:apigateway/getResource:getResource":0,"aws:apigateway/getRestApi:getRestApi":0,"aws:apigateway/getSdk:getSdk":0,"aws:apigateway/getVpcLink:getVpcLink":0,"aws:apigatewayv2/getApi:getApi":0,"aws:apigatewayv2/getApis:getApis":0,"aws:apigatewayv2/getExport:getExport":0,"aws:apigatewayv2/getVpcLink:getVpcLink":0,"aws:appconfig/getConfigurationProfile:getConfigurationProfile":0,"aws:appconfig/getConfigurationProfiles:getConfigurationProfiles":0,"aws:appconfig/getEnvironment:getEnvironment":0,"aws:appconfig/getEnvironments:getEnvironments":0,"aws:appintegrations/getEventIntegration:getEventIntegration":0,"aws:appmesh/getGatewayRoute:getGatewayRoute":0,"aws:appmesh/getMesh:getMesh":0,"aws:appmesh/getRoute:getRoute":0,"aws:appmesh/getVirtualGateway:getVirtualGateway":0,"aws:appmesh/getVirtualNode:getVirtualNode":0,"aws:appmesh/getVirtualRouter:getVirtualRouter":0,"aws:appmesh/getVirtualService:getVirtualService":0,"aws:apprunner/getHostedZoneId:getHostedZoneId":1,"aws:appstream/getImage:getImage":1,"aws:athena/getNamedQuery:getNamedQuery":0,"aws:auditmanager/getControl:getControl":1,"aws:auditmanager/getFramework:getFramework":1,"aws:autoscaling/getAmiIds:getAmiIds":0,"aws:autoscaling/getGroup:getGroup":0,"aws:backup/getFramework:getFramework":0,"aws:backup/getPlan:getPlan":0,"aws:backup/getReportPlan:getReportPlan":0,"aws:backup/getSelection:getSelection":0,"aws:backup/getVault:getVault":0,"aws:batch/getComputeEnvironment:getComputeEnvironment":0,"aws:batch/getJobDefinition:getJobDefinition":1,"aws:batch/getJobQueue:getJobQueue":0,"aws:batch/getSchedulingPolicy:getSchedulingPolicy":0,"aws:bedrock/getAgentAgentVersions:getAgentAgentVersions":1,"aws:bedrock/getCustomModel:getCustomModel":1,"aws:bedrock/getCustomModels:getCustomModels":1,"aws:bedrock/getInferenceProfile:getInferenceProfile":1,"aws:bedrock/getInferenceProfiles:getInferenceProfiles":1,"aws:bedrockfoundation/getModel:getModel":1,"aws:bedrockfoundation/getModels:getModels":1,"aws:budgets/getBudget:getBudget":0,"aws:chatbot/getSlackWorkspace:getSlackWorkspace":1,"aws:cloudcontrol/getResource:getResource":0,"aws:cloudformation/getCloudFormationType:getCloudFormationType":0,"aws:cloudformation/getExport:getExport":0,"aws:cloudformation/getStack:getStack":0,"aws:cloudfront/getCachePolicy:getCachePolicy":0,"aws:cloudfront/getDistribution:getDistribution":0,"aws:cloudfront/getFunction:getFunction":0,"aws:cloudfront/getLogDeliveryCanonicalUserId:getLogDeliveryCanonicalUserId":0,"aws:cloudfront/getOriginAccessControl:getOriginAccessControl":1,"aws:cloudfront/getOriginAccessIdentities:getOriginAccessIdentities":0,"aws:cloudfront/getOriginAccessIdentity:getOriginAccessIdentity":0,"aws:cloudfront/getOriginRequestPolicy:getOriginRequestPolicy":0,"aws:cloudfront/getRealtimeLogConfig:getRealtimeLogConfig":0,"aws:cloudfront/getResponseHeadersPolicy:getResponseHeadersPolicy":0,"aws:cloudhsmv2/getCluster:getCluster":0,"aws:cloudtrail/getServiceAccount:getServiceAccount":0,"aws:cloudwatch/getEventBus:getEventBus":0,"aws:cloudwatch/getEventConnection:getEventConnection":0,"aws:cloudwatch/getEventSource:getEventSource":0,"aws:cloudwatch/getLogDataProtectionPolicyDocument:getLogDataProtectionPolicyDocument":0,"aws:cloudwatch/getLogGroup:getLogGroup":0,"aws:cloudwatch/getLogGroups:getLogGroups":0,"aws:codeartifact/getAuthorizationToken:getAuthorizationToken":0,"aws:codeartifact/getRepositoryEndpoint:getRepositoryEndpoint":0,"aws:codebuild/getFleet:getFleet":0,"aws:codecatalyst/getDevEnvironment:getDevEnvironment":0,"aws:codecommit/getApprovalRuleTemplate:getApprovalRuleTemplate":0,"aws:codecommit/getRepository:getRepository":0,"aws:codeguruprofiler/getProfilingGroup:getProfilingGroup":1,"aws:codestarconnections/getConnection:getConnection":0,"aws:cognito/getIdentityPool:getIdentityPool":0,"aws:cognito/getUserGroup:getUserGroup":1,"aws:cognito/getUserGroups:getUserGroups":1,"aws:cognito/getUserPool:getUserPool":1,"aws:cognito/getUserPoolClient:getUserPoolClient":0,"aws:cognito/getUserPoolClients:getUserPoolClients":0,"aws:cognito/getUserPoolSigningCertificate:getUserPoolSigningCertificate":0,"aws:cognito/getUserPools:getUserPools":0,"aws:connect/getBotAssociation:getBotAssociation":0,"aws:connect/getContactFlow:getContactFlow":0,"aws:connect/getContactFlowModule:getContactFlowModule":0,"aws:connect/getHoursOfOperation:getHoursOfOperation":0,"aws:connect/getInstance:getInstance":0,"aws:connect/getInstanceStorageConfig:getInstanceStorageConfig":0,"aws:connect/getLambdaFunctionAssociation:getLambdaFunctionAssociation":0,"aws:connect/getPrompt:getPrompt":0,"aws:connect/getQueue:getQueue":0,"aws:connect/getQuickConnect:getQuickConnect":0,"aws:connect/getRoutingProfile:getRoutingProfile":0,"aws:connect/getSecurityProfile:getSecurityProfile":0,"aws:connect/getUser:getUser":0,"aws:connect/getUserHierarchyGroup:getUserHierarchyGroup":0,"aws:connect/getUserHierarchyStructure:getUserHierarchyStructure":0,"aws:connect/getVocabulary:getVocabulary":0,"aws:controltower/getControls:getControls":0,"aws:costexplorer/getCostCategory:getCostCategory":0,"aws:costexplorer/getTags:getTags":0,"aws:cur/getReportDefinition:getReportDefinition":0,"aws:datapipeline/getPipeline:getPipeline":0,"aws:datapipeline/getPipelineDefinition:getPipelineDefinition":0,"aws:datazone/getEnvironmentBlueprint:getEnvironmentBlueprint":1,"aws:devopsguru/getNotificationChannel:getNotificationChannel":1,"aws:devopsguru/getResourceCollection:getResourceCollection":1,"aws:directconnect/getConnection:getConnection":0,"aws:directconnect/getGateway:getGateway":0,"aws:directconnect/getLocation:getLocation":0,"aws:directconnect/getLocations:getLocations":0,"aws:directconnect/getRouterConfiguration:getRouterConfiguration":0,"aws:directoryservice/getDirectory:getDirectory":0,"aws:dms/getCertificate:getCertificate":0,"aws:dms/getEndpoint:getEndpoint":0,"aws:dms/getReplicationInstance:getReplicationInstance":0,"aws:dms/getReplicationSubnetGroup:getReplicationSubnetGroup":0,"aws:dms/getReplicationTask:getReplicationTask":0,"aws:docdb/getEngineVersion:getEngineVersion":0,"aws:docdb/getOrderableDbInstance:getOrderableDbInstance":0,"aws:dynamodb/getTable:getTable":0,"aws:dynamodb/getTableItem:getTableItem":0,"aws:ebs/getDefaultKmsKey:getDefaultKmsKey":0,"aws:ebs/getEbsVolumes:getEbsVolumes":0,"aws:ebs/getEncryptionByDefault:getEncryptionByDefault":0,"aws:ebs/getSnapshot:getSnapshot":0,"aws:ebs/getSnapshotIds:getSnapshotIds":0,"aws:ebs/getVolume:getVolume":0,"aws:ec2/getAmi:getAmi":0,"aws:ec2/getAmiIds:getAmiIds":0,"aws:ec2/getCapacityBlockOffering:getCapacityBlockOffering":1,"aws:ec2/getCoipPool:getCoipPool":0,"aws:ec2/getCoipPools:getCoipPools":0,"aws:ec2/getCustomerGateway:getCustomerGateway":0,"aws:ec2/getDedicatedHost:getDedicatedHost":0,"aws:ec2/getEips:getEips":0,"aws:ec2/getElasticIp:getElasticIp":0,"aws:ec2/getInstance:getInstance":0,"aws:ec2/getInstanceType:getInstanceType":0,"aws:ec2/getInstanceTypeOffering:getInstanceTypeOffering":0,"aws:ec2/getInstanceTypeOfferings:getInstanceTypeOfferings":0,"aws:ec2/getInstanceTypes:getInstanceTypes":0,"aws:ec2/getInstances:getInstances":0,"aws:ec2/getInternetGateway:getInternetGateway":0,"aws:ec2/getIpamPreviewNextCidr:getIpamPreviewNextCidr":0,"aws:ec2/getKeyPair:getKeyPair":0,"aws:ec2/getLaunchConfiguration:getLaunchConfiguration":0,"aws:ec2/getLaunchTemplate:getLaunchTemplate":0,"aws:ec2/getLocalGateway:getLocalGateway":0,"aws:ec2/getLocalGatewayRouteTable:getLocalGatewayRouteTable":0,"aws:ec2/getLocalGatewayRouteTables:getLocalGatewayRouteTables":0,"aws:ec2/getLocalGatewayVirtualInterface:getLocalGatewayVirtualInterface":0,"aws:ec2/getLocalGatewayVirtualInterfaceGroup:getLocalGatewayVirtualInterfaceGroup":0,"aws:ec2/getLocalGatewayVirtualInterfaceGroups:getLocalGatewayVirtualInterfaceGroups":0,"aws:ec2/getLocalGateways:getLocalGateways":0,"aws:ec2/getManagedPrefixList:getManagedPrefixList":0,"aws:ec2/getManagedPrefixLists:getManagedPrefixLists":0,"aws:ec2/getNatGateway:getNatGateway":0,"aws:ec2/getNatGateways:getNatGateways":0,"aws:ec2/getNetworkAcls:getNetworkAcls":0,"aws:ec2/getNetworkInsightsAnalysis:getNetworkInsightsAnalysis":0,"aws:ec2/getNetworkInsightsPath:getNetworkInsightsPath":0,"aws:ec2/getNetworkInterface:getNetworkInterface":0,"aws:ec2/getNetworkInterfaces:getNetworkInterfaces":0,"aws:ec2/getPrefixList:getPrefixList":0,"aws:ec2/getPublicIpv4Pool:getPublicIpv4Pool":0,"aws:ec2/getPublicIpv4Pools:getPublicIpv4Pools":0,"aws:ec2/getRoute:getRoute":0,"aws:ec2/getRouteTable:getRouteTable":0,"aws:ec2/getRouteTables:getRouteTables":0,"aws:ec2/getSecurityGroup:getSecurityGroup":0,"aws:ec2/getSecurityGroups:getSecurityGroups":0,"aws:ec2/getSerialConsoleAccess:getSerialConsoleAccess":0,"aws:ec2/getSpotDatafeedSubscription:getSpotDatafeedSubscription":1,"aws:ec2/getSpotPrice:getSpotPrice":0,"aws:ec2/getSubnet:getSubnet":0,"aws:ec2/getSubnets:getSubnets":0,"aws:ec2/getTransitGatewayRouteTables:getTransitGatewayRouteTables":0,"aws:ec2/getVpc:getVpc":0,"aws:ec2/getVpcDhcpOptions:getVpcDhcpOptions":0,"aws:ec2/getVpcEndpoint:getVpcEndpoint":0,"aws:ec2/getVpcEndpointService:getVpcEndpointService":0,"aws:ec2/getVpcIamPool:getVpcIamPool":0,"aws:ec2/getVpcIamPoolCidrs:getVpcIamPoolCidrs":0,"aws:ec2/getVpcIamPools:getVpcIamPools":0,"aws:ec2/getVpcIpamPool:getVpcIpamPool":0,"aws:ec2/getVpcIpamPoolCidrs:getVpcIpamPoolCidrs":0,"aws:ec2/getVpcIpamPools:getVpcIpamPools":0,"aws:ec2/getVpcPeeringConnection:getVpcPeeringConnection":0,"aws:ec2/getVpcPeeringConnections:getVpcPeeringConnections":0,"aws:ec2/getVpcs:getVpcs":0,"aws:ec2/getVpnGateway:getVpnGateway":0,"aws:ec2clientvpn/getEndpoint:getEndpoint":0,"aws:ec2transitgateway/getAttachment:getAttachment":0,"aws:ec2transitgateway/getAttachments:getAttachments":0,"aws:ec2transitgateway/getConnect:getConnect":0,"aws:ec2transitgateway/getConnectPeer:getConnectPeer":0,"aws:ec2transitgateway/getDirectConnectGatewayAttachment:getDirectConnectGatewayAttachment":0,"aws:ec2transitgateway/getMulticastDomain:getMulticastDomain":0,"aws:ec2transitgateway/getPeeringAttachment:getPeeringAttachment":0,"aws:ec2transitgateway/getPeeringAttachments:getPeeringAttachments":0,"aws:ec2transitgateway/getRouteTable:getRouteTable":0,"aws:ec2transitgateway/getRouteTableAssociations:getRouteTableAssociations":0,"aws:ec2transitgateway/getRouteTablePropagations:getRouteTablePropagations":0,"aws:ec2transitgateway/getRouteTableRoutes:getRouteTableRoutes":0,"aws:ec2transitgateway/getTransitGateway:getTransitGateway":0,"aws:ec2transitgateway/getVpcAttachment:getVpcAttachment":0,"aws:ec2transitgateway/getVpcAttachments:getVpcAttachments":0,"aws:ec2transitgateway/getVpnAttachment:getVpnAttachment":0,"aws:ecr/getAuthorizationToken:getAuthorizationToken":0,"aws:ecr/getCredentials:getCredentials":0,"aws:ecr/getImage:getImage":0,"aws:ecr/getLifecyclePolicyDocument:getLifecyclePolicyDocument":1,"aws:ecr/getPullThroughCacheRule:getPullThroughCacheRule":0,"aws:ecr/getRepositories:getRepositories":1,"aws:ecr/getRepository:getRepository":0,"aws:ecr/getRepositoryCreationTemplate:getRepositoryCreationTemplate":0,"aws:ecrpublic/getAuthorizationToken:getAuthorizationToken":0,"aws:ecs/getCluster:getCluster":0,"aws:ecs/getContainerDefinition:getContainerDefinition":0,"aws:ecs/getService:getService":0,"aws:ecs/getTaskDefinition:getTaskDefinition":0,"aws:ecs/getTaskExecution:getTaskExecution":0,"aws:efs/getAccessPoint:getAccessPoint":0,"aws:efs/getAccessPoints:getAccessPoints":0,"aws:efs/getFileSystem:getFileSystem":0,"aws:efs/getMountTarget:getMountTarget":0,"aws:eks/getAccessEntry:getAccessEntry":0,"aws:eks/getAddon:getAddon":0,"aws:eks/getAddonVersion:getAddonVersion":0,"aws:eks/getCluster:getCluster":0,"aws:eks/getClusterAuth:getClusterAuth":0,"aws:eks/getClusters:getClusters":0,"aws:eks/getNodeGroup:getNodeGroup":0,"aws:eks/getNodeGroups:getNodeGroups":0,"aws:elasticache/getCluster:getCluster":0,"aws:elasticache/getReplicationGroup:getReplicationGroup":0,"aws:elasticache/getReservedCacheNodeOffering:getReservedCacheNodeOffering":1,"aws:elasticache/getServerlessCache:getServerlessCache":1,"aws:elasticache/getSubnetGroup:getSubnetGroup":0,"aws:elasticache/getUser:getUser":0,"aws:elasticbeanstalk/getApplication:getApplication":0,"aws:elasticbeanstalk/getHostedZone:getHostedZone":0,"aws:elasticbeanstalk/getSolutionStack:getSolutionStack":0,"aws:elasticsearch/getDomain:getDomain":0,"aws:elb/getHostedZoneId:getHostedZoneId":0,"aws:elb/getLoadBalancer:getLoadBalancer":0,"aws:elb/getServiceAccount:getServiceAccount":0,"aws:emr/getReleaseLabels:getReleaseLabels":0,"aws:emr/getSupportedInstanceTypes:getSupportedInstanceTypes":1,"aws:emrcontainers/getVirtualCluster:getVirtualCluster":0,"aws:fsx/getOntapFileSystem:getOntapFileSystem":0,"aws:fsx/getOntapStorageVirtualMachine:getOntapStorageVirtualMachine":0,"aws:fsx/getOntapStorageVirtualMachines:getOntapStorageVirtualMachines":0,"aws:fsx/getOpenZfsSnapshot:getOpenZfsSnapshot":0,"aws:fsx/getWindowsFileSystem:getWindowsFileSystem":0,"aws:globalaccelerator/getAccelerator:getAccelerator":1,"aws:globalaccelerator/getCustomRoutingAccelerator:getCustomRoutingAccelerator":0,"aws:glue/getCatalogTable:getCatalogTable":0,"aws:glue/getConnection:getConnection":0,"aws:glue/getDataCatalogEncryptionSettings:getDataCatalogEncryptionSettings":0,"aws:glue/getRegistry:getRegistry":1,"aws:glue/getScript:getScript":0,"aws:grafana/getWorkspace:getWorkspace":0,"aws:guardduty/getDetector:getDetector":0,"aws:guardduty/getFindingIds:getFindingIds":1,"aws:iam/getAccessKeys:getAccessKeys":0,"aws:iam/getAccountAlias:getAccountAlias":0,"aws:iam/getGroup:getGroup":0,"aws:iam/getInstanceProfile:getInstanceProfile":0,"aws:iam/getInstanceProfiles:getInstanceProfiles":0,"aws:iam/getOpenIdConnectProvider:getOpenIdConnectProvider":0,"aws:iam/getPolicy:getPolicy":0,"aws:iam/getPolicyDocument:getPolicyDocument":0,"aws:iam/getPrincipalPolicySimulation:getPrincipalPolicySimulation":0,"aws:iam/getRole:getRole":0,"aws:iam/getRoles:getRoles":0,"aws:iam/getSamlProvider:getSamlProvider":0,"aws:iam/getServerCertificate:getServerCertificate":0,"aws:iam/getSessionContext:getSessionContext":0,"aws:iam/getUser:getUser":0,"aws:iam/getUserSshKey:getUserSshKey":0,"aws:iam/getUsers:getUsers":0,"aws:identitystore/getGroup:getGroup":0,"aws:identitystore/getGroups:getGroups":1,"aws:identitystore/getUser:getUser":0,"aws:imagebuilder/getComponent:getComponent":0,"aws:imagebuilder/getComponents:getComponents":0,"aws:imagebuilder/getContainerRecipe:getContainerRecipe":0,"aws:imagebuilder/getContainerRecipes:getContainerRecipes":0,"aws:imagebuilder/getDistributionConfiguration:getDistributionConfiguration":0,"aws:imagebuilder/getDistributionConfigurations:getDistributionConfigurations":0,"aws:imagebuilder/getImage:getImage":0,"aws:imagebuilder/getImagePipeline:getImagePipeline":0,"aws:imagebuilder/getImagePipelines:getImagePipelines":0,"aws:imagebuilder/getImageRecipe:getImageRecipe":0,"aws:imagebuilder/getImageRecipes:getImageRecipes":0,"aws:imagebuilder/getInfrastructureConfiguration:getInfrastructureConfiguration":0,"aws:imagebuilder/getInfrastructureConfigurations:getInfrastructureConfigurations":0,"aws:index/getArn:getArn":1,"aws:index/getAvailabilityZone:getAvailabilityZone":0,"aws:index/getAvailabilityZones:getAvailabilityZones":0,"aws:index/getBillingServiceAccount:getBillingServiceAccount":1,"aws:index/getCallerIdentity:getCallerIdentity":1,"aws:index/getDefaultTags:getDefaultTags":1,"aws:index/getIpRanges:getIpRanges":1,"aws:index/getPartition:getPartition":1,"aws:index/getRegion:getRegion":1,"aws:index/getRegions:getRegions":1,"aws:index/getService:getService":1,"aws:index/getServicePrincipal:getServicePrincipal":1,"aws:inspector/getRulesPackages:getRulesPackages":0,"aws:iot/getEndpoint:getEndpoint":0,"aws:iot/getRegistrationCode:getRegistrationCode":0,"aws:ivs/getStreamKey:getStreamKey":0,"aws:kendra/getExperience:getExperience":0,"aws:kendra/getFaq:getFaq":0,"aws:kendra/getIndex:getIndex":0,"aws:kendra/getQuerySuggestionsBlockList:getQuerySuggestionsBlockList":0,"aws:kendra/getThesaurus:getThesaurus":0,"aws:kinesis/getFirehoseDeliveryStream:getFirehoseDeliveryStream":0,"aws:kinesis/getStream:getStream":0,"aws:kinesis/getStreamConsumer:getStreamConsumer":0,"aws:kms/getAlias:getAlias":0,"aws:kms/getCipherText:getCipherText":0,"aws:kms/getCustomKeyStore:getCustomKeyStore":0,"aws:kms/getKey:getKey":0,"aws:kms/getPublicKey:getPublicKey":0,"aws:kms/getSecret:getSecret":0,"aws:kms/getSecrets:getSecrets":0,"aws:lakeformation/getDataLakeSettings:getDataLakeSettings":0,"aws:lakeformation/getPermissions:getPermissions":0,"aws:lakeformation/getResource:getResource":0,"aws:lambda/getAlias:getAlias":0,"aws:lambda/getCodeSigningConfig:getCodeSigningConfig":0,"aws:lambda/getFunction:getFunction":0,"aws:lambda/getFunctionUrl:getFunctionUrl":0,"aws:lambda/getFunctions:getFunctions":0,"aws:lambda/getInvocation:getInvocation":0,"aws:lambda/getLayerVersion:getLayerVersion":0,"aws:lb/getHostedZoneId:getHostedZoneId":0,"aws:lb/getLbs:getLbs":0,"aws:lb/getListener:getListener":0,"aws:lb/getListenerRule:getListenerRule":1,"aws:lb/getLoadBalancer:getLoadBalancer":0,"aws:lb/getTargetGroup:getTargetGroup":0,"aws:lb/getTrustStore:getTrustStore":0,"aws:lex/getBot:getBot":0,"aws:lex/getBotAlias:getBotAlias":0,"aws:lex/getIntent:getIntent":0,"aws:lex/getSlotType:getSlotType":0,"aws:licensemanager/getLicenseGrants:getLicenseGrants":0,"aws:licensemanager/getReceivedLicense:getReceivedLicense":0,"aws:licensemanager/getReceivedLicenses:getReceivedLicenses":0,"aws:location/getGeofenceCollection:getGeofenceCollection":0,"aws:location/getMap:getMap":0,"aws:location/getPlaceIndex:getPlaceIndex":0,"aws:location/getRouteCalculator:getRouteCalculator":0,"aws:location/getTracker:getTracker":0,"aws:location/getTrackerAssociation:getTrackerAssociation":0,"aws:location/getTrackerAssociations:getTrackerAssociations":0,"aws:mediaconvert/getQueue:getQueue":0,"aws:medialive/getInput:getInput":1,"aws:memorydb/getAcl:getAcl":0,"aws:memorydb/getCluster:getCluster":0,"aws:memorydb/getParameterGroup:getParameterGroup":0,"aws:memorydb/getSnapshot:getSnapshot":0,"aws:memorydb/getSubnetGroup:getSubnetGroup":0,"aws:memorydb/getUser:getUser":0,"aws:mq/getBroker:getBroker":0,"aws:mq/getBrokerEngineTypes:getBrokerEngineTypes":0,"aws:mq/getInstanceTypeOfferings:getInstanceTypeOfferings":0,"aws:msk/getBootstrapBrokers:getBootstrapBrokers":0,"aws:msk/getBrokerNodes:getBrokerNodes":0,"aws:msk/getCluster:getCluster":0,"aws:msk/getConfiguration:getConfiguration":0,"aws:msk/getKafkaVersion:getKafkaVersion":0,"aws:msk/getVpcConnection:getVpcConnection":0,"aws:mskconnect/getConnector:getConnector":0,"aws:mskconnect/getCustomPlugin:getCustomPlugin":0,"aws:mskconnect/getWorkerConfiguration:getWorkerConfiguration":0,"aws:neptune/getEngineVersion:getEngineVersion":0,"aws:neptune/getOrderableDbInstance:getOrderableDbInstance":0,"aws:networkfirewall/getFirewall:getFirewall":0,"aws:networkfirewall/getFirewallPolicy:getFirewallPolicy":0,"aws:networkfirewall/getResourcePolicy:getResourcePolicy":0,"aws:networkmanager/getConnection:getConnection":0,"aws:networkmanager/getConnections:getConnections":0,"aws:networkmanager/getCoreNetworkPolicyDocument:getCoreNetworkPolicyDocument":0,"aws:networkmanager/getDevice:getDevice":0,"aws:networkmanager/getDevices:getDevices":0,"aws:networkmanager/getGlobalNetwork:getGlobalNetwork":0,"aws:networkmanager/getGlobalNetworks:getGlobalNetworks":0,"aws:networkmanager/getLink:getLink":0,"aws:networkmanager/getLinks:getLinks":0,"aws:networkmanager/getSite:getSite":0,"aws:networkmanager/getSites:getSites":0,"aws:oam/getLink:getLink":0,"aws:oam/getLinks:getLinks":0,"aws:oam/getSink:getSink":0,"aws:oam/getSinks:getSinks":0,"aws:opensearch/getDomain:getDomain":0,"aws:opensearch/getServerlessAccessPolicy:getServerlessAccessPolicy":1,"aws:opensearch/getServerlessCollection:getServerlessCollection":1,"aws:opensearch/getServerlessLifecyclePolicy:getServerlessLifecyclePolicy":1,"aws:opensearch/getServerlessSecurityConfig:getServerlessSecurityConfig":1,"aws:opensearch/getServerlessSecurityPolicy:getServerlessSecurityPolicy":0,"aws:opensearch/getServerlessVpcEndpoint:getServerlessVpcEndpoint":0,"aws:organizations/getDelegatedAdministrators:getDelegatedAdministrators":0,"aws:organizations/getDelegatedServices:getDelegatedServices":0,"aws:organizations/getOrganization:getOrganization":0,"aws:organizations/getOrganizationalUnit:getOrganizationalUnit":0,"aws:organizations/getOrganizationalUnitChildAccounts:getOrganizationalUnitChildAccounts":0,"aws:organizations/getOrganizationalUnitDescendantAccounts:getOrganizationalUnitDescendantAccounts":0,"aws:organizations/getOrganizationalUnitDescendantOrganizationalUnits:getOrganizationalUnitDescendantOrganizationalUnits":0,"aws:organizations/getOrganizationalUnits:getOrganizationalUnits":0,"aws:organizations/getPolicies:getPolicies":0,"aws:organizations/getPoliciesForTarget:getPoliciesForTarget":0,"aws:organizations/getPolicy:getPolicy":0,"aws:organizations/getResourceTags:getResourceTags":0,"aws:outposts/getAsset:getAsset":0,"aws:outposts/getAssets:getAssets":0,"aws:outposts/getOutpost:getOutpost":0,"aws:outposts/getOutpostInstanceType:getOutpostInstanceType":0,"aws:outposts/getOutpostInstanceTypes:getOutpostInstanceTypes":0,"aws:outposts/getOutposts:getOutposts":0,"aws:outposts/getSite:getSite":0,"aws:outposts/getSites:getSites":0,"aws:polly/getVoices:getVoices":1,"aws:pricing/getProduct:getProduct":0,"aws:qldb/getLedger:getLedger":0,"aws:quicksight/getAnalysis:getAnalysis":0,"aws:quicksight/getDataSet:getDataSet":0,"aws:quicksight/getQuicksightAnalysis:getQuicksightAnalysis":0,"aws:quicksight/getQuicksightGroup:getQuicksightGroup":0,"aws:quicksight/getQuicksightUser:getQuicksightUser":0,"aws:quicksight/getTheme:getTheme":0,"aws:ram/getResourceShare:getResourceShare":0,"aws:rds/getCertificate:getCertificate":0,"aws:rds/getCluster:getCluster":0,"aws:rds/getClusterParameterGroup:getClusterParameterGroup":1,"aws:rds/getClusterSnapshot:getClusterSnapshot":0,"aws:rds/getClusters:getClusters":0,"aws:rds/getEngineVersion:getEngineVersion":0,"aws:rds/getEventCategories:getEventCategories":0,"aws:rds/getInstance:getInstance":0,"aws:rds/getInstances:getInstances":0,"aws:rds/getOrderableDbInstance:getOrderableDbInstance":0,"aws:rds/getParameterGroup:getParameterGroup":0,"aws:rds/getProxy:getProxy":0,"aws:rds/getReservedInstanceOffering:getReservedInstanceOffering":0,"aws:rds/getSnapshot:getSnapshot":0,"aws:rds/getSubnetGroup:getSubnetGroup":0,"aws:redshift/getCluster:getCluster":0,"aws:redshift/getClusterCredentials:getClusterCredentials":0,"aws:redshift/getDataShares:getDataShares":1,"aws:redshift/getOrderableCluster:getOrderableCluster":0,"aws:redshift/getProducerDataShares:getProducerDataShares":1,"aws:redshift/getServiceAccount:getServiceAccount":0,"aws:redshift/getSubnetGroup:getSubnetGroup":0,"aws:redshiftserverless/getCredentials:getCredentials":0,"aws:redshiftserverless/getNamespace:getNamespace":0,"aws:redshiftserverless/getWorkgroup:getWorkgroup":0,"aws:resourceexplorer/search:Search":1,"aws:resourcegroupstaggingapi/getResources:getResources":0,"aws:route53/getDelegationSet:getDelegationSet":0,"aws:route53/getProfilesProfiles:getProfilesProfiles":1,"aws:route53/getQueryLogConfig:getQueryLogConfig":0,"aws:route53/getResolverEndpoint:getResolverEndpoint":0,"aws:route53/getResolverFirewallConfig:getResolverFirewallConfig":0,"aws:route53/getResolverFirewallDomainList:getResolverFirewallDomainList":0,"aws:route53/getResolverFirewallRuleGroup:getResolverFirewallRuleGroup":0,"aws:route53/getResolverFirewallRuleGroupAssociation:getResolverFirewallRuleGroupAssociation":0,"aws:route53/getResolverFirewallRules:getResolverFirewallRules":0,"aws:route53/getResolverRule:getResolverRule":0,"aws:route53/getResolverRules:getResolverRules":0,"aws:route53/getTrafficPolicyDocument:getTrafficPolicyDocument":0,"aws:route53/getZone:getZone":0,"aws:route53/getZones:getZones":1,"aws:s3/getAccountPublicAccessBlock:getAccountPublicAccessBlock":0,"aws:s3/getBucket:getBucket":0,"aws:s3/getBucketObject:getBucketObject":0,"aws:s3/getBucketObjects:getBucketObjects":0,"aws:s3/getBucketPolicy:getBucketPolicy":0,"aws:s3/getCanonicalUserId:getCanonicalUserId":0,"aws:s3/getDirectoryBuckets:getDirectoryBuckets":1,"aws:s3/getObject:getObject":0,"aws:s3/getObjects:getObjects":0,"aws:s3control/getMultiRegionAccessPoint:getMultiRegionAccessPoint":0,"aws:sagemaker/getPrebuiltEcrImage:getPrebuiltEcrImage":0,"aws:secretsmanager/getRandomPassword:getRandomPassword":0,"aws:secretsmanager/getSecret:getSecret":0,"aws:secretsmanager/getSecretRotation:getSecretRotation":0,"aws:secretsmanager/getSecretVersion:getSecretVersion":0,"aws:secretsmanager/getSecretVersions:getSecretVersions":1,"aws:secretsmanager/getSecrets:getSecrets":0,"aws:securityhub/getStandardsControlAssociations:getStandardsControlAssociations":1,"aws:serverlessrepository/getApplication:getApplication":0,"aws:servicecatalog/getAppregistryApplication:getAppregistryApplication":1,"aws:servicecatalog/getAppregistryAttributeGroup:getAppregistryAttributeGroup":1,"aws:servicecatalog/getConstraint:getConstraint":0,"aws:servicecatalog/getLaunchPaths:getLaunchPaths":0,"aws:servicecatalog/getPortfolio:getPortfolio":0,"aws:servicecatalog/getPortfolioConstraints:getPortfolioConstraints":0,"aws:servicecatalog/getProduct:getProduct":0,"aws:servicecatalog/getProvisioningArtifacts:getProvisioningArtifacts":0,"aws:servicediscovery/getDnsNamespace:getDnsNamespace":0,"aws:servicediscovery/getHttpNamespace:getHttpNamespace":0,"aws:servicediscovery/getService:getService":0,"aws:servicequotas/getService:getService":0,"aws:servicequotas/getServiceQuota:getServiceQuota":0,"aws:servicequotas/getTemplates:getTemplates":1,"aws:ses/getActiveReceiptRuleSet:getActiveReceiptRuleSet":0,"aws:ses/getDomainIdentity:getDomainIdentity":0,"aws:ses/getEmailIdentity:getEmailIdentity":0,"aws:sesv2/getConfigurationSet:getConfigurationSet":0,"aws:sesv2/getDedicatedIpPool:getDedicatedIpPool":0,"aws:sesv2/getEmailIdentity:getEmailIdentity":0,"aws:sesv2/getEmailIdentityMailFromAttributes:getEmailIdentityMailFromAttributes":0,"aws:sfn/getActivity:getActivity":0,"aws:sfn/getAlias:getAlias":0,"aws:sfn/getStateMachine:getStateMachine":0,"aws:sfn/getStateMachineVersions:getStateMachineVersions":0,"aws:shield/getProtection:getProtection":1,"aws:signer/getSigningJob:getSigningJob":0,"aws:signer/getSigningProfile:getSigningProfile":0,"aws:sns/getTopic:getTopic":0,"aws:sqs/getQueue:getQueue":0,"aws:sqs/getQueues:getQueues":0,"aws:ssm/getContactsRotation:getContactsRotation":1,"aws:ssm/getDocument:getDocument":0,"aws:ssm/getInstances:getInstances":0,"aws:ssm/getMaintenanceWindows:getMaintenanceWindows":0,"aws:ssm/getParameter:getParameter":0,"aws:ssm/getParametersByPath:getParametersByPath":0,"aws:ssm/getPatchBaseline:getPatchBaseline":0,"aws:ssm/getPatchBaselines:getPatchBaselines":1,"aws:ssmcontacts/getContact:getContact":0,"aws:ssmcontacts/getContactChannel:getContactChannel":0,"aws:ssmcontacts/getPlan:getPlan":0,"aws:ssmincidents/getReplicationSet:getReplicationSet":0,"aws:ssmincidents/getResponsePlan:getResponsePlan":0,"aws:ssoadmin/getApplication:getApplication":1,"aws:ssoadmin/getApplicationAssignments:getApplicationAssignments":1,"aws:ssoadmin/getApplicationProviders:getApplicationProviders":1,"aws:ssoadmin/getInstances:getInstances":0,"aws:ssoadmin/getPermissionSet:getPermissionSet":0,"aws:ssoadmin/getPermissionSets:getPermissionSets":1,"aws:ssoadmin/getPrincipalApplicationAssignments:getPrincipalApplicationAssignments":1,"aws:storagegateway/getLocalDisk:getLocalDisk":0,"aws:synthetics/getRuntimeVersion:getRuntimeVersion":1,"aws:synthetics/getRuntimeVersions:getRuntimeVersions":1,"aws:timestreamwrite/getDatabase:getDatabase":1,"aws:timestreamwrite/getTable:getTable":1,"aws:transfer/getConnector:getConnector":1,"aws:transfer/getServer:getServer":0,"aws:verifiedpermissions/getPolicyStore:getPolicyStore":1,"aws:vpc/getSecurityGroupRule:getSecurityGroupRule":1,"aws:vpc/getSecurityGroupRules:getSecurityGroupRules":1,"aws:vpclattice/getAuthPolicy:getAuthPolicy":0,"aws:vpclattice/getListener:getListener":0,"aws:vpclattice/getResourcePolicy:getResourcePolicy":0,"aws:vpclattice/getService:getService":0,"aws:vpclattice/getServiceNetwork:getServiceNetwork":0,"aws:waf/getIpset:getIpset":0,"aws:waf/getRateBasedRule:getRateBasedRule":0,"aws:waf/getRule:getRule":0,"aws:waf/getSubscribedRuleGroup:getSubscribedRuleGroup":0,"aws:waf/getWebAcl:getWebAcl":0,"aws:wafregional/getIpset:getIpset":0,"aws:wafregional/getRateBasedMod:getRateBasedMod":0,"aws:wafregional/getRule:getRule":0,"aws:wafregional/getSubscribedRuleGroup:getSubscribedRuleGroup":0,"aws:wafregional/getWebAcl:getWebAcl":0,"aws:wafv2/getIpSet:getIpSet":0,"aws:wafv2/getRegexPatternSet:getRegexPatternSet":0,"aws:wafv2/getRuleGroup:getRuleGroup":0,"aws:wafv2/getWebAcl:getWebAcl":0,"aws:workspaces/getBundle:getBundle":0,"aws:workspaces/getDirectory:getDirectory":0,"aws:workspaces/getImage:getImage":0,"aws:workspaces/getWorkspace:getWorkspace":0}}} \ No newline at end of file diff --git a/provider/cmd/pulumi-resource-aws/schema.json b/provider/cmd/pulumi-resource-aws/schema.json index ad4b920bf9a..1a23f033829 100644 --- a/provider/cmd/pulumi-resource-aws/schema.json +++ b/provider/cmd/pulumi-resource-aws/schema.json @@ -2639,7 +2639,7 @@ "properties": { "types": { "type": "string", - "description": "List of endpoint types. This resource currently only supports managing a single value. Valid values: `EDGE` or `REGIONAL`. If unspecified, defaults to `EDGE`. Must be declared as `REGIONAL` in non-Commercial partitions. Refer to the [documentation](https://docs.aws.amazon.com/apigateway/latest/developerguide/create-regional-api.html) for more information on the difference between edge-optimized and regional APIs.\n" + "description": "A list of endpoint types of an API or its custom domain name. For an edge-optimized API and its custom domain name, the endpoint type is `EDGE`. For a regional API and its custom domain name, the endpoint type is `REGIONAL`. For a private API, the endpoint type is `PRIVATE`.\n" } }, "type": "object", @@ -23141,6 +23141,47 @@ "text" ] }, + "aws:bedrock/InferenceProfileModel:InferenceProfileModel": { + "properties": { + "modelArn": { + "type": "string", + "description": "The Amazon Resource Name (ARN) of the model.\n" + } + }, + "type": "object", + "required": [ + "modelArn" + ] + }, + "aws:bedrock/InferenceProfileModelSource:InferenceProfileModelSource": { + "properties": { + "copyFrom": { + "type": "string", + "description": "The Amazon Resource Name (ARN) of the model.\n" + } + }, + "type": "object", + "required": [ + "copyFrom" + ] + }, + "aws:bedrock/InferenceProfileTimeouts:InferenceProfileTimeouts": { + "properties": { + "create": { + "type": "string", + "description": "A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n" + }, + "delete": { + "type": "string", + "description": "A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.\n" + }, + "update": { + "type": "string", + "description": "A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n" + } + }, + "type": "object" + }, "aws:bedrock/ProvisionedModelThroughputTimeouts:ProvisionedModelThroughputTimeouts": { "properties": { "create": { @@ -50073,11 +50114,11 @@ "properties": { "associateCarrierIpAddress": { "type": "string", - "description": "Associate a Carrier IP address with `eth0` for a new network interface.\nUse this option when you launch an instance in a Wavelength Zone and want to associate a Carrier IP address with the network interface.\nBoolean value, can be left unset.\n" + "description": "Associate a Carrier IP address with `eth0` for a new network interface. Use this option when you launch an instance in a Wavelength Zone and want to associate a Carrier IP address with the network interface. Boolean value, can be left unset.\n" }, "associatePublicIpAddress": { "type": "string", - "description": "Associate a public ip address with the network interface.\nBoolean value, can be left unset.\n" + "description": "Associate a public ip address with the network interface. Boolean value, can be left unset.\n" }, "deleteOnTermination": { "type": "string", @@ -61804,7 +61845,7 @@ }, "value": { "type": "string", - "description": "Value to assign to the setting. Valid values: `enabled`, `disabled`.\n" + "description": "Value to assign to the setting. Valid values: `enhanced`, `enabled`, `disabled`.\n" } }, "type": "object", @@ -63309,8 +63350,7 @@ }, "nodeRoleArn": { "type": "string", - "description": "The ARN of the IAM Role EKS will assign to EC2 Managed Instances in your EKS Auto Mode cluster. This value cannot be changed after the compute capability of EKS Auto Mode is enabled..\n", - "willReplaceOnChanges": true + "description": "The ARN of the IAM Role EKS will assign to EC2 Managed Instances in your EKS Auto Mode cluster. This value cannot be changed after the compute capability of EKS Auto Mode is enabled..\n" } }, "type": "object" @@ -71347,6 +71387,14 @@ "type": "boolean", "description": "Indicates whether the table optimizer is enabled.\n" }, + "orphanFileDeletionConfiguration": { + "$ref": "#/types/aws:glue/CatalogTableOptimizerConfigurationOrphanFileDeletionConfiguration:CatalogTableOptimizerConfigurationOrphanFileDeletionConfiguration", + "description": "The configuration block for an orphan file deletion optimizer. See Orphan File Deletion Configuration for additional details.\n" + }, + "retentionConfiguration": { + "$ref": "#/types/aws:glue/CatalogTableOptimizerConfigurationRetentionConfiguration:CatalogTableOptimizerConfigurationRetentionConfiguration", + "description": "The configuration block for a snapshot retention optimizer. See Retention Configuration for additional details.\n" + }, "roleArn": { "type": "string", "description": "The ARN of the IAM role to use for the table optimizer.\n" @@ -71358,6 +71406,54 @@ "roleArn" ] }, + "aws:glue/CatalogTableOptimizerConfigurationOrphanFileDeletionConfiguration:CatalogTableOptimizerConfigurationOrphanFileDeletionConfiguration": { + "properties": { + "icebergConfiguration": { + "$ref": "#/types/aws:glue/CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfiguration:CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfiguration", + "description": "The configuration for an Iceberg orphan file deletion optimizer.\n" + } + }, + "type": "object" + }, + "aws:glue/CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfiguration:CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfiguration": { + "properties": { + "location": { + "type": "string", + "description": "Specifies a directory in which to look for files. You may choose a sub-directory rather than the top-level table location. Defaults to the table's location.\n" + }, + "orphanFileRetentionPeriodInDays": { + "type": "number", + "description": "The number of days that orphan files should be retained before file deletion. Defaults to `3`.\n" + } + }, + "type": "object" + }, + "aws:glue/CatalogTableOptimizerConfigurationRetentionConfiguration:CatalogTableOptimizerConfigurationRetentionConfiguration": { + "properties": { + "icebergConfiguration": { + "$ref": "#/types/aws:glue/CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfiguration:CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfiguration", + "description": "The configuration for an Iceberg snapshot retention optimizer.\n" + } + }, + "type": "object" + }, + "aws:glue/CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfiguration:CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfiguration": { + "properties": { + "cleanExpiredFiles": { + "type": "boolean", + "description": "If set to `false`, snapshots are only deleted from table metadata, and the underlying data and metadata files are not deleted. Defaults to `false`.\n" + }, + "numberOfSnapshotsToRetain": { + "type": "number", + "description": "The number of Iceberg snapshots to retain within the retention period. Defaults to `1` or the corresponding Iceberg table configuration field if it exists.\n" + }, + "snapshotRetentionPeriodInDays": { + "type": "number", + "description": "The number of days to retain the Iceberg snapshots. Defaults to `5`, or the corresponding Iceberg table configuration field if it exists.\n" + } + }, + "type": "object" + }, "aws:glue/CatalogTablePartitionIndex:CatalogTablePartitionIndex": { "properties": { "indexName": { @@ -121331,6 +121427,9 @@ "$ref": "#/types/aws:msk/ReplicatorReplicationInfoListTopicReplicationStartingPosition:ReplicatorReplicationInfoListTopicReplicationStartingPosition", "description": "Configuration for specifying the position in the topics to start replicating from.\n" }, + "topicNameConfiguration": { + "$ref": "#/types/aws:msk/ReplicatorReplicationInfoListTopicReplicationTopicNameConfiguration:ReplicatorReplicationInfoListTopicReplicationTopicNameConfiguration" + }, "topicsToExcludes": { "type": "array", "items": { @@ -121354,6 +121453,7 @@ "nodejs": { "requiredOutputs": [ "startingPosition", + "topicNameConfiguration", "topicsToReplicates" ] } @@ -121369,6 +121469,15 @@ }, "type": "object" }, + "aws:msk/ReplicatorReplicationInfoListTopicReplicationTopicNameConfiguration:ReplicatorReplicationInfoListTopicReplicationTopicNameConfiguration": { + "properties": { + "type": { + "type": "string", + "willReplaceOnChanges": true + } + }, + "type": "object" + }, "aws:msk/ServerlessClusterClientAuthentication:ServerlessClusterClientAuthentication": { "properties": { "sasl": { @@ -122568,6 +122677,10 @@ }, "aws:networkfirewall/FirewallPolicyFirewallPolicyStatefulEngineOptions:FirewallPolicyFirewallPolicyStatefulEngineOptions": { "properties": { + "flowTimeouts": { + "$ref": "#/types/aws:networkfirewall/FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeouts:FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeouts", + "description": "Amount of time that can pass without any traffic sent through the firewall before the firewall determines that the connection is idle.\n" + }, "ruleOrder": { "type": "string", "description": "Indicates how to manage the order of stateful rule evaluation for the policy. Default value: `DEFAULT_ACTION_ORDER`. Valid values: `DEFAULT_ACTION_ORDER`, `STRICT_ORDER`.\n" @@ -122579,6 +122692,15 @@ }, "type": "object" }, + "aws:networkfirewall/FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeouts:FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeouts": { + "properties": { + "tcpIdleTimeoutSeconds": { + "type": "integer", + "description": "Number of seconds that can pass without any TCP traffic sent through the firewall before the firewall determines that the connection is idle. After the idle timeout passes, data packets are dropped, however, the next TCP SYN packet is considered a new flow and is processed by the firewall. Clients or targets can use TCP keepalive packets to reset the idle timeout. Default value: `350`.\n" + } + }, + "type": "object" + }, "aws:networkfirewall/FirewallPolicyFirewallPolicyStatefulRuleGroupReference:FirewallPolicyFirewallPolicyStatefulRuleGroupReference": { "properties": { "override": { @@ -122728,7 +122850,7 @@ "additionalProperties": { "type": "string" }, - "description": "A map describing the logging destination for the chosen `log_destination_type`.\n* For an Amazon S3 bucket, specify the key `bucketName` with the name of the bucket and optionally specify the key `prefix` with a path.\n* For a CloudWatch log group, specify the key `logGroup` with the name of the CloudWatch log group.\n* For a Kinesis Data Firehose delivery stream, specify the key `deliveryStream` with the name of the delivery stream.\n" + "description": "A map describing the logging destination for the chosen `log_destination_type`.\n* For an Amazon S3 bucket, specify the key `bucketName` with the name of the bucket and optionally specify the key `prefix` with a path (Do not add a leading / in the `prefix` as the configuration will have two // when applied).\n* For a CloudWatch log group, specify the key `logGroup` with the name of the CloudWatch log group.\n* For a Kinesis Data Firehose delivery stream, specify the key `deliveryStream` with the name of the delivery stream.\n" }, "logDestinationType": { "type": "string", @@ -134103,13 +134225,26 @@ "minCapacity": { "type": "number", "description": "Minimum capacity for an Aurora DB cluster in `provisioned` DB engine mode. The minimum capacity must be lesser than or equal to the maximum capacity. Valid capacity values are in a range of `0` up to `256` in steps of `0.5`.\n" + }, + "secondsUntilAutoPause": { + "type": "integer", + "description": "Time, in seconds, before an Aurora DB cluster in `provisioned` DB engine mode is paused. Valid values are `300` through `86400`.\n" } }, "type": "object", "required": [ "maxCapacity", "minCapacity" - ] + ], + "language": { + "nodejs": { + "requiredOutputs": [ + "maxCapacity", + "minCapacity", + "secondsUntilAutoPause" + ] + } + } }, "aws:rds/EngineMode:EngineMode": { "type": "string", @@ -134166,11 +134301,11 @@ "properties": { "dbClusterArn": { "type": "string", - "description": "Amazon Resource Name (ARN) of member DB Cluster\n" + "description": "Amazon Resource Name (ARN) of member DB Cluster.\n" }, "isWriter": { "type": "boolean", - "description": "Whether the member is the primary DB Cluster\n" + "description": "Whether the member is the primary DB Cluster.\n" } }, "type": "object", @@ -151080,6 +151215,10 @@ }, "aws:sesv2/ConfigurationSetDeliveryOptions:ConfigurationSetDeliveryOptions": { "properties": { + "maxDeliverySeconds": { + "type": "integer", + "description": "The maximum amount of time, in seconds, that Amazon SES API v2 will attempt delivery of email. If specified, the value must greater than or equal to 300 seconds (5 minutes) and less than or equal to 50400 seconds (840 minutes).\n" + }, "sendingPoolName": { "type": "string", "description": "The name of the dedicated IP pool to associate with the configuration set.\n" @@ -151272,6 +151411,10 @@ "customRedirectDomain": { "type": "string", "description": "The domain to use for tracking open and click events.\n" + }, + "httpsPolicy": { + "type": "string", + "description": "The https policy to use for tracking open and click events. Valid values are `REQUIRE`, `REQUIRE_OPEN_ONLY` or `OPTIONAL`.\n" } }, "type": "object", @@ -151391,6 +151534,10 @@ }, "aws:sesv2/getConfigurationSetDeliveryOption:getConfigurationSetDeliveryOption": { "properties": { + "maxDeliverySeconds": { + "type": "integer", + "description": "The maximum amount of time, in seconds, that Amazon SES API v2 will attempt delivery of email. If specified, the value must greater than or equal to 300 seconds (5 minutes) and less than or equal to 50400 seconds (840 minutes).\n" + }, "sendingPoolName": { "type": "string", "description": "The name of the dedicated IP pool to associate with the configuration set.\n" @@ -151402,6 +151549,7 @@ }, "type": "object", "required": [ + "maxDeliverySeconds", "sendingPoolName", "tlsPolicy" ], @@ -151475,11 +151623,16 @@ "customRedirectDomain": { "type": "string", "description": "The domain to use for tracking open and click events.\n" + }, + "httpsPolicy": { + "type": "string", + "description": "The https policy to use for tracking open and click events. Valid values are `REQUIRE`, `REQUIRE_OPEN_ONLY` or `OPTIONAL`.\n" } }, "type": "object", "required": [ - "customRedirectDomain" + "customRedirectDomain", + "httpsPolicy" ], "language": { "nodejs": { @@ -173039,7 +173192,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\n\u003e **Note::** When a `Name` key is specified in the map, the AWS Console maps the value to the `Name Tag` column value inside the `Listener Rules` table within a specific load balancer listener page. Otherwise, the value resolves to `Default`.\n" }, "tagsAll": { "type": "object", @@ -173106,7 +173259,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\n\u003e **Note::** When a `Name` key is specified in the map, the AWS Console maps the value to the `Name Tag` column value inside the `Listener Rules` table within a specific load balancer listener page. Otherwise, the value resolves to `Default`.\n" }, "tcpIdleTimeoutSeconds": { "type": "integer", @@ -173165,7 +173318,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\n\u003e **Note::** When a `Name` key is specified in the map, the AWS Console maps the value to the `Name Tag` column value inside the `Listener Rules` table within a specific load balancer listener page. Otherwise, the value resolves to `Default`.\n" }, "tagsAll": { "type": "object", @@ -176051,7 +176204,7 @@ } }, "aws:apigateway/basePathMapping:BasePathMapping": { - "description": "Connects a custom domain name registered via `aws.apigateway.DomainName`\nwith a deployed API so that its methods can be called via the\ncustom domain name.\n\n## Import\n\nFor a non-root `base_path`:\n\nUsing `pulumi import`, import `aws_api_gateway_base_path_mapping` using the domain name and base path. For example:\n\nFor an empty `base_path` or, in other words, a root path (`/`):\n\n```sh\n$ pulumi import aws:apigateway/basePathMapping:BasePathMapping example example.com/\n```\nFor a non-root `base_path`:\n\n```sh\n$ pulumi import aws:apigateway/basePathMapping:BasePathMapping example example.com/base-path\n```\n", + "description": "Connects a custom domain name registered via `aws.apigateway.DomainName`\nwith a deployed API so that its methods can be called via the\ncustom domain name.\n\n## Import\n\nFor a non-root `base_path`:\n\nFor a non-root `base_path` and a private custom domain name:\n\nUsing `pulumi import`, import `aws_api_gateway_base_path_mapping` using the domain name and base path or domain name, base path and domain name ID (for private custom domain names). For example:\n\nFor an empty `base_path` or, in other words, a root path (`/`):\n\n```sh\n$ pulumi import aws:apigateway/basePathMapping:BasePathMapping example example.com/\n```\nFor a non-root `base_path`:\n\n```sh\n$ pulumi import aws:apigateway/basePathMapping:BasePathMapping example example.com/base-path\n```\nFor a non-root `base_path` and a private custom domain name:\n\n```sh\n$ pulumi import aws:apigateway/basePathMapping:BasePathMapping example api.internal.example.com/base-path/abcde12345\n```\n", "properties": { "basePath": { "type": "string", @@ -176061,6 +176214,10 @@ "type": "string", "description": "Already-registered domain name to connect the API to.\n" }, + "domainNameId": { + "type": "string", + "description": "The identifier for the domain name resource. Supported only for private custom domain names.\n" + }, "restApi": { "type": "string", "description": "ID of the API to connect.\n" @@ -176084,6 +176241,10 @@ "description": "Already-registered domain name to connect the API to.\n", "willReplaceOnChanges": true }, + "domainNameId": { + "type": "string", + "description": "The identifier for the domain name resource. Supported only for private custom domain names.\n" + }, "restApi": { "type": "string", "oneOf": [ @@ -176118,6 +176279,10 @@ "description": "Already-registered domain name to connect the API to.\n", "willReplaceOnChanges": true }, + "domainNameId": { + "type": "string", + "description": "The identifier for the domain name resource. Supported only for private custom domain names.\n" + }, "restApi": { "type": "string", "oneOf": [ @@ -176561,7 +176726,7 @@ } }, "aws:apigateway/domainName:DomainName": { - "description": "Registers a custom domain name for use with AWS API Gateway. Additional information about this functionality\ncan be found in the [API Gateway Developer Guide](https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-custom-domains.html).\n\nThis resource just establishes ownership of and the TLS settings for\na particular domain name. An API can be attached to a particular path\nunder the registered domain name using\nthe `aws.apigateway.BasePathMapping` resource.\n\nAPI Gateway domains can be defined as either 'edge-optimized' or 'regional'. In an edge-optimized configuration,\nAPI Gateway internally creates and manages a CloudFront distribution to route requests on the given hostname. In\naddition to this resource it's necessary to create a DNS record corresponding to the given domain name which is an alias\n(either Route53 alias or traditional CNAME) to the Cloudfront domain name exported in the `cloudfront_domain_name`\nattribute.\n\nIn a regional configuration, API Gateway does not create a CloudFront distribution to route requests to the API, though\na distribution can be created if needed. In either case, it is necessary to create a DNS record corresponding to the\ngiven domain name which is an alias (either Route53 alias or traditional CNAME) to the regional domain name exported in\nthe `regional_domain_name` attribute.\n\n\u003e **Note:** API Gateway requires the use of AWS Certificate Manager (ACM) certificates instead of Identity and Access Management (IAM) certificates in regions that support ACM. Regions that support ACM can be found in the [Regions and Endpoints Documentation](https://docs.aws.amazon.com/general/latest/gr/rande.html#acm_region). To import an existing private key and certificate into ACM or request an ACM certificate, see the `aws.acm.Certificate` resource.\n\n\u003e **Note:** The `aws.apigateway.DomainName` resource expects dependency on the `aws.acm.CertificateValidation` as\nonly verified certificates can be used. This can be made either explicitly by adding the\n`depends_on = [aws_acm_certificate_validation.cert]` attribute. Or implicitly by referring certificate ARN\nfrom the validation resource where it will be available after the resource creation:\n`regional_certificate_arn = aws_acm_certificate_validation.cert.certificate_arn`.\n\n## Example Usage\n\n### Edge Optimized (ACM Certificate)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.apigateway.DomainName(\"example\", {\n certificateArn: exampleAwsAcmCertificateValidation.certificateArn,\n domainName: \"api.example.com\",\n});\n// Example DNS record using Route53.\n// Route53 is not specifically required; any DNS host can be used.\nconst exampleRecord = new aws.route53.Record(\"example\", {\n name: example.domainName,\n type: aws.route53.RecordType.A,\n zoneId: exampleAwsRoute53Zone.id,\n aliases: [{\n evaluateTargetHealth: true,\n name: example.cloudfrontDomainName,\n zoneId: example.cloudfrontZoneId,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.apigateway.DomainName(\"example\",\n certificate_arn=example_aws_acm_certificate_validation[\"certificateArn\"],\n domain_name=\"api.example.com\")\n# Example DNS record using Route53.\n# Route53 is not specifically required; any DNS host can be used.\nexample_record = aws.route53.Record(\"example\",\n name=example.domain_name,\n type=aws.route53.RecordType.A,\n zone_id=example_aws_route53_zone[\"id\"],\n aliases=[{\n \"evaluate_target_health\": True,\n \"name\": example.cloudfront_domain_name,\n \"zone_id\": example.cloudfront_zone_id,\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.ApiGateway.DomainName(\"example\", new()\n {\n CertificateArn = exampleAwsAcmCertificateValidation.CertificateArn,\n Domain = \"api.example.com\",\n });\n\n // Example DNS record using Route53.\n // Route53 is not specifically required; any DNS host can be used.\n var exampleRecord = new Aws.Route53.Record(\"example\", new()\n {\n Name = example.Domain,\n Type = Aws.Route53.RecordType.A,\n ZoneId = exampleAwsRoute53Zone.Id,\n Aliases = new[]\n {\n new Aws.Route53.Inputs.RecordAliasArgs\n {\n EvaluateTargetHealth = true,\n Name = example.CloudfrontDomainName,\n ZoneId = example.CloudfrontZoneId,\n },\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-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\texample, err := apigateway.NewDomainName(ctx, \"example\", \u0026apigateway.DomainNameArgs{\n\t\t\tCertificateArn: pulumi.Any(exampleAwsAcmCertificateValidation.CertificateArn),\n\t\t\tDomainName: pulumi.String(\"api.example.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Example DNS record using Route53.\n\t\t// Route53 is not specifically required; any DNS host can be used.\n\t\t_, err = route53.NewRecord(ctx, \"example\", \u0026route53.RecordArgs{\n\t\t\tName: example.DomainName,\n\t\t\tType: pulumi.String(route53.RecordTypeA),\n\t\t\tZoneId: pulumi.Any(exampleAwsRoute53Zone.Id),\n\t\t\tAliases: route53.RecordAliasArray{\n\t\t\t\t\u0026route53.RecordAliasArgs{\n\t\t\t\t\tEvaluateTargetHealth: pulumi.Bool(true),\n\t\t\t\t\tName: example.CloudfrontDomainName,\n\t\t\t\t\tZoneId: example.CloudfrontZoneId,\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.apigateway.DomainName;\nimport com.pulumi.aws.apigateway.DomainNameArgs;\nimport com.pulumi.aws.route53.Record;\nimport com.pulumi.aws.route53.RecordArgs;\nimport com.pulumi.aws.route53.inputs.RecordAliasArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 DomainName(\"example\", DomainNameArgs.builder()\n .certificateArn(exampleAwsAcmCertificateValidation.certificateArn())\n .domainName(\"api.example.com\")\n .build());\n\n // Example DNS record using Route53.\n // Route53 is not specifically required; any DNS host can be used.\n var exampleRecord = new Record(\"exampleRecord\", RecordArgs.builder()\n .name(example.domainName())\n .type(\"A\")\n .zoneId(exampleAwsRoute53Zone.id())\n .aliases(RecordAliasArgs.builder()\n .evaluateTargetHealth(true)\n .name(example.cloudfrontDomainName())\n .zoneId(example.cloudfrontZoneId())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:apigateway:DomainName\n properties:\n certificateArn: ${exampleAwsAcmCertificateValidation.certificateArn}\n domainName: api.example.com\n # Example DNS record using Route53.\n # Route53 is not specifically required; any DNS host can be used.\n exampleRecord:\n type: aws:route53:Record\n name: example\n properties:\n name: ${example.domainName}\n type: A\n zoneId: ${exampleAwsRoute53Zone.id}\n aliases:\n - evaluateTargetHealth: true\n name: ${example.cloudfrontDomainName}\n zoneId: ${example.cloudfrontZoneId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Regional (ACM Certificate)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.apigateway.DomainName(\"example\", {\n domainName: \"api.example.com\",\n regionalCertificateArn: exampleAwsAcmCertificateValidation.certificateArn,\n endpointConfiguration: {\n types: \"REGIONAL\",\n },\n});\n// Example DNS record using Route53.\n// Route53 is not specifically required; any DNS host can be used.\nconst exampleRecord = new aws.route53.Record(\"example\", {\n name: example.domainName,\n type: aws.route53.RecordType.A,\n zoneId: exampleAwsRoute53Zone.id,\n aliases: [{\n evaluateTargetHealth: true,\n name: example.regionalDomainName,\n zoneId: example.regionalZoneId,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.apigateway.DomainName(\"example\",\n domain_name=\"api.example.com\",\n regional_certificate_arn=example_aws_acm_certificate_validation[\"certificateArn\"],\n endpoint_configuration={\n \"types\": \"REGIONAL\",\n })\n# Example DNS record using Route53.\n# Route53 is not specifically required; any DNS host can be used.\nexample_record = aws.route53.Record(\"example\",\n name=example.domain_name,\n type=aws.route53.RecordType.A,\n zone_id=example_aws_route53_zone[\"id\"],\n aliases=[{\n \"evaluate_target_health\": True,\n \"name\": example.regional_domain_name,\n \"zone_id\": example.regional_zone_id,\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.ApiGateway.DomainName(\"example\", new()\n {\n Domain = \"api.example.com\",\n RegionalCertificateArn = exampleAwsAcmCertificateValidation.CertificateArn,\n EndpointConfiguration = new Aws.ApiGateway.Inputs.DomainNameEndpointConfigurationArgs\n {\n Types = \"REGIONAL\",\n },\n });\n\n // Example DNS record using Route53.\n // Route53 is not specifically required; any DNS host can be used.\n var exampleRecord = new Aws.Route53.Record(\"example\", new()\n {\n Name = example.Domain,\n Type = Aws.Route53.RecordType.A,\n ZoneId = exampleAwsRoute53Zone.Id,\n Aliases = new[]\n {\n new Aws.Route53.Inputs.RecordAliasArgs\n {\n EvaluateTargetHealth = true,\n Name = example.RegionalDomainName,\n ZoneId = example.RegionalZoneId,\n },\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-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\texample, err := apigateway.NewDomainName(ctx, \"example\", \u0026apigateway.DomainNameArgs{\n\t\t\tDomainName: pulumi.String(\"api.example.com\"),\n\t\t\tRegionalCertificateArn: pulumi.Any(exampleAwsAcmCertificateValidation.CertificateArn),\n\t\t\tEndpointConfiguration: \u0026apigateway.DomainNameEndpointConfigurationArgs{\n\t\t\t\tTypes: pulumi.String(\"REGIONAL\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Example DNS record using Route53.\n\t\t// Route53 is not specifically required; any DNS host can be used.\n\t\t_, err = route53.NewRecord(ctx, \"example\", \u0026route53.RecordArgs{\n\t\t\tName: example.DomainName,\n\t\t\tType: pulumi.String(route53.RecordTypeA),\n\t\t\tZoneId: pulumi.Any(exampleAwsRoute53Zone.Id),\n\t\t\tAliases: route53.RecordAliasArray{\n\t\t\t\t\u0026route53.RecordAliasArgs{\n\t\t\t\t\tEvaluateTargetHealth: pulumi.Bool(true),\n\t\t\t\t\tName: example.RegionalDomainName,\n\t\t\t\t\tZoneId: example.RegionalZoneId,\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.apigateway.DomainName;\nimport com.pulumi.aws.apigateway.DomainNameArgs;\nimport com.pulumi.aws.apigateway.inputs.DomainNameEndpointConfigurationArgs;\nimport com.pulumi.aws.route53.Record;\nimport com.pulumi.aws.route53.RecordArgs;\nimport com.pulumi.aws.route53.inputs.RecordAliasArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 DomainName(\"example\", DomainNameArgs.builder()\n .domainName(\"api.example.com\")\n .regionalCertificateArn(exampleAwsAcmCertificateValidation.certificateArn())\n .endpointConfiguration(DomainNameEndpointConfigurationArgs.builder()\n .types(\"REGIONAL\")\n .build())\n .build());\n\n // Example DNS record using Route53.\n // Route53 is not specifically required; any DNS host can be used.\n var exampleRecord = new Record(\"exampleRecord\", RecordArgs.builder()\n .name(example.domainName())\n .type(\"A\")\n .zoneId(exampleAwsRoute53Zone.id())\n .aliases(RecordAliasArgs.builder()\n .evaluateTargetHealth(true)\n .name(example.regionalDomainName())\n .zoneId(example.regionalZoneId())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:apigateway:DomainName\n properties:\n domainName: api.example.com\n regionalCertificateArn: ${exampleAwsAcmCertificateValidation.certificateArn}\n endpointConfiguration:\n types: REGIONAL\n # Example DNS record using Route53.\n # Route53 is not specifically required; any DNS host can be used.\n exampleRecord:\n type: aws:route53:Record\n name: example\n properties:\n name: ${example.domainName}\n type: A\n zoneId: ${exampleAwsRoute53Zone.id}\n aliases:\n - evaluateTargetHealth: true\n name: ${example.regionalDomainName}\n zoneId: ${example.regionalZoneId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import API Gateway domain names using their `name`. For example:\n\n```sh\n$ pulumi import aws:apigateway/domainName:DomainName example dev.example.com\n```\n", + "description": "Registers a custom domain name for use with AWS API Gateway. Additional information about this functionality\ncan be found in the [API Gateway Developer Guide](https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-custom-domains.html).\n\nThis resource just establishes ownership of and the TLS settings for\na particular domain name. An API can be attached to a particular path\nunder the registered domain name using\nthe `aws.apigateway.BasePathMapping` resource.\n\nAPI Gateway domains can be defined as either 'edge-optimized' or 'regional'. In an edge-optimized configuration,\nAPI Gateway internally creates and manages a CloudFront distribution to route requests on the given hostname. In\naddition to this resource it's necessary to create a DNS record corresponding to the given domain name which is an alias\n(either Route53 alias or traditional CNAME) to the Cloudfront domain name exported in the `cloudfront_domain_name`\nattribute.\n\nIn a regional configuration, API Gateway does not create a CloudFront distribution to route requests to the API, though\na distribution can be created if needed. In either case, it is necessary to create a DNS record corresponding to the\ngiven domain name which is an alias (either Route53 alias or traditional CNAME) to the regional domain name exported in\nthe `regional_domain_name` attribute.\n\n\u003e **Note:** API Gateway requires the use of AWS Certificate Manager (ACM) certificates instead of Identity and Access Management (IAM) certificates in regions that support ACM. Regions that support ACM can be found in the [Regions and Endpoints Documentation](https://docs.aws.amazon.com/general/latest/gr/rande.html#acm_region). To import an existing private key and certificate into ACM or request an ACM certificate, see the `aws.acm.Certificate` resource.\n\n\u003e **Note:** The `aws.apigateway.DomainName` resource expects dependency on the `aws.acm.CertificateValidation` as\nonly verified certificates can be used. This can be made either explicitly by adding the\n`depends_on = [aws_acm_certificate_validation.cert]` attribute. Or implicitly by referring certificate ARN\nfrom the validation resource where it will be available after the resource creation:\n`regional_certificate_arn = aws_acm_certificate_validation.cert.certificate_arn`.\n\n## Example Usage\n\n### Edge Optimized (ACM Certificate)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.apigateway.DomainName(\"example\", {\n certificateArn: exampleAwsAcmCertificateValidation.certificateArn,\n domainName: \"api.example.com\",\n});\n// Example DNS record using Route53.\n// Route53 is not specifically required; any DNS host can be used.\nconst exampleRecord = new aws.route53.Record(\"example\", {\n name: example.domainName,\n type: aws.route53.RecordType.A,\n zoneId: exampleAwsRoute53Zone.id,\n aliases: [{\n evaluateTargetHealth: true,\n name: example.cloudfrontDomainName,\n zoneId: example.cloudfrontZoneId,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.apigateway.DomainName(\"example\",\n certificate_arn=example_aws_acm_certificate_validation[\"certificateArn\"],\n domain_name=\"api.example.com\")\n# Example DNS record using Route53.\n# Route53 is not specifically required; any DNS host can be used.\nexample_record = aws.route53.Record(\"example\",\n name=example.domain_name,\n type=aws.route53.RecordType.A,\n zone_id=example_aws_route53_zone[\"id\"],\n aliases=[{\n \"evaluate_target_health\": True,\n \"name\": example.cloudfront_domain_name,\n \"zone_id\": example.cloudfront_zone_id,\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.ApiGateway.DomainName(\"example\", new()\n {\n CertificateArn = exampleAwsAcmCertificateValidation.CertificateArn,\n Domain = \"api.example.com\",\n });\n\n // Example DNS record using Route53.\n // Route53 is not specifically required; any DNS host can be used.\n var exampleRecord = new Aws.Route53.Record(\"example\", new()\n {\n Name = example.Domain,\n Type = Aws.Route53.RecordType.A,\n ZoneId = exampleAwsRoute53Zone.Id,\n Aliases = new[]\n {\n new Aws.Route53.Inputs.RecordAliasArgs\n {\n EvaluateTargetHealth = true,\n Name = example.CloudfrontDomainName,\n ZoneId = example.CloudfrontZoneId,\n },\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-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\texample, err := apigateway.NewDomainName(ctx, \"example\", \u0026apigateway.DomainNameArgs{\n\t\t\tCertificateArn: pulumi.Any(exampleAwsAcmCertificateValidation.CertificateArn),\n\t\t\tDomainName: pulumi.String(\"api.example.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Example DNS record using Route53.\n\t\t// Route53 is not specifically required; any DNS host can be used.\n\t\t_, err = route53.NewRecord(ctx, \"example\", \u0026route53.RecordArgs{\n\t\t\tName: example.DomainName,\n\t\t\tType: pulumi.String(route53.RecordTypeA),\n\t\t\tZoneId: pulumi.Any(exampleAwsRoute53Zone.Id),\n\t\t\tAliases: route53.RecordAliasArray{\n\t\t\t\t\u0026route53.RecordAliasArgs{\n\t\t\t\t\tEvaluateTargetHealth: pulumi.Bool(true),\n\t\t\t\t\tName: example.CloudfrontDomainName,\n\t\t\t\t\tZoneId: example.CloudfrontZoneId,\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.apigateway.DomainName;\nimport com.pulumi.aws.apigateway.DomainNameArgs;\nimport com.pulumi.aws.route53.Record;\nimport com.pulumi.aws.route53.RecordArgs;\nimport com.pulumi.aws.route53.inputs.RecordAliasArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 DomainName(\"example\", DomainNameArgs.builder()\n .certificateArn(exampleAwsAcmCertificateValidation.certificateArn())\n .domainName(\"api.example.com\")\n .build());\n\n // Example DNS record using Route53.\n // Route53 is not specifically required; any DNS host can be used.\n var exampleRecord = new Record(\"exampleRecord\", RecordArgs.builder()\n .name(example.domainName())\n .type(\"A\")\n .zoneId(exampleAwsRoute53Zone.id())\n .aliases(RecordAliasArgs.builder()\n .evaluateTargetHealth(true)\n .name(example.cloudfrontDomainName())\n .zoneId(example.cloudfrontZoneId())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:apigateway:DomainName\n properties:\n certificateArn: ${exampleAwsAcmCertificateValidation.certificateArn}\n domainName: api.example.com\n # Example DNS record using Route53.\n # Route53 is not specifically required; any DNS host can be used.\n exampleRecord:\n type: aws:route53:Record\n name: example\n properties:\n name: ${example.domainName}\n type: A\n zoneId: ${exampleAwsRoute53Zone.id}\n aliases:\n - evaluateTargetHealth: true\n name: ${example.cloudfrontDomainName}\n zoneId: ${example.cloudfrontZoneId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Regional (ACM Certificate)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.apigateway.DomainName(\"example\", {\n domainName: \"api.example.com\",\n regionalCertificateArn: exampleAwsAcmCertificateValidation.certificateArn,\n endpointConfiguration: {\n types: \"REGIONAL\",\n },\n});\n// Example DNS record using Route53.\n// Route53 is not specifically required; any DNS host can be used.\nconst exampleRecord = new aws.route53.Record(\"example\", {\n name: example.domainName,\n type: aws.route53.RecordType.A,\n zoneId: exampleAwsRoute53Zone.id,\n aliases: [{\n evaluateTargetHealth: true,\n name: example.regionalDomainName,\n zoneId: example.regionalZoneId,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.apigateway.DomainName(\"example\",\n domain_name=\"api.example.com\",\n regional_certificate_arn=example_aws_acm_certificate_validation[\"certificateArn\"],\n endpoint_configuration={\n \"types\": \"REGIONAL\",\n })\n# Example DNS record using Route53.\n# Route53 is not specifically required; any DNS host can be used.\nexample_record = aws.route53.Record(\"example\",\n name=example.domain_name,\n type=aws.route53.RecordType.A,\n zone_id=example_aws_route53_zone[\"id\"],\n aliases=[{\n \"evaluate_target_health\": True,\n \"name\": example.regional_domain_name,\n \"zone_id\": example.regional_zone_id,\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.ApiGateway.DomainName(\"example\", new()\n {\n Domain = \"api.example.com\",\n RegionalCertificateArn = exampleAwsAcmCertificateValidation.CertificateArn,\n EndpointConfiguration = new Aws.ApiGateway.Inputs.DomainNameEndpointConfigurationArgs\n {\n Types = \"REGIONAL\",\n },\n });\n\n // Example DNS record using Route53.\n // Route53 is not specifically required; any DNS host can be used.\n var exampleRecord = new Aws.Route53.Record(\"example\", new()\n {\n Name = example.Domain,\n Type = Aws.Route53.RecordType.A,\n ZoneId = exampleAwsRoute53Zone.Id,\n Aliases = new[]\n {\n new Aws.Route53.Inputs.RecordAliasArgs\n {\n EvaluateTargetHealth = true,\n Name = example.RegionalDomainName,\n ZoneId = example.RegionalZoneId,\n },\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-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\texample, err := apigateway.NewDomainName(ctx, \"example\", \u0026apigateway.DomainNameArgs{\n\t\t\tDomainName: pulumi.String(\"api.example.com\"),\n\t\t\tRegionalCertificateArn: pulumi.Any(exampleAwsAcmCertificateValidation.CertificateArn),\n\t\t\tEndpointConfiguration: \u0026apigateway.DomainNameEndpointConfigurationArgs{\n\t\t\t\tTypes: pulumi.String(\"REGIONAL\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Example DNS record using Route53.\n\t\t// Route53 is not specifically required; any DNS host can be used.\n\t\t_, err = route53.NewRecord(ctx, \"example\", \u0026route53.RecordArgs{\n\t\t\tName: example.DomainName,\n\t\t\tType: pulumi.String(route53.RecordTypeA),\n\t\t\tZoneId: pulumi.Any(exampleAwsRoute53Zone.Id),\n\t\t\tAliases: route53.RecordAliasArray{\n\t\t\t\t\u0026route53.RecordAliasArgs{\n\t\t\t\t\tEvaluateTargetHealth: pulumi.Bool(true),\n\t\t\t\t\tName: example.RegionalDomainName,\n\t\t\t\t\tZoneId: example.RegionalZoneId,\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.apigateway.DomainName;\nimport com.pulumi.aws.apigateway.DomainNameArgs;\nimport com.pulumi.aws.apigateway.inputs.DomainNameEndpointConfigurationArgs;\nimport com.pulumi.aws.route53.Record;\nimport com.pulumi.aws.route53.RecordArgs;\nimport com.pulumi.aws.route53.inputs.RecordAliasArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 DomainName(\"example\", DomainNameArgs.builder()\n .domainName(\"api.example.com\")\n .regionalCertificateArn(exampleAwsAcmCertificateValidation.certificateArn())\n .endpointConfiguration(DomainNameEndpointConfigurationArgs.builder()\n .types(\"REGIONAL\")\n .build())\n .build());\n\n // Example DNS record using Route53.\n // Route53 is not specifically required; any DNS host can be used.\n var exampleRecord = new Record(\"exampleRecord\", RecordArgs.builder()\n .name(example.domainName())\n .type(\"A\")\n .zoneId(exampleAwsRoute53Zone.id())\n .aliases(RecordAliasArgs.builder()\n .evaluateTargetHealth(true)\n .name(example.regionalDomainName())\n .zoneId(example.regionalZoneId())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:apigateway:DomainName\n properties:\n domainName: api.example.com\n regionalCertificateArn: ${exampleAwsAcmCertificateValidation.certificateArn}\n endpointConfiguration:\n types: REGIONAL\n # Example DNS record using Route53.\n # Route53 is not specifically required; any DNS host can be used.\n exampleRecord:\n type: aws:route53:Record\n name: example\n properties:\n name: ${example.domainName}\n type: A\n zoneId: ${exampleAwsRoute53Zone.id}\n aliases:\n - evaluateTargetHealth: true\n name: ${example.regionalDomainName}\n zoneId: ${example.regionalZoneId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nFor a private custom domain name:\n\nUsing `pulumi import`, import API Gateway domain names using their `name` or `name` and `domain_name_id` (for private custom domain names). For example:\n\n```sh\n$ pulumi import aws:apigateway/domainName:DomainName example dev.example.com\n```\nFor a private custom domain name:\n\n```sh\n$ pulumi import aws:apigateway/domainName:DomainName example dev.api.internal.example.com/abcde12345\n```\n", "properties": { "arn": { "type": "string", @@ -176609,6 +176774,10 @@ } } }, + "domainNameId": { + "type": "string", + "description": "The identifier for the domain name resource. Supported only for private custom domain names.\n" + }, "endpointConfiguration": { "$ref": "#/types/aws:apigateway/DomainNameEndpointConfiguration:DomainNameEndpointConfiguration", "description": "Configuration block defining API endpoint information including type. See below.\n" @@ -176621,6 +176790,10 @@ "type": "string", "description": "ARN of the AWS-issued certificate used to validate custom domain ownership (when `certificate_arn` is issued via an ACM Private CA or `mutual_tls_authentication` is configured with an ACM-imported certificate.)\n" }, + "policy": { + "type": "string", + "description": "A stringified JSON policy document that applies to the execute-api service for this DomainName regardless of the caller and Method configuration. Supported only for private custom domain names.\n" + }, "regionalCertificateArn": { "type": "string", "description": "ARN for an AWS-managed certificate. AWS Certificate Manager is the only supported source. Used when a regional domain name is desired. Conflicts with `certificate_arn`, `certificate_name`, `certificate_body`, `certificate_chain`, and `certificate_private_key`.\n\nWhen uploading a certificate, the following arguments are supported:\n" @@ -176663,6 +176836,7 @@ "cloudfrontDomainName", "cloudfrontZoneId", "domainName", + "domainNameId", "endpointConfiguration", "ownershipVerificationCertificateArn", "regionalDomainName", @@ -176717,6 +176891,10 @@ "type": "string", "description": "ARN of the AWS-issued certificate used to validate custom domain ownership (when `certificate_arn` is issued via an ACM Private CA or `mutual_tls_authentication` is configured with an ACM-imported certificate.)\n" }, + "policy": { + "type": "string", + "description": "A stringified JSON policy document that applies to the execute-api service for this DomainName regardless of the caller and Method configuration. Supported only for private custom domain names.\n" + }, "regionalCertificateArn": { "type": "string", "description": "ARN for an AWS-managed certificate. AWS Certificate Manager is the only supported source. Used when a regional domain name is desired. Conflicts with `certificate_arn`, `certificate_name`, `certificate_body`, `certificate_chain`, and `certificate_private_key`.\n\nWhen uploading a certificate, the following arguments are supported:\n" @@ -176793,6 +176971,10 @@ }, "willReplaceOnChanges": true }, + "domainNameId": { + "type": "string", + "description": "The identifier for the domain name resource. Supported only for private custom domain names.\n" + }, "endpointConfiguration": { "$ref": "#/types/aws:apigateway/DomainNameEndpointConfiguration:DomainNameEndpointConfiguration", "description": "Configuration block defining API endpoint information including type. See below.\n" @@ -176805,6 +176987,10 @@ "type": "string", "description": "ARN of the AWS-issued certificate used to validate custom domain ownership (when `certificate_arn` is issued via an ACM Private CA or `mutual_tls_authentication` is configured with an ACM-imported certificate.)\n" }, + "policy": { + "type": "string", + "description": "A stringified JSON policy document that applies to the execute-api service for this DomainName regardless of the caller and Method configuration. Supported only for private custom domain names.\n" + }, "regionalCertificateArn": { "type": "string", "description": "ARN for an AWS-managed certificate. AWS Certificate Manager is the only supported source. Used when a regional domain name is desired. Conflicts with `certificate_arn`, `certificate_name`, `certificate_body`, `certificate_chain`, and `certificate_private_key`.\n\nWhen uploading a certificate, the following arguments are supported:\n" @@ -194979,6 +195165,163 @@ "type": "object" } }, + "aws:bedrock/inferenceProfile:InferenceProfile": { + "description": "Resource for managing an AWS Bedrock Inference Profile.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nconst example = new aws.bedrock.InferenceProfile(\"example\", {\n name: \"Claude Sonnet for Project 123\",\n description: \"Profile with tag for cost allocation tracking\",\n modelSource: {\n copyFrom: \"arn:aws:bedrock:us-west-2::foundation-model/anthropic.claude-3-5-sonnet-20241022-v2:0\",\n },\n tags: {\n ProjectID: \"123\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\nexample = aws.bedrock.InferenceProfile(\"example\",\n name=\"Claude Sonnet for Project 123\",\n description=\"Profile with tag for cost allocation tracking\",\n model_source={\n \"copy_from\": \"arn:aws:bedrock:us-west-2::foundation-model/anthropic.claude-3-5-sonnet-20241022-v2:0\",\n },\n tags={\n \"ProjectID\": \"123\",\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.GetCallerIdentity.Invoke();\n\n var example = new Aws.Bedrock.InferenceProfile(\"example\", new()\n {\n Name = \"Claude Sonnet for Project 123\",\n Description = \"Profile with tag for cost allocation tracking\",\n ModelSource = new Aws.Bedrock.Inputs.InferenceProfileModelSourceArgs\n {\n CopyFrom = \"arn:aws:bedrock:us-west-2::foundation-model/anthropic.claude-3-5-sonnet-20241022-v2:0\",\n },\n Tags = \n {\n { \"ProjectID\", \"123\" },\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/bedrock\"\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.GetCallerIdentity(ctx, \u0026aws.GetCallerIdentityArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = bedrock.NewInferenceProfile(ctx, \"example\", \u0026bedrock.InferenceProfileArgs{\n\t\t\tName: pulumi.String(\"Claude Sonnet for Project 123\"),\n\t\t\tDescription: pulumi.String(\"Profile with tag for cost allocation tracking\"),\n\t\t\tModelSource: \u0026bedrock.InferenceProfileModelSourceArgs{\n\t\t\t\tCopyFrom: pulumi.String(\"arn:aws:bedrock:us-west-2::foundation-model/anthropic.claude-3-5-sonnet-20241022-v2:0\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"ProjectID\": pulumi.String(\"123\"),\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.GetCallerIdentityArgs;\nimport com.pulumi.aws.bedrock.InferenceProfile;\nimport com.pulumi.aws.bedrock.InferenceProfileArgs;\nimport com.pulumi.aws.bedrock.inputs.InferenceProfileModelSourceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getCallerIdentity();\n\n var example = new InferenceProfile(\"example\", InferenceProfileArgs.builder()\n .name(\"Claude Sonnet for Project 123\")\n .description(\"Profile with tag for cost allocation tracking\")\n .modelSource(InferenceProfileModelSourceArgs.builder()\n .copyFrom(\"arn:aws:bedrock:us-west-2::foundation-model/anthropic.claude-3-5-sonnet-20241022-v2:0\")\n .build())\n .tags(Map.of(\"ProjectID\", \"123\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:bedrock:InferenceProfile\n properties:\n name: Claude Sonnet for Project 123\n description: Profile with tag for cost allocation tracking\n modelSource:\n copyFrom: arn:aws:bedrock:us-west-2::foundation-model/anthropic.claude-3-5-sonnet-20241022-v2:0\n tags:\n ProjectID: '123'\nvariables:\n current:\n fn::invoke:\n function: aws:getCallerIdentity\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Bedrock Inference Profile using the `example_id_arg`. For example:\n\n```sh\n$ pulumi import aws:bedrock/inferenceProfile:InferenceProfile example inference_profile-id-12345678\n```\n", + "properties": { + "arn": { + "type": "string", + "description": "The Amazon Resource Name (ARN) of the inference profile.\n" + }, + "createdAt": { + "type": "string", + "description": "The time at which the inference profile was created.\n" + }, + "description": { + "type": "string", + "description": "The description of the inference profile.\n" + }, + "modelSource": { + "$ref": "#/types/aws:bedrock/InferenceProfileModelSource:InferenceProfileModelSource", + "description": "The source of the model this inference profile will track metrics and cost for. See `model_source`.\n\nThe following arguments are optional:\n" + }, + "models": { + "type": "array", + "items": { + "$ref": "#/types/aws:bedrock/InferenceProfileModel:InferenceProfileModel" + }, + "description": "A list of information about each model in the inference profile. See `models`.\n" + }, + "name": { + "type": "string", + "description": "The name of the inference profile.\n" + }, + "status": { + "type": "string", + "description": "The status of the inference profile. `ACTIVE` means that the inference profile is available to use.\n" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Key-value mapping of resource tags for the inference profile.\n" + }, + "tagsAll": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "deprecationMessage": "Please use `tags` instead." + }, + "timeouts": { + "$ref": "#/types/aws:bedrock/InferenceProfileTimeouts:InferenceProfileTimeouts" + }, + "type": { + "type": "string", + "description": "The type of the inference profile. `SYSTEM_DEFINED` means that the inference profile is defined by Amazon Bedrock. `APPLICATION` means that the inference profile is defined by the user.\n" + }, + "updatedAt": { + "type": "string", + "description": "The time at which the inference profile was last updated.\n" + } + }, + "required": [ + "arn", + "createdAt", + "models", + "name", + "status", + "tagsAll", + "type", + "updatedAt" + ], + "inputProperties": { + "description": { + "type": "string", + "description": "The description of the inference profile.\n" + }, + "modelSource": { + "$ref": "#/types/aws:bedrock/InferenceProfileModelSource:InferenceProfileModelSource", + "description": "The source of the model this inference profile will track metrics and cost for. See `model_source`.\n\nThe following arguments are optional:\n" + }, + "name": { + "type": "string", + "description": "The name of the inference profile.\n" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Key-value mapping of resource tags for the inference profile.\n" + }, + "timeouts": { + "$ref": "#/types/aws:bedrock/InferenceProfileTimeouts:InferenceProfileTimeouts" + } + }, + "stateInputs": { + "description": "Input properties used for looking up and filtering InferenceProfile resources.\n", + "properties": { + "arn": { + "type": "string", + "description": "The Amazon Resource Name (ARN) of the inference profile.\n" + }, + "createdAt": { + "type": "string", + "description": "The time at which the inference profile was created.\n" + }, + "description": { + "type": "string", + "description": "The description of the inference profile.\n" + }, + "modelSource": { + "$ref": "#/types/aws:bedrock/InferenceProfileModelSource:InferenceProfileModelSource", + "description": "The source of the model this inference profile will track metrics and cost for. See `model_source`.\n\nThe following arguments are optional:\n" + }, + "models": { + "type": "array", + "items": { + "$ref": "#/types/aws:bedrock/InferenceProfileModel:InferenceProfileModel" + }, + "description": "A list of information about each model in the inference profile. See `models`.\n" + }, + "name": { + "type": "string", + "description": "The name of the inference profile.\n" + }, + "status": { + "type": "string", + "description": "The status of the inference profile. `ACTIVE` means that the inference profile is available to use.\n" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Key-value mapping of resource tags for the inference profile.\n" + }, + "tagsAll": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "deprecationMessage": "Please use `tags` instead." + }, + "timeouts": { + "$ref": "#/types/aws:bedrock/InferenceProfileTimeouts:InferenceProfileTimeouts" + }, + "type": { + "type": "string", + "description": "The type of the inference profile. `SYSTEM_DEFINED` means that the inference profile is defined by Amazon Bedrock. `APPLICATION` means that the inference profile is defined by the user.\n" + }, + "updatedAt": { + "type": "string", + "description": "The time at which the inference profile was last updated.\n" + } + }, + "type": "object" + } + }, "aws:bedrock/provisionedModelThroughput:ProvisionedModelThroughput": { "description": "Manages [Provisioned Throughput](https://docs.aws.amazon.com/bedrock/latest/userguide/prov-throughput.html) for an Amazon Bedrock model.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.bedrock.ProvisionedModelThroughput(\"example\", {\n provisionedModelName: \"example-model\",\n modelArn: \"arn:aws:bedrock:us-east-1::foundation-model/anthropic.claude-v2\",\n commitmentDuration: \"SixMonths\",\n modelUnits: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.bedrock.ProvisionedModelThroughput(\"example\",\n provisioned_model_name=\"example-model\",\n model_arn=\"arn:aws:bedrock:us-east-1::foundation-model/anthropic.claude-v2\",\n commitment_duration=\"SixMonths\",\n model_units=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Bedrock.ProvisionedModelThroughput(\"example\", new()\n {\n ProvisionedModelName = \"example-model\",\n ModelArn = \"arn:aws:bedrock:us-east-1::foundation-model/anthropic.claude-v2\",\n CommitmentDuration = \"SixMonths\",\n ModelUnits = 1,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/bedrock\"\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 := bedrock.NewProvisionedModelThroughput(ctx, \"example\", \u0026bedrock.ProvisionedModelThroughputArgs{\n\t\t\tProvisionedModelName: pulumi.String(\"example-model\"),\n\t\t\tModelArn: pulumi.String(\"arn:aws:bedrock:us-east-1::foundation-model/anthropic.claude-v2\"),\n\t\t\tCommitmentDuration: pulumi.String(\"SixMonths\"),\n\t\t\tModelUnits: pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.bedrock.ProvisionedModelThroughput;\nimport com.pulumi.aws.bedrock.ProvisionedModelThroughputArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 ProvisionedModelThroughput(\"example\", ProvisionedModelThroughputArgs.builder()\n .provisionedModelName(\"example-model\")\n .modelArn(\"arn:aws:bedrock:us-east-1::foundation-model/anthropic.claude-v2\")\n .commitmentDuration(\"SixMonths\")\n .modelUnits(1)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:bedrock:ProvisionedModelThroughput\n properties:\n provisionedModelName: example-model\n modelArn: arn:aws:bedrock:us-east-1::foundation-model/anthropic.claude-v2\n commitmentDuration: SixMonths\n modelUnits: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Provisioned Throughput using the `provisioned_model_arn`. For example:\n\n```sh\n$ pulumi import aws:bedrock/provisionedModelThroughput:ProvisionedModelThroughput example arn:aws:bedrock:us-west-2:123456789012:provisioned-model/1y5n57gh5y2e\n```\n", "properties": { @@ -204771,6 +205114,160 @@ "type": "object" } }, + "aws:cloudwatch/logAnomalyDetector:LogAnomalyDetector": { + "description": "Resource for managing an AWS CloudWatch Logs Log Anomaly Detector.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test: aws.cloudwatch.LogGroup[] = [];\nfor (const range = {value: 0}; range.value \u003c 2; range.value++) {\n test.push(new aws.cloudwatch.LogGroup(`test-${range.value}`, {name: `testing-${range.value}`}));\n}\nconst testLogAnomalyDetector = new aws.cloudwatch.LogAnomalyDetector(\"test\", {\n detectorName: \"testing\",\n logGroupArnLists: [test[0].arn],\n anomalyVisibilityTime: 7,\n evaluationFrequency: \"TEN_MIN\",\n enabled: false,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = []\nfor range in [{\"value\": i} for i in range(0, 2)]:\n test.append(aws.cloudwatch.LogGroup(f\"test-{range['value']}\", name=f\"testing-{range['value']}\"))\ntest_log_anomaly_detector = aws.cloudwatch.LogAnomalyDetector(\"test\",\n detector_name=\"testing\",\n log_group_arn_lists=[test[0].arn],\n anomaly_visibility_time=7,\n evaluation_frequency=\"TEN_MIN\",\n enabled=False)\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 List\u003cAws.CloudWatch.LogGroup\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c 2; rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n test.Add(new Aws.CloudWatch.LogGroup($\"test-{range.Value}\", new()\n {\n Name = $\"testing-{range.Value}\",\n }));\n }\n var testLogAnomalyDetector = new Aws.CloudWatch.LogAnomalyDetector(\"test\", new()\n {\n DetectorName = \"testing\",\n LogGroupArnLists = new[]\n {\n test[0].Arn,\n },\n AnomalyVisibilityTime = 7,\n EvaluationFrequency = \"TEN_MIN\",\n Enabled = false,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tvar test []*cloudwatch.LogGroup\n\t\tfor index := 0; index \u003c 2; index++ {\n\t\t\tkey0 := index\n\t\t\tval0 := index\n\t\t\t__res, err := cloudwatch.NewLogGroup(ctx, fmt.Sprintf(\"test-%v\", key0), \u0026cloudwatch.LogGroupArgs{\n\t\t\t\tName: pulumi.Sprintf(\"testing-%v\", val0),\n\t\t\t})\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\ttest = append(test, __res)\n\t\t}\n\t\t_, err = cloudwatch.NewLogAnomalyDetector(ctx, \"test\", \u0026cloudwatch.LogAnomalyDetectorArgs{\n\t\t\tDetectorName: pulumi.String(\"testing\"),\n\t\t\tLogGroupArnLists: pulumi.StringArray{\n\t\t\t\ttest[0].Arn,\n\t\t\t},\n\t\t\tAnomalyVisibilityTime: pulumi.Int(7),\n\t\t\tEvaluationFrequency: pulumi.String(\"TEN_MIN\"),\n\t\t\tEnabled: pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudwatch.LogGroup;\nimport com.pulumi.aws.cloudwatch.LogGroupArgs;\nimport com.pulumi.aws.cloudwatch.LogAnomalyDetector;\nimport com.pulumi.aws.cloudwatch.LogAnomalyDetectorArgs;\nimport com.pulumi.codegen.internal.KeyedValue;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n for (var i = 0; i \u003c 2; i++) {\n new LogGroup(\"test-\" + i, LogGroupArgs.builder()\n .name(String.format(\"testing-%s\", range.value()))\n .build());\n\n \n}\n var testLogAnomalyDetector = new LogAnomalyDetector(\"testLogAnomalyDetector\", LogAnomalyDetectorArgs.builder()\n .detectorName(\"testing\")\n .logGroupArnLists(test[0].arn())\n .anomalyVisibilityTime(7)\n .evaluationFrequency(\"TEN_MIN\")\n .enabled(\"false\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:cloudwatch:LogGroup\n properties:\n name: testing-${range.value}\n options: {}\n testLogAnomalyDetector:\n type: aws:cloudwatch:LogAnomalyDetector\n name: test\n properties:\n detectorName: testing\n logGroupArnLists:\n - ${test[0].arn}\n anomalyVisibilityTime: 7\n evaluationFrequency: TEN_MIN\n enabled: 'false'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import CloudWatch Log Anomaly Detector using the `example_id_arg`. For example:\n\n```sh\n$ pulumi import aws:cloudwatch/logAnomalyDetector:LogAnomalyDetector example log_anomaly_detector-arn-12345678\n```\n", + "properties": { + "anomalyVisibilityTime": { + "type": "integer", + "description": "Number of days to have visibility on an anomaly. After this time period has elapsed for an anomaly, it will be automatically baselined and the anomaly detector will treat new occurrences of a similar anomaly as normal. Therefore, if you do not correct the cause of an anomaly during the time period specified in `anomaly_visibility_time`, it will be considered normal going forward and will not be detected as an anomaly. Valid Range: Minimum value of 7. Maximum value of 90.\n" + }, + "arn": { + "type": "string", + "description": "ARN of the log anomaly detector that you just created.\n" + }, + "detectorName": { + "type": "string", + "description": "Name for this anomaly detector.\n" + }, + "enabled": { + "type": "boolean" + }, + "evaluationFrequency": { + "type": "string", + "description": "Specifies how often the anomaly detector is to run and look for anomalies. Set this value according to the frequency that the log group receives new logs. For example, if the log group receives new log events every 10 minutes, then 15 minutes might be a good setting for `evaluation_frequency`. Valid Values: `ONE_MIN | FIVE_MIN | TEN_MIN | FIFTEEN_MIN | THIRTY_MIN | ONE_HOUR`.\n" + }, + "filterPattern": { + "type": "string", + "description": "You can use this parameter to limit the anomaly detection model to examine only log events that match the pattern you specify here. For more information, see [Filter and Pattern Syntax](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/FilterAndPatternSyntax.html).\n" + }, + "kmsKeyId": { + "type": "string", + "description": "Optionally assigns a AWS KMS key to secure this anomaly detector and its findings. If a key is assigned, the anomalies found and the model used by this detector are encrypted at rest with the key. If a key is assigned to an anomaly detector, a user must have permissions for both this key and for the anomaly detector to retrieve information about the anomalies that it finds.\n" + }, + "logGroupArnLists": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Array containing the ARN of the log group that this anomaly detector will watch. You can specify only one log group ARN.\n\nThe following arguments are optional:\n" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "tagsAll": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "deprecationMessage": "Please use `tags` instead." + } + }, + "required": [ + "anomalyVisibilityTime", + "arn", + "enabled", + "logGroupArnLists", + "tagsAll" + ], + "inputProperties": { + "anomalyVisibilityTime": { + "type": "integer", + "description": "Number of days to have visibility on an anomaly. After this time period has elapsed for an anomaly, it will be automatically baselined and the anomaly detector will treat new occurrences of a similar anomaly as normal. Therefore, if you do not correct the cause of an anomaly during the time period specified in `anomaly_visibility_time`, it will be considered normal going forward and will not be detected as an anomaly. Valid Range: Minimum value of 7. Maximum value of 90.\n" + }, + "detectorName": { + "type": "string", + "description": "Name for this anomaly detector.\n" + }, + "enabled": { + "type": "boolean" + }, + "evaluationFrequency": { + "type": "string", + "description": "Specifies how often the anomaly detector is to run and look for anomalies. Set this value according to the frequency that the log group receives new logs. For example, if the log group receives new log events every 10 minutes, then 15 minutes might be a good setting for `evaluation_frequency`. Valid Values: `ONE_MIN | FIVE_MIN | TEN_MIN | FIFTEEN_MIN | THIRTY_MIN | ONE_HOUR`.\n" + }, + "filterPattern": { + "type": "string", + "description": "You can use this parameter to limit the anomaly detection model to examine only log events that match the pattern you specify here. For more information, see [Filter and Pattern Syntax](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/FilterAndPatternSyntax.html).\n" + }, + "kmsKeyId": { + "type": "string", + "description": "Optionally assigns a AWS KMS key to secure this anomaly detector and its findings. If a key is assigned, the anomalies found and the model used by this detector are encrypted at rest with the key. If a key is assigned to an anomaly detector, a user must have permissions for both this key and for the anomaly detector to retrieve information about the anomalies that it finds.\n" + }, + "logGroupArnLists": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Array containing the ARN of the log group that this anomaly detector will watch. You can specify only one log group ARN.\n\nThe following arguments are optional:\n" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + } + } + }, + "requiredInputs": [ + "enabled", + "logGroupArnLists" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering LogAnomalyDetector resources.\n", + "properties": { + "anomalyVisibilityTime": { + "type": "integer", + "description": "Number of days to have visibility on an anomaly. After this time period has elapsed for an anomaly, it will be automatically baselined and the anomaly detector will treat new occurrences of a similar anomaly as normal. Therefore, if you do not correct the cause of an anomaly during the time period specified in `anomaly_visibility_time`, it will be considered normal going forward and will not be detected as an anomaly. Valid Range: Minimum value of 7. Maximum value of 90.\n" + }, + "arn": { + "type": "string", + "description": "ARN of the log anomaly detector that you just created.\n" + }, + "detectorName": { + "type": "string", + "description": "Name for this anomaly detector.\n" + }, + "enabled": { + "type": "boolean" + }, + "evaluationFrequency": { + "type": "string", + "description": "Specifies how often the anomaly detector is to run and look for anomalies. Set this value according to the frequency that the log group receives new logs. For example, if the log group receives new log events every 10 minutes, then 15 minutes might be a good setting for `evaluation_frequency`. Valid Values: `ONE_MIN | FIVE_MIN | TEN_MIN | FIFTEEN_MIN | THIRTY_MIN | ONE_HOUR`.\n" + }, + "filterPattern": { + "type": "string", + "description": "You can use this parameter to limit the anomaly detection model to examine only log events that match the pattern you specify here. For more information, see [Filter and Pattern Syntax](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/FilterAndPatternSyntax.html).\n" + }, + "kmsKeyId": { + "type": "string", + "description": "Optionally assigns a AWS KMS key to secure this anomaly detector and its findings. If a key is assigned, the anomalies found and the model used by this detector are encrypted at rest with the key. If a key is assigned to an anomaly detector, a user must have permissions for both this key and for the anomaly detector to retrieve information about the anomalies that it finds.\n" + }, + "logGroupArnLists": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Array containing the ARN of the log group that this anomaly detector will watch. You can specify only one log group ARN.\n\nThe following arguments are optional:\n" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "tagsAll": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "deprecationMessage": "Please use `tags` instead." + } + }, + "type": "object" + } + }, "aws:cloudwatch/logDataProtectionPolicy:LogDataProtectionPolicy": { "description": "Provides a CloudWatch Log Data Protection Policy resource.\n\nRead more about protecting sensitive user data in the [User Guide](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/mask-sensitive-log-data.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cloudwatch.LogGroup(\"example\", {name: \"example\"});\nconst exampleBucketV2 = new aws.s3.BucketV2(\"example\", {bucket: \"example\"});\nconst exampleLogDataProtectionPolicy = new aws.cloudwatch.LogDataProtectionPolicy(\"example\", {\n logGroupName: example.name,\n policyDocument: pulumi.jsonStringify({\n Name: \"Example\",\n Version: \"2021-06-01\",\n Statement: [\n {\n Sid: \"Audit\",\n DataIdentifier: [\"arn:aws:dataprotection::aws:data-identifier/EmailAddress\"],\n Operation: {\n Audit: {\n FindingsDestination: {\n S3: {\n Bucket: exampleBucketV2.bucket,\n },\n },\n },\n },\n },\n {\n Sid: \"Redact\",\n DataIdentifier: [\"arn:aws:dataprotection::aws:data-identifier/EmailAddress\"],\n Operation: {\n Deidentify: {\n MaskConfig: {},\n },\n },\n },\n ],\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.cloudwatch.LogGroup(\"example\", name=\"example\")\nexample_bucket_v2 = aws.s3.BucketV2(\"example\", bucket=\"example\")\nexample_log_data_protection_policy = aws.cloudwatch.LogDataProtectionPolicy(\"example\",\n log_group_name=example.name,\n policy_document=pulumi.Output.json_dumps({\n \"Name\": \"Example\",\n \"Version\": \"2021-06-01\",\n \"Statement\": [\n {\n \"Sid\": \"Audit\",\n \"DataIdentifier\": [\"arn:aws:dataprotection::aws:data-identifier/EmailAddress\"],\n \"Operation\": {\n \"Audit\": {\n \"FindingsDestination\": {\n \"S3\": {\n \"Bucket\": example_bucket_v2.bucket,\n },\n },\n },\n },\n },\n {\n \"Sid\": \"Redact\",\n \"DataIdentifier\": [\"arn:aws:dataprotection::aws:data-identifier/EmailAddress\"],\n \"Operation\": {\n \"Deidentify\": {\n \"MaskConfig\": {},\n },\n },\n },\n ],\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CloudWatch.LogGroup(\"example\", new()\n {\n Name = \"example\",\n });\n\n var exampleBucketV2 = new Aws.S3.BucketV2(\"example\", new()\n {\n Bucket = \"example\",\n });\n\n var exampleLogDataProtectionPolicy = new Aws.CloudWatch.LogDataProtectionPolicy(\"example\", new()\n {\n LogGroupName = example.Name,\n PolicyDocument = Output.JsonSerialize(Output.Create(new Dictionary\u003cstring, object?\u003e\n {\n [\"Name\"] = \"Example\",\n [\"Version\"] = \"2021-06-01\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Sid\"] = \"Audit\",\n [\"DataIdentifier\"] = new[]\n {\n \"arn:aws:dataprotection::aws:data-identifier/EmailAddress\",\n },\n [\"Operation\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Audit\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"FindingsDestination\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"S3\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Bucket\"] = exampleBucketV2.Bucket,\n },\n },\n },\n },\n },\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Sid\"] = \"Redact\",\n [\"DataIdentifier\"] = new[]\n {\n \"arn:aws:dataprotection::aws:data-identifier/EmailAddress\",\n },\n [\"Operation\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Deidentify\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"MaskConfig\"] = new Dictionary\u003cstring, object?\u003e\n {\n },\n },\n },\n },\n },\n })),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch\"\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 := cloudwatch.NewLogGroup(ctx, \"example\", \u0026cloudwatch.LogGroupArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleBucketV2, err := s3.NewBucketV2(ctx, \"example\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudwatch.NewLogDataProtectionPolicy(ctx, \"example\", \u0026cloudwatch.LogDataProtectionPolicyArgs{\n\t\t\tLogGroupName: example.Name,\n\t\t\tPolicyDocument: exampleBucketV2.Bucket.ApplyT(func(bucket 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\"Name\": \"Example\",\n\t\t\t\t\t\"Version\": \"2021-06-01\",\n\t\t\t\t\t\"Statement\": []interface{}{\n\t\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\t\"Sid\": \"Audit\",\n\t\t\t\t\t\t\t\"DataIdentifier\": []string{\n\t\t\t\t\t\t\t\t\"arn:aws:dataprotection::aws:data-identifier/EmailAddress\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"Operation\": map[string]interface{}{\n\t\t\t\t\t\t\t\t\"Audit\": map[string]interface{}{\n\t\t\t\t\t\t\t\t\t\"FindingsDestination\": map[string]interface{}{\n\t\t\t\t\t\t\t\t\t\t\"S3\": map[string]interface{}{\n\t\t\t\t\t\t\t\t\t\t\t\"Bucket\": bucket,\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\t\"Sid\": \"Redact\",\n\t\t\t\t\t\t\t\"DataIdentifier\": []string{\n\t\t\t\t\t\t\t\t\"arn:aws:dataprotection::aws:data-identifier/EmailAddress\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"Operation\": map[string]interface{}{\n\t\t\t\t\t\t\t\t\"Deidentify\": map[string]interface{}{\n\t\t\t\t\t\t\t\t\t\"MaskConfig\": map[string]interface{}{},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t\tif err != nil {\n\t\t\t\t\treturn _zero, err\n\t\t\t\t}\n\t\t\t\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.cloudwatch.LogGroup;\nimport com.pulumi.aws.cloudwatch.LogGroupArgs;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.cloudwatch.LogDataProtectionPolicy;\nimport com.pulumi.aws.cloudwatch.LogDataProtectionPolicyArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new LogGroup(\"example\", LogGroupArgs.builder()\n .name(\"example\")\n .build());\n\n var exampleBucketV2 = new BucketV2(\"exampleBucketV2\", BucketV2Args.builder()\n .bucket(\"example\")\n .build());\n\n var exampleLogDataProtectionPolicy = new LogDataProtectionPolicy(\"exampleLogDataProtectionPolicy\", LogDataProtectionPolicyArgs.builder()\n .logGroupName(example.name())\n .policyDocument(exampleBucketV2.bucket().applyValue(bucket -\u003e serializeJson(\n jsonObject(\n jsonProperty(\"Name\", \"Example\"),\n jsonProperty(\"Version\", \"2021-06-01\"),\n jsonProperty(\"Statement\", jsonArray(\n jsonObject(\n jsonProperty(\"Sid\", \"Audit\"),\n jsonProperty(\"DataIdentifier\", jsonArray(\"arn:aws:dataprotection::aws:data-identifier/EmailAddress\")),\n jsonProperty(\"Operation\", jsonObject(\n jsonProperty(\"Audit\", jsonObject(\n jsonProperty(\"FindingsDestination\", jsonObject(\n jsonProperty(\"S3\", jsonObject(\n jsonProperty(\"Bucket\", bucket)\n ))\n ))\n ))\n ))\n ), \n jsonObject(\n jsonProperty(\"Sid\", \"Redact\"),\n jsonProperty(\"DataIdentifier\", jsonArray(\"arn:aws:dataprotection::aws:data-identifier/EmailAddress\")),\n jsonProperty(\"Operation\", jsonObject(\n jsonProperty(\"Deidentify\", jsonObject(\n jsonProperty(\"MaskConfig\", jsonObject(\n\n ))\n ))\n ))\n )\n ))\n ))))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloudwatch:LogGroup\n properties:\n name: example\n exampleBucketV2:\n type: aws:s3:BucketV2\n name: example\n properties:\n bucket: example\n exampleLogDataProtectionPolicy:\n type: aws:cloudwatch:LogDataProtectionPolicy\n name: example\n properties:\n logGroupName: ${example.name}\n policyDocument:\n fn::toJSON:\n Name: Example\n Version: 2021-06-01\n Statement:\n - Sid: Audit\n DataIdentifier:\n - arn:aws:dataprotection::aws:data-identifier/EmailAddress\n Operation:\n Audit:\n FindingsDestination:\n S3:\n Bucket: ${exampleBucketV2.bucket}\n - Sid: Redact\n DataIdentifier:\n - arn:aws:dataprotection::aws:data-identifier/EmailAddress\n Operation:\n Deidentify:\n MaskConfig: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import this resource using the `log_group_name`. For example:\n\n```sh\n$ pulumi import aws:cloudwatch/logDataProtectionPolicy:LogDataProtectionPolicy example my-log-group\n```\n", "properties": { @@ -212614,7 +213111,7 @@ } }, "aws:cognito/userPoolDomain:UserPoolDomain": { - "description": "Provides a Cognito User Pool Domain resource.\n\n## Example Usage\n\n### Amazon Cognito domain\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cognito.UserPool(\"example\", {name: \"example-pool\"});\nconst main = new aws.cognito.UserPoolDomain(\"main\", {\n domain: \"example-domain\",\n userPoolId: example.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cognito.UserPool(\"example\", name=\"example-pool\")\nmain = aws.cognito.UserPoolDomain(\"main\",\n domain=\"example-domain\",\n user_pool_id=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.Cognito.UserPool(\"example\", new()\n {\n Name = \"example-pool\",\n });\n\n var main = new Aws.Cognito.UserPoolDomain(\"main\", new()\n {\n Domain = \"example-domain\",\n UserPoolId = example.Id,\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\texample, err := cognito.NewUserPool(ctx, \"example\", \u0026cognito.UserPoolArgs{\n\t\t\tName: pulumi.String(\"example-pool\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cognito.NewUserPoolDomain(ctx, \"main\", \u0026cognito.UserPoolDomainArgs{\n\t\t\tDomain: pulumi.String(\"example-domain\"),\n\t\t\tUserPoolId: 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.cognito.UserPool;\nimport com.pulumi.aws.cognito.UserPoolArgs;\nimport com.pulumi.aws.cognito.UserPoolDomain;\nimport com.pulumi.aws.cognito.UserPoolDomainArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 .name(\"example-pool\")\n .build());\n\n var main = new UserPoolDomain(\"main\", UserPoolDomainArgs.builder()\n .domain(\"example-domain\")\n .userPoolId(example.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n main:\n type: aws:cognito:UserPoolDomain\n properties:\n domain: example-domain\n userPoolId: ${example.id}\n example:\n type: aws:cognito:UserPool\n properties:\n name: example-pool\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Custom Cognito domain\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleUserPool = new aws.cognito.UserPool(\"example\", {name: \"example-pool\"});\nconst main = new aws.cognito.UserPoolDomain(\"main\", {\n domain: \"example-domain\",\n certificateArn: cert.arn,\n userPoolId: exampleUserPool.id,\n});\nconst example = aws.route53.getZone({\n name: \"example.com\",\n});\nconst auth_cognito_A = new aws.route53.Record(\"auth-cognito-A\", {\n name: main.domain,\n type: aws.route53.RecordType.A,\n zoneId: example.then(example =\u003e example.zoneId),\n aliases: [{\n evaluateTargetHealth: false,\n name: main.cloudfrontDistribution,\n zoneId: main.cloudfrontDistributionZoneId,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_user_pool = aws.cognito.UserPool(\"example\", name=\"example-pool\")\nmain = aws.cognito.UserPoolDomain(\"main\",\n domain=\"example-domain\",\n certificate_arn=cert[\"arn\"],\n user_pool_id=example_user_pool.id)\nexample = aws.route53.get_zone(name=\"example.com\")\nauth_cognito__a = aws.route53.Record(\"auth-cognito-A\",\n name=main.domain,\n type=aws.route53.RecordType.A,\n zone_id=example.zone_id,\n aliases=[{\n \"evaluate_target_health\": False,\n \"name\": main.cloudfront_distribution,\n \"zone_id\": main.cloudfront_distribution_zone_id,\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleUserPool = new Aws.Cognito.UserPool(\"example\", new()\n {\n Name = \"example-pool\",\n });\n\n var main = new Aws.Cognito.UserPoolDomain(\"main\", new()\n {\n Domain = \"example-domain\",\n CertificateArn = cert.Arn,\n UserPoolId = exampleUserPool.Id,\n });\n\n var example = Aws.Route53.GetZone.Invoke(new()\n {\n Name = \"example.com\",\n });\n\n var auth_cognito_A = new Aws.Route53.Record(\"auth-cognito-A\", new()\n {\n Name = main.Domain,\n Type = Aws.Route53.RecordType.A,\n ZoneId = example.Apply(getZoneResult =\u003e getZoneResult.ZoneId),\n Aliases = new[]\n {\n new Aws.Route53.Inputs.RecordAliasArgs\n {\n EvaluateTargetHealth = false,\n Name = main.CloudfrontDistribution,\n ZoneId = main.CloudfrontDistributionZoneId,\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-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\texampleUserPool, err := cognito.NewUserPool(ctx, \"example\", \u0026cognito.UserPoolArgs{\n\t\t\tName: pulumi.String(\"example-pool\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmain, err := cognito.NewUserPoolDomain(ctx, \"main\", \u0026cognito.UserPoolDomainArgs{\n\t\t\tDomain: pulumi.String(\"example-domain\"),\n\t\t\tCertificateArn: pulumi.Any(cert.Arn),\n\t\t\tUserPoolId: exampleUserPool.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := route53.LookupZone(ctx, \u0026route53.LookupZoneArgs{\n\t\t\tName: pulumi.StringRef(\"example.com\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = route53.NewRecord(ctx, \"auth-cognito-A\", \u0026route53.RecordArgs{\n\t\t\tName: main.Domain,\n\t\t\tType: pulumi.String(route53.RecordTypeA),\n\t\t\tZoneId: pulumi.String(example.ZoneId),\n\t\t\tAliases: route53.RecordAliasArray{\n\t\t\t\t\u0026route53.RecordAliasArgs{\n\t\t\t\t\tEvaluateTargetHealth: pulumi.Bool(false),\n\t\t\t\t\tName: main.CloudfrontDistribution,\n\t\t\t\t\tZoneId: main.CloudfrontDistributionZoneId,\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.UserPoolDomain;\nimport com.pulumi.aws.cognito.UserPoolDomainArgs;\nimport com.pulumi.aws.route53.Route53Functions;\nimport com.pulumi.aws.route53.inputs.GetZoneArgs;\nimport com.pulumi.aws.route53.Record;\nimport com.pulumi.aws.route53.RecordArgs;\nimport com.pulumi.aws.route53.inputs.RecordAliasArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 exampleUserPool = new UserPool(\"exampleUserPool\", UserPoolArgs.builder()\n .name(\"example-pool\")\n .build());\n\n var main = new UserPoolDomain(\"main\", UserPoolDomainArgs.builder()\n .domain(\"example-domain\")\n .certificateArn(cert.arn())\n .userPoolId(exampleUserPool.id())\n .build());\n\n final var example = Route53Functions.getZone(GetZoneArgs.builder()\n .name(\"example.com\")\n .build());\n\n var auth_cognito_A = new Record(\"auth-cognito-A\", RecordArgs.builder()\n .name(main.domain())\n .type(\"A\")\n .zoneId(example.applyValue(getZoneResult -\u003e getZoneResult.zoneId()))\n .aliases(RecordAliasArgs.builder()\n .evaluateTargetHealth(false)\n .name(main.cloudfrontDistribution())\n .zoneId(main.cloudfrontDistributionZoneId())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n main:\n type: aws:cognito:UserPoolDomain\n properties:\n domain: example-domain\n certificateArn: ${cert.arn}\n userPoolId: ${exampleUserPool.id}\n exampleUserPool:\n type: aws:cognito:UserPool\n name: example\n properties:\n name: example-pool\n auth-cognito-A:\n type: aws:route53:Record\n properties:\n name: ${main.domain}\n type: A\n zoneId: ${example.zoneId}\n aliases:\n - evaluateTargetHealth: false\n name: ${main.cloudfrontDistribution}\n zoneId: ${main.cloudfrontDistributionZoneId}\nvariables:\n example:\n fn::invoke:\n function: aws:route53:getZone\n arguments:\n name: example.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Cognito User Pool Domains using the `domain`. For example:\n\n```sh\n$ pulumi import aws:cognito/userPoolDomain:UserPoolDomain main auth.example.org\n```\n", + "description": "Provides a Cognito User Pool Domain resource.\n\n## Example Usage\n\n### Amazon Cognito domain\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cognito.UserPool(\"example\", {name: \"example-pool\"});\nconst main = new aws.cognito.UserPoolDomain(\"main\", {\n domain: \"example-domain\",\n userPoolId: example.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cognito.UserPool(\"example\", name=\"example-pool\")\nmain = aws.cognito.UserPoolDomain(\"main\",\n domain=\"example-domain\",\n user_pool_id=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.Cognito.UserPool(\"example\", new()\n {\n Name = \"example-pool\",\n });\n\n var main = new Aws.Cognito.UserPoolDomain(\"main\", new()\n {\n Domain = \"example-domain\",\n UserPoolId = example.Id,\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\texample, err := cognito.NewUserPool(ctx, \"example\", \u0026cognito.UserPoolArgs{\n\t\t\tName: pulumi.String(\"example-pool\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cognito.NewUserPoolDomain(ctx, \"main\", \u0026cognito.UserPoolDomainArgs{\n\t\t\tDomain: pulumi.String(\"example-domain\"),\n\t\t\tUserPoolId: 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.cognito.UserPool;\nimport com.pulumi.aws.cognito.UserPoolArgs;\nimport com.pulumi.aws.cognito.UserPoolDomain;\nimport com.pulumi.aws.cognito.UserPoolDomainArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 .name(\"example-pool\")\n .build());\n\n var main = new UserPoolDomain(\"main\", UserPoolDomainArgs.builder()\n .domain(\"example-domain\")\n .userPoolId(example.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n main:\n type: aws:cognito:UserPoolDomain\n properties:\n domain: example-domain\n userPoolId: ${example.id}\n example:\n type: aws:cognito:UserPool\n properties:\n name: example-pool\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Custom Cognito domain\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleUserPool = new aws.cognito.UserPool(\"example\", {name: \"example-pool\"});\nconst main = new aws.cognito.UserPoolDomain(\"main\", {\n domain: \"auth.example.com\",\n certificateArn: cert.arn,\n userPoolId: exampleUserPool.id,\n});\nconst example = aws.route53.getZone({\n name: \"example.com\",\n});\nconst auth_cognito_A = new aws.route53.Record(\"auth-cognito-A\", {\n name: main.domain,\n type: aws.route53.RecordType.A,\n zoneId: example.then(example =\u003e example.zoneId),\n aliases: [{\n evaluateTargetHealth: false,\n name: main.cloudfrontDistribution,\n zoneId: main.cloudfrontDistributionZoneId,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_user_pool = aws.cognito.UserPool(\"example\", name=\"example-pool\")\nmain = aws.cognito.UserPoolDomain(\"main\",\n domain=\"auth.example.com\",\n certificate_arn=cert[\"arn\"],\n user_pool_id=example_user_pool.id)\nexample = aws.route53.get_zone(name=\"example.com\")\nauth_cognito__a = aws.route53.Record(\"auth-cognito-A\",\n name=main.domain,\n type=aws.route53.RecordType.A,\n zone_id=example.zone_id,\n aliases=[{\n \"evaluate_target_health\": False,\n \"name\": main.cloudfront_distribution,\n \"zone_id\": main.cloudfront_distribution_zone_id,\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleUserPool = new Aws.Cognito.UserPool(\"example\", new()\n {\n Name = \"example-pool\",\n });\n\n var main = new Aws.Cognito.UserPoolDomain(\"main\", new()\n {\n Domain = \"auth.example.com\",\n CertificateArn = cert.Arn,\n UserPoolId = exampleUserPool.Id,\n });\n\n var example = Aws.Route53.GetZone.Invoke(new()\n {\n Name = \"example.com\",\n });\n\n var auth_cognito_A = new Aws.Route53.Record(\"auth-cognito-A\", new()\n {\n Name = main.Domain,\n Type = Aws.Route53.RecordType.A,\n ZoneId = example.Apply(getZoneResult =\u003e getZoneResult.ZoneId),\n Aliases = new[]\n {\n new Aws.Route53.Inputs.RecordAliasArgs\n {\n EvaluateTargetHealth = false,\n Name = main.CloudfrontDistribution,\n ZoneId = main.CloudfrontDistributionZoneId,\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-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\texampleUserPool, err := cognito.NewUserPool(ctx, \"example\", \u0026cognito.UserPoolArgs{\n\t\t\tName: pulumi.String(\"example-pool\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmain, err := cognito.NewUserPoolDomain(ctx, \"main\", \u0026cognito.UserPoolDomainArgs{\n\t\t\tDomain: pulumi.String(\"auth.example.com\"),\n\t\t\tCertificateArn: pulumi.Any(cert.Arn),\n\t\t\tUserPoolId: exampleUserPool.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := route53.LookupZone(ctx, \u0026route53.LookupZoneArgs{\n\t\t\tName: pulumi.StringRef(\"example.com\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = route53.NewRecord(ctx, \"auth-cognito-A\", \u0026route53.RecordArgs{\n\t\t\tName: main.Domain,\n\t\t\tType: pulumi.String(route53.RecordTypeA),\n\t\t\tZoneId: pulumi.String(example.ZoneId),\n\t\t\tAliases: route53.RecordAliasArray{\n\t\t\t\t\u0026route53.RecordAliasArgs{\n\t\t\t\t\tEvaluateTargetHealth: pulumi.Bool(false),\n\t\t\t\t\tName: main.CloudfrontDistribution,\n\t\t\t\t\tZoneId: main.CloudfrontDistributionZoneId,\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.UserPoolDomain;\nimport com.pulumi.aws.cognito.UserPoolDomainArgs;\nimport com.pulumi.aws.route53.Route53Functions;\nimport com.pulumi.aws.route53.inputs.GetZoneArgs;\nimport com.pulumi.aws.route53.Record;\nimport com.pulumi.aws.route53.RecordArgs;\nimport com.pulumi.aws.route53.inputs.RecordAliasArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 exampleUserPool = new UserPool(\"exampleUserPool\", UserPoolArgs.builder()\n .name(\"example-pool\")\n .build());\n\n var main = new UserPoolDomain(\"main\", UserPoolDomainArgs.builder()\n .domain(\"auth.example.com\")\n .certificateArn(cert.arn())\n .userPoolId(exampleUserPool.id())\n .build());\n\n final var example = Route53Functions.getZone(GetZoneArgs.builder()\n .name(\"example.com\")\n .build());\n\n var auth_cognito_A = new Record(\"auth-cognito-A\", RecordArgs.builder()\n .name(main.domain())\n .type(\"A\")\n .zoneId(example.applyValue(getZoneResult -\u003e getZoneResult.zoneId()))\n .aliases(RecordAliasArgs.builder()\n .evaluateTargetHealth(false)\n .name(main.cloudfrontDistribution())\n .zoneId(main.cloudfrontDistributionZoneId())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n main:\n type: aws:cognito:UserPoolDomain\n properties:\n domain: auth.example.com\n certificateArn: ${cert.arn}\n userPoolId: ${exampleUserPool.id}\n exampleUserPool:\n type: aws:cognito:UserPool\n name: example\n properties:\n name: example-pool\n auth-cognito-A:\n type: aws:route53:Record\n properties:\n name: ${main.domain}\n type: A\n zoneId: ${example.zoneId}\n aliases:\n - evaluateTargetHealth: false\n name: ${main.cloudfrontDistribution}\n zoneId: ${main.cloudfrontDistributionZoneId}\nvariables:\n example:\n fn::invoke:\n function: aws:route53:getZone\n arguments:\n name: example.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Cognito User Pool Domains using the `domain`. For example:\n\n```sh\n$ pulumi import aws:cognito/userPoolDomain:UserPoolDomain main auth.example.org\n```\n", "properties": { "awsAccountId": { "type": "string", @@ -232692,6 +233189,10 @@ "type": "string", "description": "Amazon Resource Name (ARN) of the EBS Snapshot.\n" }, + "completionDurationMinutes": { + "type": "integer", + "description": "Specifies a completion duration to initiate a time-based snapshot copy. Time-based snapshot copy operations complete within the specified duration. Value must be between 15 and 2880 minutes, in 15 minute increments only.\n" + }, "dataEncryptionKeyId": { "type": "string", "description": "The data encryption key identifier for the snapshot.\n" @@ -232776,6 +233277,11 @@ "volumeSize" ], "inputProperties": { + "completionDurationMinutes": { + "type": "integer", + "description": "Specifies a completion duration to initiate a time-based snapshot copy. Time-based snapshot copy operations complete within the specified duration. Value must be between 15 and 2880 minutes, in 15 minute increments only.\n", + "willReplaceOnChanges": true + }, "description": { "type": "string", "description": "A description of what the snapshot is.\n", @@ -232832,6 +233338,11 @@ "type": "string", "description": "Amazon Resource Name (ARN) of the EBS Snapshot.\n" }, + "completionDurationMinutes": { + "type": "integer", + "description": "Specifies a completion duration to initiate a time-based snapshot copy. Time-based snapshot copy operations complete within the specified duration. Value must be between 15 and 2880 minutes, in 15 minute increments only.\n", + "willReplaceOnChanges": true + }, "dataEncryptionKeyId": { "type": "string", "description": "The data encryption key identifier for the snapshot.\n" @@ -237750,6 +238261,10 @@ "type": "boolean", "description": "If true, the launched EC2 instance will be EBS-optimized. Note that if this is not set on an instance type that is optimized by default then this will show as disabled but if the instance type is optimized by default then there is no need to set this and there is no effect to disabling it. See the [EBS Optimized section](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSOptimized.html) of the AWS User Guide for more information.\n" }, + "enablePrimaryIpv6": { + "type": "boolean", + "description": "Whether to assign a primary IPv6 Global Unicast Address (GUA) to the instance when launched in a dual-stack or IPv6-only subnet. A primary IPv6 address ensures a consistent IPv6 address for the instance and is automatically assigned by AWS to the ENI. Once enabled, the first IPv6 GUA becomes the primary IPv6 address and cannot be disabled. The primary IPv6 address remains until the instance is terminated or the ENI is detached. Disabling `enable_primary_ipv6` after it has been enabled forces recreation of the instance.\n" + }, "enclaveOptions": { "$ref": "#/types/aws:ec2/InstanceEnclaveOptions:InstanceEnclaveOptions", "description": "Enable Nitro Enclaves on launched instances. See Enclave Options below for more details.\n" @@ -237974,6 +238489,7 @@ "disableApiTermination", "ebsBlockDevices", "ebsOptimized", + "enablePrimaryIpv6", "enclaveOptions", "ephemeralBlockDevices", "hostId", @@ -238072,6 +238588,10 @@ "description": "If true, the launched EC2 instance will be EBS-optimized. Note that if this is not set on an instance type that is optimized by default then this will show as disabled but if the instance type is optimized by default then there is no need to set this and there is no effect to disabling it. See the [EBS Optimized section](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSOptimized.html) of the AWS User Guide for more information.\n", "willReplaceOnChanges": true }, + "enablePrimaryIpv6": { + "type": "boolean", + "description": "Whether to assign a primary IPv6 Global Unicast Address (GUA) to the instance when launched in a dual-stack or IPv6-only subnet. A primary IPv6 address ensures a consistent IPv6 address for the instance and is automatically assigned by AWS to the ENI. Once enabled, the first IPv6 GUA becomes the primary IPv6 address and cannot be disabled. The primary IPv6 address remains until the instance is terminated or the ENI is detached. Disabling `enable_primary_ipv6` after it has been enabled forces recreation of the instance.\n" + }, "enclaveOptions": { "$ref": "#/types/aws:ec2/InstanceEnclaveOptions:InstanceEnclaveOptions", "description": "Enable Nitro Enclaves on launched instances. See Enclave Options below for more details.\n" @@ -238341,6 +238861,10 @@ "description": "If true, the launched EC2 instance will be EBS-optimized. Note that if this is not set on an instance type that is optimized by default then this will show as disabled but if the instance type is optimized by default then there is no need to set this and there is no effect to disabling it. See the [EBS Optimized section](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSOptimized.html) of the AWS User Guide for more information.\n", "willReplaceOnChanges": true }, + "enablePrimaryIpv6": { + "type": "boolean", + "description": "Whether to assign a primary IPv6 Global Unicast Address (GUA) to the instance when launched in a dual-stack or IPv6-only subnet. A primary IPv6 address ensures a consistent IPv6 address for the instance and is automatically assigned by AWS to the ENI. Once enabled, the first IPv6 GUA becomes the primary IPv6 address and cannot be disabled. The primary IPv6 address remains until the instance is terminated or the ENI is detached. Disabling `enable_primary_ipv6` after it has been enabled forces recreation of the instance.\n" + }, "enclaveOptions": { "$ref": "#/types/aws:ec2/InstanceEnclaveOptions:InstanceEnclaveOptions", "description": "Enable Nitro Enclaves on launched instances. See Enclave Options below for more details.\n" @@ -241250,6 +241774,10 @@ "type": "string", "description": "Description for the network interface.\n" }, + "enablePrimaryIpv6": { + "type": "boolean", + "description": "Enables assigning a primary IPv6 Global Unicast Address (GUA) to the network interface (ENI) in dual-stack or IPv6-only subnets. This ensures the instance attached to the ENI retains a consistent IPv6 address. Once enabled, the first IPv6 GUA becomes the primary IPv6 address and cannot be disabled. The primary IPv6 address remains assigned until the instance is terminated or the ENI is detached. Enabling and subsequent disabling forces recreation of the ENI.\n" + }, "interfaceType": { "type": "string", "description": "Type of network interface to create. Set to `efa` for Elastic Fabric Adapter. Changing `interface_type` will cause the resource to be destroyed and re-created.\n" @@ -241271,7 +241799,7 @@ }, "ipv6AddressListEnabled": { "type": "boolean", - "description": "Whether `ipv6_address_list` is allowed and controls the IPs to assign to the ENI and `ipv6_addresses` and `ipv6_address_count` become read-only. Default false.\n" + "description": "Whether `ipv6_address_list` is allowed and controls the IPs to assign to the ENI and `ipv6_addresses` and `ipv6_address_count` become read-only. Default is `false`.\n" }, "ipv6AddressLists": { "type": "array", @@ -241318,7 +241846,7 @@ }, "privateIpListEnabled": { "type": "boolean", - "description": "Whether `private_ip_list` is allowed and controls the IPs to assign to the ENI and `private_ips` and `private_ips_count` become read-only. Default false.\n" + "description": "Whether `private_ip_list` is allowed and controls the IPs to assign to the ENI and `private_ips` and `private_ips_count` become read-only. Default is `false`.\n" }, "privateIpLists": { "type": "array", @@ -241372,6 +241900,7 @@ "required": [ "arn", "attachments", + "enablePrimaryIpv6", "interfaceType", "ipv4PrefixCount", "ipv4Prefixes", @@ -241404,6 +241933,10 @@ "type": "string", "description": "Description for the network interface.\n" }, + "enablePrimaryIpv6": { + "type": "boolean", + "description": "Enables assigning a primary IPv6 Global Unicast Address (GUA) to the network interface (ENI) in dual-stack or IPv6-only subnets. This ensures the instance attached to the ENI retains a consistent IPv6 address. Once enabled, the first IPv6 GUA becomes the primary IPv6 address and cannot be disabled. The primary IPv6 address remains assigned until the instance is terminated or the ENI is detached. Enabling and subsequent disabling forces recreation of the ENI.\n" + }, "interfaceType": { "type": "string", "description": "Type of network interface to create. Set to `efa` for Elastic Fabric Adapter. Changing `interface_type` will cause the resource to be destroyed and re-created.\n", @@ -241426,7 +241959,7 @@ }, "ipv6AddressListEnabled": { "type": "boolean", - "description": "Whether `ipv6_address_list` is allowed and controls the IPs to assign to the ENI and `ipv6_addresses` and `ipv6_address_count` become read-only. Default false.\n" + "description": "Whether `ipv6_address_list` is allowed and controls the IPs to assign to the ENI and `ipv6_addresses` and `ipv6_address_count` become read-only. Default is `false`.\n" }, "ipv6AddressLists": { "type": "array", @@ -241458,7 +241991,7 @@ }, "privateIpListEnabled": { "type": "boolean", - "description": "Whether `private_ip_list` is allowed and controls the IPs to assign to the ENI and `private_ips` and `private_ips_count` become read-only. Default false.\n" + "description": "Whether `private_ip_list` is allowed and controls the IPs to assign to the ENI and `private_ips` and `private_ips_count` become read-only. Default is `false`.\n" }, "privateIpLists": { "type": "array", @@ -241523,6 +242056,10 @@ "type": "string", "description": "Description for the network interface.\n" }, + "enablePrimaryIpv6": { + "type": "boolean", + "description": "Enables assigning a primary IPv6 Global Unicast Address (GUA) to the network interface (ENI) in dual-stack or IPv6-only subnets. This ensures the instance attached to the ENI retains a consistent IPv6 address. Once enabled, the first IPv6 GUA becomes the primary IPv6 address and cannot be disabled. The primary IPv6 address remains assigned until the instance is terminated or the ENI is detached. Enabling and subsequent disabling forces recreation of the ENI.\n" + }, "interfaceType": { "type": "string", "description": "Type of network interface to create. Set to `efa` for Elastic Fabric Adapter. Changing `interface_type` will cause the resource to be destroyed and re-created.\n", @@ -241545,7 +242082,7 @@ }, "ipv6AddressListEnabled": { "type": "boolean", - "description": "Whether `ipv6_address_list` is allowed and controls the IPs to assign to the ENI and `ipv6_addresses` and `ipv6_address_count` become read-only. Default false.\n" + "description": "Whether `ipv6_address_list` is allowed and controls the IPs to assign to the ENI and `ipv6_addresses` and `ipv6_address_count` become read-only. Default is `false`.\n" }, "ipv6AddressLists": { "type": "array", @@ -241592,7 +242129,7 @@ }, "privateIpListEnabled": { "type": "boolean", - "description": "Whether `private_ip_list` is allowed and controls the IPs to assign to the ENI and `private_ips` and `private_ips_count` become read-only. Default false.\n" + "description": "Whether `private_ip_list` is allowed and controls the IPs to assign to the ENI and `private_ips` and `private_ips_count` become read-only. Default is `false`.\n" }, "privateIpLists": { "type": "array", @@ -243576,6 +244113,10 @@ "type": "boolean", "description": "If true, the launched EC2 instance will be EBS-optimized. Note that if this is not set on an instance type that is optimized by default then this will show as disabled but if the instance type is optimized by default then there is no need to set this and there is no effect to disabling it. See the [EBS Optimized section](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSOptimized.html) of the AWS User Guide for more information.\n" }, + "enablePrimaryIpv6": { + "type": "boolean", + "description": "Whether to assign a primary IPv6 Global Unicast Address (GUA) to the instance when launched in a dual-stack or IPv6-only subnet. A primary IPv6 address ensures a consistent IPv6 address for the instance and is automatically assigned by AWS to the ENI. Once enabled, the first IPv6 GUA becomes the primary IPv6 address and cannot be disabled. The primary IPv6 address remains until the instance is terminated or the ENI is detached. Disabling `enable_primary_ipv6` after it has been enabled forces recreation of the instance.\n" + }, "enclaveOptions": { "$ref": "#/types/aws:ec2/SpotInstanceRequestEnclaveOptions:SpotInstanceRequestEnclaveOptions", "description": "Enable Nitro Enclaves on launched instances. See Enclave Options below for more details.\n" @@ -243818,6 +244359,7 @@ "disableApiTermination", "ebsBlockDevices", "ebsOptimized", + "enablePrimaryIpv6", "enclaveOptions", "ephemeralBlockDevices", "hostId", @@ -243930,6 +244472,11 @@ "description": "If true, the launched EC2 instance will be EBS-optimized. Note that if this is not set on an instance type that is optimized by default then this will show as disabled but if the instance type is optimized by default then there is no need to set this and there is no effect to disabling it. See the [EBS Optimized section](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSOptimized.html) of the AWS User Guide for more information.\n", "willReplaceOnChanges": true }, + "enablePrimaryIpv6": { + "type": "boolean", + "description": "Whether to assign a primary IPv6 Global Unicast Address (GUA) to the instance when launched in a dual-stack or IPv6-only subnet. A primary IPv6 address ensures a consistent IPv6 address for the instance and is automatically assigned by AWS to the ENI. Once enabled, the first IPv6 GUA becomes the primary IPv6 address and cannot be disabled. The primary IPv6 address remains until the instance is terminated or the ENI is detached. Disabling `enable_primary_ipv6` after it has been enabled forces recreation of the instance.\n", + "willReplaceOnChanges": true + }, "enclaveOptions": { "$ref": "#/types/aws:ec2/SpotInstanceRequestEnclaveOptions:SpotInstanceRequestEnclaveOptions", "description": "Enable Nitro Enclaves on launched instances. See Enclave Options below for more details.\n", @@ -244227,6 +244774,11 @@ "description": "If true, the launched EC2 instance will be EBS-optimized. Note that if this is not set on an instance type that is optimized by default then this will show as disabled but if the instance type is optimized by default then there is no need to set this and there is no effect to disabling it. See the [EBS Optimized section](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSOptimized.html) of the AWS User Guide for more information.\n", "willReplaceOnChanges": true }, + "enablePrimaryIpv6": { + "type": "boolean", + "description": "Whether to assign a primary IPv6 Global Unicast Address (GUA) to the instance when launched in a dual-stack or IPv6-only subnet. A primary IPv6 address ensures a consistent IPv6 address for the instance and is automatically assigned by AWS to the ENI. Once enabled, the first IPv6 GUA becomes the primary IPv6 address and cannot be disabled. The primary IPv6 address remains until the instance is terminated or the ENI is detached. Disabling `enable_primary_ipv6` after it has been enabled forces recreation of the instance.\n", + "willReplaceOnChanges": true + }, "enclaveOptions": { "$ref": "#/types/aws:ec2/SpotInstanceRequestEnclaveOptions:SpotInstanceRequestEnclaveOptions", "description": "Enable Nitro Enclaves on launched instances. See Enclave Options below for more details.\n", @@ -253281,6 +253833,50 @@ "type": "object" } }, + "aws:ecr/accountSetting:AccountSetting": { + "description": "Provides a resource to manage AWS ECR Basic Scan Type\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst foo = new aws.ecr.AccountSetting(\"foo\", {\n name: \"BASIC_SCAN_TYPE_VERSION\",\n value: \"CLAIR\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nfoo = aws.ecr.AccountSetting(\"foo\",\n name=\"BASIC_SCAN_TYPE_VERSION\",\n value=\"CLAIR\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = new Aws.Ecr.AccountSetting(\"foo\", new()\n {\n Name = \"BASIC_SCAN_TYPE_VERSION\",\n Value = \"CLAIR\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecr\"\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 := ecr.NewAccountSetting(ctx, \"foo\", \u0026ecr.AccountSettingArgs{\n\t\t\tName: pulumi.String(\"BASIC_SCAN_TYPE_VERSION\"),\n\t\t\tValue: pulumi.String(\"CLAIR\"),\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.ecr.AccountSetting;\nimport com.pulumi.aws.ecr.AccountSettingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo = new AccountSetting(\"foo\", AccountSettingArgs.builder()\n .name(\"BASIC_SCAN_TYPE_VERSION\")\n .value(\"CLAIR\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: aws:ecr:AccountSetting\n properties:\n name: BASIC_SCAN_TYPE_VERSION\n value: CLAIR\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import EMR Security Configurations using the `name`. For example:\n\n```sh\n$ pulumi import aws:ecr/accountSetting:AccountSetting foo BASIC_SCAN_TYPE_VERSION\n```\n", + "properties": { + "name": { + "type": "string", + "description": "The name of the ECR Scan Type. This should be `BASIC_SCAN_TYPE_VERSION`.\n" + }, + "value": { + "type": "string", + "description": "The value of the ECR Scan Type. This can be `AWS_NATIVE` or `CLAIR`.\n" + } + }, + "required": [ + "name", + "value" + ], + "inputProperties": { + "name": { + "type": "string", + "description": "The name of the ECR Scan Type. This should be `BASIC_SCAN_TYPE_VERSION`.\n" + }, + "value": { + "type": "string", + "description": "The value of the ECR Scan Type. This can be `AWS_NATIVE` or `CLAIR`.\n" + } + }, + "requiredInputs": [ + "value" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering AccountSetting resources.\n", + "properties": { + "name": { + "type": "string", + "description": "The name of the ECR Scan Type. This should be `BASIC_SCAN_TYPE_VERSION`.\n" + }, + "value": { + "type": "string", + "description": "The value of the ECR Scan Type. This can be `AWS_NATIVE` or `CLAIR`.\n" + } + }, + "type": "object" + } + }, "aws:ecr/lifecyclePolicy:LifecyclePolicy": { "description": "Manages an ECR repository lifecycle policy.\n\n\u003e **NOTE:** Only one `aws.ecr.LifecyclePolicy` resource can be used with the same ECR repository. To apply multiple rules, they must be combined in the `policy` JSON.\n\n\u003e **NOTE:** The AWS ECR API seems to reorder rules based on `rulePriority`. If you define multiple rules that are not sorted in ascending `rulePriority` order in the this provider code, the resource will be flagged for recreation every deployment.\n\n## Example Usage\n\n### Policy on untagged image\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ecr.Repository(\"example\", {name: \"example-repo\"});\nconst exampleLifecyclePolicy = new aws.ecr.LifecyclePolicy(\"example\", {\n repository: example.name,\n policy: `{\n \"rules\": [\n {\n \"rulePriority\": 1,\n \"description\": \"Expire images older than 14 days\",\n \"selection\": {\n \"tagStatus\": \"untagged\",\n \"countType\": \"sinceImagePushed\",\n \"countUnit\": \"days\",\n \"countNumber\": 14\n },\n \"action\": {\n \"type\": \"expire\"\n }\n }\n ]\n}\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ecr.Repository(\"example\", name=\"example-repo\")\nexample_lifecycle_policy = aws.ecr.LifecyclePolicy(\"example\",\n repository=example.name,\n policy=\"\"\"{\n \"rules\": [\n {\n \"rulePriority\": 1,\n \"description\": \"Expire images older than 14 days\",\n \"selection\": {\n \"tagStatus\": \"untagged\",\n \"countType\": \"sinceImagePushed\",\n \"countUnit\": \"days\",\n \"countNumber\": 14\n },\n \"action\": {\n \"type\": \"expire\"\n }\n }\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.Ecr.Repository(\"example\", new()\n {\n Name = \"example-repo\",\n });\n\n var exampleLifecyclePolicy = new Aws.Ecr.LifecyclePolicy(\"example\", new()\n {\n Repository = example.Name,\n Policy = @\"{\n \"\"rules\"\": [\n {\n \"\"rulePriority\"\": 1,\n \"\"description\"\": \"\"Expire images older than 14 days\"\",\n \"\"selection\"\": {\n \"\"tagStatus\"\": \"\"untagged\"\",\n \"\"countType\"\": \"\"sinceImagePushed\"\",\n \"\"countUnit\"\": \"\"days\"\",\n \"\"countNumber\"\": 14\n },\n \"\"action\"\": {\n \"\"type\"\": \"\"expire\"\"\n }\n }\n ]\n}\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecr\"\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 := ecr.NewRepository(ctx, \"example\", \u0026ecr.RepositoryArgs{\n\t\t\tName: pulumi.String(\"example-repo\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecr.NewLifecyclePolicy(ctx, \"example\", \u0026ecr.LifecyclePolicyArgs{\n\t\t\tRepository: example.Name,\n\t\t\tPolicy: pulumi.Any(`{\n \"rules\": [\n {\n \"rulePriority\": 1,\n \"description\": \"Expire images older than 14 days\",\n \"selection\": {\n \"tagStatus\": \"untagged\",\n \"countType\": \"sinceImagePushed\",\n \"countUnit\": \"days\",\n \"countNumber\": 14\n },\n \"action\": {\n \"type\": \"expire\"\n }\n }\n ]\n}\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ecr.Repository;\nimport com.pulumi.aws.ecr.RepositoryArgs;\nimport com.pulumi.aws.ecr.LifecyclePolicy;\nimport com.pulumi.aws.ecr.LifecyclePolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 Repository(\"example\", RepositoryArgs.builder()\n .name(\"example-repo\")\n .build());\n\n var exampleLifecyclePolicy = new LifecyclePolicy(\"exampleLifecyclePolicy\", LifecyclePolicyArgs.builder()\n .repository(example.name())\n .policy(\"\"\"\n{\n \"rules\": [\n {\n \"rulePriority\": 1,\n \"description\": \"Expire images older than 14 days\",\n \"selection\": {\n \"tagStatus\": \"untagged\",\n \"countType\": \"sinceImagePushed\",\n \"countUnit\": \"days\",\n \"countNumber\": 14\n },\n \"action\": {\n \"type\": \"expire\"\n }\n }\n ]\n}\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ecr:Repository\n properties:\n name: example-repo\n exampleLifecyclePolicy:\n type: aws:ecr:LifecyclePolicy\n name: example\n properties:\n repository: ${example.name}\n policy: |\n {\n \"rules\": [\n {\n \"rulePriority\": 1,\n \"description\": \"Expire images older than 14 days\",\n \"selection\": {\n \"tagStatus\": \"untagged\",\n \"countType\": \"sinceImagePushed\",\n \"countUnit\": \"days\",\n \"countNumber\": 14\n },\n \"action\": {\n \"type\": \"expire\"\n }\n }\n ]\n }\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Policy on tagged image\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ecr.Repository(\"example\", {name: \"example-repo\"});\nconst exampleLifecyclePolicy = new aws.ecr.LifecyclePolicy(\"example\", {\n repository: example.name,\n policy: `{\n \"rules\": [\n {\n \"rulePriority\": 1,\n \"description\": \"Keep last 30 images\",\n \"selection\": {\n \"tagStatus\": \"tagged\",\n \"tagPrefixList\": [\"v\"],\n \"countType\": \"imageCountMoreThan\",\n \"countNumber\": 30\n },\n \"action\": {\n \"type\": \"expire\"\n }\n }\n ]\n}\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ecr.Repository(\"example\", name=\"example-repo\")\nexample_lifecycle_policy = aws.ecr.LifecyclePolicy(\"example\",\n repository=example.name,\n policy=\"\"\"{\n \"rules\": [\n {\n \"rulePriority\": 1,\n \"description\": \"Keep last 30 images\",\n \"selection\": {\n \"tagStatus\": \"tagged\",\n \"tagPrefixList\": [\"v\"],\n \"countType\": \"imageCountMoreThan\",\n \"countNumber\": 30\n },\n \"action\": {\n \"type\": \"expire\"\n }\n }\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.Ecr.Repository(\"example\", new()\n {\n Name = \"example-repo\",\n });\n\n var exampleLifecyclePolicy = new Aws.Ecr.LifecyclePolicy(\"example\", new()\n {\n Repository = example.Name,\n Policy = @\"{\n \"\"rules\"\": [\n {\n \"\"rulePriority\"\": 1,\n \"\"description\"\": \"\"Keep last 30 images\"\",\n \"\"selection\"\": {\n \"\"tagStatus\"\": \"\"tagged\"\",\n \"\"tagPrefixList\"\": [\"\"v\"\"],\n \"\"countType\"\": \"\"imageCountMoreThan\"\",\n \"\"countNumber\"\": 30\n },\n \"\"action\"\": {\n \"\"type\"\": \"\"expire\"\"\n }\n }\n ]\n}\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecr\"\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 := ecr.NewRepository(ctx, \"example\", \u0026ecr.RepositoryArgs{\n\t\t\tName: pulumi.String(\"example-repo\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ecr.NewLifecyclePolicy(ctx, \"example\", \u0026ecr.LifecyclePolicyArgs{\n\t\t\tRepository: example.Name,\n\t\t\tPolicy: pulumi.Any(`{\n \"rules\": [\n {\n \"rulePriority\": 1,\n \"description\": \"Keep last 30 images\",\n \"selection\": {\n \"tagStatus\": \"tagged\",\n \"tagPrefixList\": [\"v\"],\n \"countType\": \"imageCountMoreThan\",\n \"countNumber\": 30\n },\n \"action\": {\n \"type\": \"expire\"\n }\n }\n ]\n}\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ecr.Repository;\nimport com.pulumi.aws.ecr.RepositoryArgs;\nimport com.pulumi.aws.ecr.LifecyclePolicy;\nimport com.pulumi.aws.ecr.LifecyclePolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 Repository(\"example\", RepositoryArgs.builder()\n .name(\"example-repo\")\n .build());\n\n var exampleLifecyclePolicy = new LifecyclePolicy(\"exampleLifecyclePolicy\", LifecyclePolicyArgs.builder()\n .repository(example.name())\n .policy(\"\"\"\n{\n \"rules\": [\n {\n \"rulePriority\": 1,\n \"description\": \"Keep last 30 images\",\n \"selection\": {\n \"tagStatus\": \"tagged\",\n \"tagPrefixList\": [\"v\"],\n \"countType\": \"imageCountMoreThan\",\n \"countNumber\": 30\n },\n \"action\": {\n \"type\": \"expire\"\n }\n }\n ]\n}\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ecr:Repository\n properties:\n name: example-repo\n exampleLifecyclePolicy:\n type: aws:ecr:LifecyclePolicy\n name: example\n properties:\n repository: ${example.name}\n policy: |\n {\n \"rules\": [\n {\n \"rulePriority\": 1,\n \"description\": \"Keep last 30 images\",\n \"selection\": {\n \"tagStatus\": \"tagged\",\n \"tagPrefixList\": [\"v\"],\n \"countType\": \"imageCountMoreThan\",\n \"countNumber\": 30\n },\n \"action\": {\n \"type\": \"expire\"\n }\n }\n ]\n }\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import ECR Lifecycle Policy using the name of the repository. For example:\n\n```sh\n$ pulumi import aws:ecr/lifecyclePolicy:LifecyclePolicy example tf-example\n```\n", "properties": { @@ -256645,7 +257241,7 @@ } }, "aws:eks/accessPolicyAssociation:AccessPolicyAssociation": { - "description": "Access Entry Policy Association for an EKS Cluster.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.eks.AccessPolicyAssociation(\"example\", {\n clusterName: exampleAwsEksCluster.name,\n policyArn: \"arn:aws:eks::aws:cluster-access-policy/AmazonEKSViewPolicy\",\n principalArn: exampleAwsIamUser.arn,\n accessScope: {\n type: \"namespace\",\n namespaces: [\"example-namespace\"],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.eks.AccessPolicyAssociation(\"example\",\n cluster_name=example_aws_eks_cluster[\"name\"],\n policy_arn=\"arn:aws:eks::aws:cluster-access-policy/AmazonEKSViewPolicy\",\n principal_arn=example_aws_iam_user[\"arn\"],\n access_scope={\n \"type\": \"namespace\",\n \"namespaces\": [\"example-namespace\"],\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.Eks.AccessPolicyAssociation(\"example\", new()\n {\n ClusterName = exampleAwsEksCluster.Name,\n PolicyArn = \"arn:aws:eks::aws:cluster-access-policy/AmazonEKSViewPolicy\",\n PrincipalArn = exampleAwsIamUser.Arn,\n AccessScope = new Aws.Eks.Inputs.AccessPolicyAssociationAccessScopeArgs\n {\n Type = \"namespace\",\n Namespaces = new[]\n {\n \"example-namespace\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/eks\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := eks.NewAccessPolicyAssociation(ctx, \"example\", \u0026eks.AccessPolicyAssociationArgs{\n\t\t\tClusterName: pulumi.Any(exampleAwsEksCluster.Name),\n\t\t\tPolicyArn: pulumi.String(\"arn:aws:eks::aws:cluster-access-policy/AmazonEKSViewPolicy\"),\n\t\t\tPrincipalArn: pulumi.Any(exampleAwsIamUser.Arn),\n\t\t\tAccessScope: \u0026eks.AccessPolicyAssociationAccessScopeArgs{\n\t\t\t\tType: pulumi.String(\"namespace\"),\n\t\t\t\tNamespaces: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"example-namespace\"),\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.eks.AccessPolicyAssociation;\nimport com.pulumi.aws.eks.AccessPolicyAssociationArgs;\nimport com.pulumi.aws.eks.inputs.AccessPolicyAssociationAccessScopeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 AccessPolicyAssociation(\"example\", AccessPolicyAssociationArgs.builder()\n .clusterName(exampleAwsEksCluster.name())\n .policyArn(\"arn:aws:eks::aws:cluster-access-policy/AmazonEKSViewPolicy\")\n .principalArn(exampleAwsIamUser.arn())\n .accessScope(AccessPolicyAssociationAccessScopeArgs.builder()\n .type(\"namespace\")\n .namespaces(\"example-namespace\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:eks:AccessPolicyAssociation\n properties:\n clusterName: ${exampleAwsEksCluster.name}\n policyArn: arn:aws:eks::aws:cluster-access-policy/AmazonEKSViewPolicy\n principalArn: ${exampleAwsIamUser.arn}\n accessScope:\n type: namespace\n namespaces:\n - example-namespace\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import EKS access entry using the `cluster_name` `principal_arn` and `policy_arn` separated by a colon (`#`). For example:\n\n```sh\n$ pulumi import aws:eks/accessPolicyAssociation:AccessPolicyAssociation my_eks_access_entry my_cluster_name#my_principal_arn#my_policy_arn\n```\n", + "description": "Access Entry Policy Association for an EKS Cluster.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.eks.AccessPolicyAssociation(\"example\", {\n clusterName: exampleAwsEksCluster.name,\n policyArn: \"arn:aws:eks::aws:cluster-access-policy/AmazonEKSViewPolicy\",\n principalArn: exampleAwsIamUser.arn,\n accessScope: {\n type: \"namespace\",\n namespaces: [\"example-namespace\"],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.eks.AccessPolicyAssociation(\"example\",\n cluster_name=example_aws_eks_cluster[\"name\"],\n policy_arn=\"arn:aws:eks::aws:cluster-access-policy/AmazonEKSViewPolicy\",\n principal_arn=example_aws_iam_user[\"arn\"],\n access_scope={\n \"type\": \"namespace\",\n \"namespaces\": [\"example-namespace\"],\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.Eks.AccessPolicyAssociation(\"example\", new()\n {\n ClusterName = exampleAwsEksCluster.Name,\n PolicyArn = \"arn:aws:eks::aws:cluster-access-policy/AmazonEKSViewPolicy\",\n PrincipalArn = exampleAwsIamUser.Arn,\n AccessScope = new Aws.Eks.Inputs.AccessPolicyAssociationAccessScopeArgs\n {\n Type = \"namespace\",\n Namespaces = new[]\n {\n \"example-namespace\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/eks\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := eks.NewAccessPolicyAssociation(ctx, \"example\", \u0026eks.AccessPolicyAssociationArgs{\n\t\t\tClusterName: pulumi.Any(exampleAwsEksCluster.Name),\n\t\t\tPolicyArn: pulumi.String(\"arn:aws:eks::aws:cluster-access-policy/AmazonEKSViewPolicy\"),\n\t\t\tPrincipalArn: pulumi.Any(exampleAwsIamUser.Arn),\n\t\t\tAccessScope: \u0026eks.AccessPolicyAssociationAccessScopeArgs{\n\t\t\t\tType: pulumi.String(\"namespace\"),\n\t\t\t\tNamespaces: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"example-namespace\"),\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.eks.AccessPolicyAssociation;\nimport com.pulumi.aws.eks.AccessPolicyAssociationArgs;\nimport com.pulumi.aws.eks.inputs.AccessPolicyAssociationAccessScopeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 AccessPolicyAssociation(\"example\", AccessPolicyAssociationArgs.builder()\n .clusterName(exampleAwsEksCluster.name())\n .policyArn(\"arn:aws:eks::aws:cluster-access-policy/AmazonEKSViewPolicy\")\n .principalArn(exampleAwsIamUser.arn())\n .accessScope(AccessPolicyAssociationAccessScopeArgs.builder()\n .type(\"namespace\")\n .namespaces(\"example-namespace\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:eks:AccessPolicyAssociation\n properties:\n clusterName: ${exampleAwsEksCluster.name}\n policyArn: arn:aws:eks::aws:cluster-access-policy/AmazonEKSViewPolicy\n principalArn: ${exampleAwsIamUser.arn}\n accessScope:\n type: namespace\n namespaces:\n - example-namespace\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import EKS access entry using the `cluster_name` `principal_arn` and `policy_arn` separated by an octothorp (`#`). For example:\n\n```sh\n$ pulumi import aws:eks/accessPolicyAssociation:AccessPolicyAssociation my_eks_access_entry my_cluster_name#my_principal_arn#my_policy_arn\n```\n", "properties": { "accessScope": { "$ref": "#/types/aws:eks/AccessPolicyAssociationAccessScope:AccessPolicyAssociationAccessScope", @@ -270646,7 +271242,7 @@ }, "throughputCapacity": { "type": "integer", - "description": "Throughput (megabytes per second) of the file system in power of 2 increments. Minimum of `8` and maximum of `2048`.\n\nThe following arguments are optional:\n" + "description": "Throughput (megabytes per second) of the file system. For valid values, refer to the [AWS documentation](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/performance.html).\n\nThe following arguments are optional:\n" }, "vpcId": { "type": "string", @@ -270779,7 +271375,7 @@ }, "throughputCapacity": { "type": "integer", - "description": "Throughput (megabytes per second) of the file system in power of 2 increments. Minimum of `8` and maximum of `2048`.\n\nThe following arguments are optional:\n" + "description": "Throughput (megabytes per second) of the file system. For valid values, refer to the [AWS documentation](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/performance.html).\n\nThe following arguments are optional:\n" }, "weeklyMaintenanceStartTime": { "type": "string", @@ -270930,7 +271526,7 @@ }, "throughputCapacity": { "type": "integer", - "description": "Throughput (megabytes per second) of the file system in power of 2 increments. Minimum of `8` and maximum of `2048`.\n\nThe following arguments are optional:\n" + "description": "Throughput (megabytes per second) of the file system. For valid values, refer to the [AWS documentation](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/performance.html).\n\nThe following arguments are optional:\n" }, "vpcId": { "type": "string", @@ -273823,7 +274419,7 @@ } }, "aws:glue/catalogTableOptimizer:CatalogTableOptimizer": { - "description": "Resource for managing an AWS Glue Catalog Table Optimizer.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.glue.CatalogTableOptimizer(\"example\", {\n catalogId: \"123456789012\",\n databaseName: \"example_database\",\n tableName: \"example_table\",\n configuration: {\n roleArn: \"arn:aws:iam::123456789012:role/example-role\",\n enabled: true,\n },\n type: \"compaction\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.glue.CatalogTableOptimizer(\"example\",\n catalog_id=\"123456789012\",\n database_name=\"example_database\",\n table_name=\"example_table\",\n configuration={\n \"role_arn\": \"arn:aws:iam::123456789012:role/example-role\",\n \"enabled\": True,\n },\n type=\"compaction\")\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.Glue.CatalogTableOptimizer(\"example\", new()\n {\n CatalogId = \"123456789012\",\n DatabaseName = \"example_database\",\n TableName = \"example_table\",\n Configuration = new Aws.Glue.Inputs.CatalogTableOptimizerConfigurationArgs\n {\n RoleArn = \"arn:aws:iam::123456789012:role/example-role\",\n Enabled = true,\n },\n Type = \"compaction\",\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/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := glue.NewCatalogTableOptimizer(ctx, \"example\", \u0026glue.CatalogTableOptimizerArgs{\n\t\t\tCatalogId: pulumi.String(\"123456789012\"),\n\t\t\tDatabaseName: pulumi.String(\"example_database\"),\n\t\t\tTableName: pulumi.String(\"example_table\"),\n\t\t\tConfiguration: \u0026glue.CatalogTableOptimizerConfigurationArgs{\n\t\t\t\tRoleArn: pulumi.String(\"arn:aws:iam::123456789012:role/example-role\"),\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t},\n\t\t\tType: pulumi.String(\"compaction\"),\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.glue.CatalogTableOptimizer;\nimport com.pulumi.aws.glue.CatalogTableOptimizerArgs;\nimport com.pulumi.aws.glue.inputs.CatalogTableOptimizerConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 CatalogTableOptimizer(\"example\", CatalogTableOptimizerArgs.builder()\n .catalogId(\"123456789012\")\n .databaseName(\"example_database\")\n .tableName(\"example_table\")\n .configuration(CatalogTableOptimizerConfigurationArgs.builder()\n .roleArn(\"arn:aws:iam::123456789012:role/example-role\")\n .enabled(true)\n .build())\n .type(\"compaction\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:glue:CatalogTableOptimizer\n properties:\n catalogId: '123456789012'\n databaseName: example_database\n tableName: example_table\n configuration:\n roleArn: arn:aws:iam::123456789012:role/example-role\n enabled: true\n type: compaction\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Glue Catalog Table Optimizer using the `catalog_id,database_name,table_name,type`. For example:\n\n```sh\n$ pulumi import aws:glue/catalogTableOptimizer:CatalogTableOptimizer example 123456789012,example_database,example_table,compaction\n```\n", + "description": "Resource for managing an AWS Glue Catalog Table Optimizer.\n\n## Example Usage\n\n### Compaction Optimizer\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.glue.CatalogTableOptimizer(\"example\", {\n catalogId: \"123456789012\",\n databaseName: \"example_database\",\n tableName: \"example_table\",\n configuration: {\n roleArn: \"arn:aws:iam::123456789012:role/example-role\",\n enabled: true,\n },\n type: \"compaction\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.glue.CatalogTableOptimizer(\"example\",\n catalog_id=\"123456789012\",\n database_name=\"example_database\",\n table_name=\"example_table\",\n configuration={\n \"role_arn\": \"arn:aws:iam::123456789012:role/example-role\",\n \"enabled\": True,\n },\n type=\"compaction\")\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.Glue.CatalogTableOptimizer(\"example\", new()\n {\n CatalogId = \"123456789012\",\n DatabaseName = \"example_database\",\n TableName = \"example_table\",\n Configuration = new Aws.Glue.Inputs.CatalogTableOptimizerConfigurationArgs\n {\n RoleArn = \"arn:aws:iam::123456789012:role/example-role\",\n Enabled = true,\n },\n Type = \"compaction\",\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/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := glue.NewCatalogTableOptimizer(ctx, \"example\", \u0026glue.CatalogTableOptimizerArgs{\n\t\t\tCatalogId: pulumi.String(\"123456789012\"),\n\t\t\tDatabaseName: pulumi.String(\"example_database\"),\n\t\t\tTableName: pulumi.String(\"example_table\"),\n\t\t\tConfiguration: \u0026glue.CatalogTableOptimizerConfigurationArgs{\n\t\t\t\tRoleArn: pulumi.String(\"arn:aws:iam::123456789012:role/example-role\"),\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t},\n\t\t\tType: pulumi.String(\"compaction\"),\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.glue.CatalogTableOptimizer;\nimport com.pulumi.aws.glue.CatalogTableOptimizerArgs;\nimport com.pulumi.aws.glue.inputs.CatalogTableOptimizerConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 CatalogTableOptimizer(\"example\", CatalogTableOptimizerArgs.builder()\n .catalogId(\"123456789012\")\n .databaseName(\"example_database\")\n .tableName(\"example_table\")\n .configuration(CatalogTableOptimizerConfigurationArgs.builder()\n .roleArn(\"arn:aws:iam::123456789012:role/example-role\")\n .enabled(true)\n .build())\n .type(\"compaction\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:glue:CatalogTableOptimizer\n properties:\n catalogId: '123456789012'\n databaseName: example_database\n tableName: example_table\n configuration:\n roleArn: arn:aws:iam::123456789012:role/example-role\n enabled: true\n type: compaction\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Snapshot Retention Optimizer\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.glue.CatalogTableOptimizer(\"example\", {\n catalogId: \"123456789012\",\n databaseName: \"example_database\",\n tableName: \"example_table\",\n configuration: {\n roleArn: \"arn:aws:iam::123456789012:role/example-role\",\n enabled: true,\n retentionConfiguration: {\n icebergConfiguration: {\n snapshotRetentionPeriodInDays: 7,\n numberOfSnapshotsToRetain: 3,\n cleanExpiredFiles: true,\n },\n },\n },\n type: \"retention\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.glue.CatalogTableOptimizer(\"example\",\n catalog_id=\"123456789012\",\n database_name=\"example_database\",\n table_name=\"example_table\",\n configuration={\n \"role_arn\": \"arn:aws:iam::123456789012:role/example-role\",\n \"enabled\": True,\n \"retention_configuration\": {\n \"iceberg_configuration\": {\n \"snapshot_retention_period_in_days\": 7,\n \"number_of_snapshots_to_retain\": 3,\n \"clean_expired_files\": True,\n },\n },\n },\n type=\"retention\")\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.Glue.CatalogTableOptimizer(\"example\", new()\n {\n CatalogId = \"123456789012\",\n DatabaseName = \"example_database\",\n TableName = \"example_table\",\n Configuration = new Aws.Glue.Inputs.CatalogTableOptimizerConfigurationArgs\n {\n RoleArn = \"arn:aws:iam::123456789012:role/example-role\",\n Enabled = true,\n RetentionConfiguration = new Aws.Glue.Inputs.CatalogTableOptimizerConfigurationRetentionConfigurationArgs\n {\n IcebergConfiguration = new Aws.Glue.Inputs.CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationArgs\n {\n SnapshotRetentionPeriodInDays = 7,\n NumberOfSnapshotsToRetain = 3,\n CleanExpiredFiles = true,\n },\n },\n },\n Type = \"retention\",\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/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := glue.NewCatalogTableOptimizer(ctx, \"example\", \u0026glue.CatalogTableOptimizerArgs{\n\t\t\tCatalogId: pulumi.String(\"123456789012\"),\n\t\t\tDatabaseName: pulumi.String(\"example_database\"),\n\t\t\tTableName: pulumi.String(\"example_table\"),\n\t\t\tConfiguration: \u0026glue.CatalogTableOptimizerConfigurationArgs{\n\t\t\t\tRoleArn: pulumi.String(\"arn:aws:iam::123456789012:role/example-role\"),\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\tRetentionConfiguration: \u0026glue.CatalogTableOptimizerConfigurationRetentionConfigurationArgs{\n\t\t\t\t\tIcebergConfiguration: \u0026glue.CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationArgs{\n\t\t\t\t\t\tSnapshotRetentionPeriodInDays: pulumi.Float64(7),\n\t\t\t\t\t\tNumberOfSnapshotsToRetain: pulumi.Float64(3),\n\t\t\t\t\t\tCleanExpiredFiles: pulumi.Bool(true),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tType: pulumi.String(\"retention\"),\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.glue.CatalogTableOptimizer;\nimport com.pulumi.aws.glue.CatalogTableOptimizerArgs;\nimport com.pulumi.aws.glue.inputs.CatalogTableOptimizerConfigurationArgs;\nimport com.pulumi.aws.glue.inputs.CatalogTableOptimizerConfigurationRetentionConfigurationArgs;\nimport com.pulumi.aws.glue.inputs.CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 CatalogTableOptimizer(\"example\", CatalogTableOptimizerArgs.builder()\n .catalogId(\"123456789012\")\n .databaseName(\"example_database\")\n .tableName(\"example_table\")\n .configuration(CatalogTableOptimizerConfigurationArgs.builder()\n .roleArn(\"arn:aws:iam::123456789012:role/example-role\")\n .enabled(true)\n .retentionConfiguration(CatalogTableOptimizerConfigurationRetentionConfigurationArgs.builder()\n .icebergConfiguration(CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationArgs.builder()\n .snapshotRetentionPeriodInDays(7)\n .numberOfSnapshotsToRetain(3)\n .cleanExpiredFiles(true)\n .build())\n .build())\n .build())\n .type(\"retention\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:glue:CatalogTableOptimizer\n properties:\n catalogId: '123456789012'\n databaseName: example_database\n tableName: example_table\n configuration:\n roleArn: arn:aws:iam::123456789012:role/example-role\n enabled: true\n retentionConfiguration:\n icebergConfiguration:\n snapshotRetentionPeriodInDays: 7\n numberOfSnapshotsToRetain: 3\n cleanExpiredFiles: true\n type: retention\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Orphan File Deletion Optimizer\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.glue.CatalogTableOptimizer(\"example\", {\n catalogId: \"123456789012\",\n databaseName: \"example_database\",\n tableName: \"example_table\",\n configuration: {\n roleArn: \"arn:aws:iam::123456789012:role/example-role\",\n enabled: true,\n orphanFileDeletionConfiguration: {\n icebergConfiguration: {\n orphanFileRetentionPeriodInDays: 7,\n location: \"s3://example-bucket/example_table/\",\n },\n },\n },\n type: \"orphan_file_deletion\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.glue.CatalogTableOptimizer(\"example\",\n catalog_id=\"123456789012\",\n database_name=\"example_database\",\n table_name=\"example_table\",\n configuration={\n \"role_arn\": \"arn:aws:iam::123456789012:role/example-role\",\n \"enabled\": True,\n \"orphan_file_deletion_configuration\": {\n \"iceberg_configuration\": {\n \"orphan_file_retention_period_in_days\": 7,\n \"location\": \"s3://example-bucket/example_table/\",\n },\n },\n },\n type=\"orphan_file_deletion\")\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.Glue.CatalogTableOptimizer(\"example\", new()\n {\n CatalogId = \"123456789012\",\n DatabaseName = \"example_database\",\n TableName = \"example_table\",\n Configuration = new Aws.Glue.Inputs.CatalogTableOptimizerConfigurationArgs\n {\n RoleArn = \"arn:aws:iam::123456789012:role/example-role\",\n Enabled = true,\n OrphanFileDeletionConfiguration = new Aws.Glue.Inputs.CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationArgs\n {\n IcebergConfiguration = new Aws.Glue.Inputs.CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationArgs\n {\n OrphanFileRetentionPeriodInDays = 7,\n Location = \"s3://example-bucket/example_table/\",\n },\n },\n },\n Type = \"orphan_file_deletion\",\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/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := glue.NewCatalogTableOptimizer(ctx, \"example\", \u0026glue.CatalogTableOptimizerArgs{\n\t\t\tCatalogId: pulumi.String(\"123456789012\"),\n\t\t\tDatabaseName: pulumi.String(\"example_database\"),\n\t\t\tTableName: pulumi.String(\"example_table\"),\n\t\t\tConfiguration: \u0026glue.CatalogTableOptimizerConfigurationArgs{\n\t\t\t\tRoleArn: pulumi.String(\"arn:aws:iam::123456789012:role/example-role\"),\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\tOrphanFileDeletionConfiguration: \u0026glue.CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationArgs{\n\t\t\t\t\tIcebergConfiguration: \u0026glue.CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationArgs{\n\t\t\t\t\t\tOrphanFileRetentionPeriodInDays: pulumi.Float64(7),\n\t\t\t\t\t\tLocation: pulumi.String(\"s3://example-bucket/example_table/\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tType: pulumi.String(\"orphan_file_deletion\"),\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.glue.CatalogTableOptimizer;\nimport com.pulumi.aws.glue.CatalogTableOptimizerArgs;\nimport com.pulumi.aws.glue.inputs.CatalogTableOptimizerConfigurationArgs;\nimport com.pulumi.aws.glue.inputs.CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationArgs;\nimport com.pulumi.aws.glue.inputs.CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 CatalogTableOptimizer(\"example\", CatalogTableOptimizerArgs.builder()\n .catalogId(\"123456789012\")\n .databaseName(\"example_database\")\n .tableName(\"example_table\")\n .configuration(CatalogTableOptimizerConfigurationArgs.builder()\n .roleArn(\"arn:aws:iam::123456789012:role/example-role\")\n .enabled(true)\n .orphanFileDeletionConfiguration(CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationArgs.builder()\n .icebergConfiguration(CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationArgs.builder()\n .orphanFileRetentionPeriodInDays(7)\n .location(\"s3://example-bucket/example_table/\")\n .build())\n .build())\n .build())\n .type(\"orphan_file_deletion\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:glue:CatalogTableOptimizer\n properties:\n catalogId: '123456789012'\n databaseName: example_database\n tableName: example_table\n configuration:\n roleArn: arn:aws:iam::123456789012:role/example-role\n enabled: true\n orphanFileDeletionConfiguration:\n icebergConfiguration:\n orphanFileRetentionPeriodInDays: 7\n location: s3://example-bucket/example_table/\n type: orphan_file_deletion\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Glue Catalog Table Optimizer using the `catalog_id,database_name,table_name,type`. For example:\n\n```sh\n$ pulumi import aws:glue/catalogTableOptimizer:CatalogTableOptimizer example 123456789012,example_database,example_table,compaction\n```\n", "properties": { "catalogId": { "type": "string", @@ -273831,7 +274427,7 @@ }, "configuration": { "$ref": "#/types/aws:glue/CatalogTableOptimizerConfiguration:CatalogTableOptimizerConfiguration", - "description": "A configuration block that defines the table optimizer settings. The block contains:\n" + "description": "A configuration block that defines the table optimizer settings. See Configuration for additional details.\n" }, "databaseName": { "type": "string", @@ -273843,7 +274439,7 @@ }, "type": { "type": "string", - "description": "The type of table optimizer. Currently, the only valid value is compaction.\n" + "description": "The type of table optimizer. Valid values are `compaction`, `retention`, and `orphan_file_deletion`.\n" } }, "required": [ @@ -273859,7 +274455,7 @@ }, "configuration": { "$ref": "#/types/aws:glue/CatalogTableOptimizerConfiguration:CatalogTableOptimizerConfiguration", - "description": "A configuration block that defines the table optimizer settings. The block contains:\n" + "description": "A configuration block that defines the table optimizer settings. See Configuration for additional details.\n" }, "databaseName": { "type": "string", @@ -273871,7 +274467,7 @@ }, "type": { "type": "string", - "description": "The type of table optimizer. Currently, the only valid value is compaction.\n" + "description": "The type of table optimizer. Valid values are `compaction`, `retention`, and `orphan_file_deletion`.\n" } }, "requiredInputs": [ @@ -273889,7 +274485,7 @@ }, "configuration": { "$ref": "#/types/aws:glue/CatalogTableOptimizerConfiguration:CatalogTableOptimizerConfiguration", - "description": "A configuration block that defines the table optimizer settings. The block contains:\n" + "description": "A configuration block that defines the table optimizer settings. See Configuration for additional details.\n" }, "databaseName": { "type": "string", @@ -273901,7 +274497,7 @@ }, "type": { "type": "string", - "description": "The type of table optimizer. Currently, the only valid value is compaction.\n" + "description": "The type of table optimizer. Valid values are `compaction`, `retention`, and `orphan_file_deletion`.\n" } }, "type": "object" @@ -279790,18 +280386,18 @@ } }, "aws:iam/openIdConnectProvider:OpenIdConnectProvider": { - "description": "Provides an IAM OpenID Connect provider.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _default = new aws.iam.OpenIdConnectProvider(\"default\", {\n url: \"https://accounts.google.com\",\n clientIdLists: [\"266362248691-342342xasdasdasda-apps.googleusercontent.com\"],\n thumbprintLists: [\"cf23df2207d99a74fbe169e3eba035e633b65d94\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.iam.OpenIdConnectProvider(\"default\",\n url=\"https://accounts.google.com\",\n client_id_lists=[\"266362248691-342342xasdasdasda-apps.googleusercontent.com\"],\n thumbprint_lists=[\"cf23df2207d99a74fbe169e3eba035e633b65d94\"])\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.Iam.OpenIdConnectProvider(\"default\", new()\n {\n Url = \"https://accounts.google.com\",\n ClientIdLists = new[]\n {\n \"266362248691-342342xasdasdasda-apps.googleusercontent.com\",\n },\n ThumbprintLists = new[]\n {\n \"cf23df2207d99a74fbe169e3eba035e633b65d94\",\n },\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.NewOpenIdConnectProvider(ctx, \"default\", \u0026iam.OpenIdConnectProviderArgs{\n\t\t\tUrl: pulumi.String(\"https://accounts.google.com\"),\n\t\t\tClientIdLists: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"266362248691-342342xasdasdasda-apps.googleusercontent.com\"),\n\t\t\t},\n\t\t\tThumbprintLists: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"cf23df2207d99a74fbe169e3eba035e633b65d94\"),\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.OpenIdConnectProvider;\nimport com.pulumi.aws.iam.OpenIdConnectProviderArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 OpenIdConnectProvider(\"default\", OpenIdConnectProviderArgs.builder()\n .url(\"https://accounts.google.com\")\n .clientIdLists(\"266362248691-342342xasdasdasda-apps.googleusercontent.com\")\n .thumbprintLists(\"cf23df2207d99a74fbe169e3eba035e633b65d94\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: aws:iam:OpenIdConnectProvider\n properties:\n url: https://accounts.google.com\n clientIdLists:\n - 266362248691-342342xasdasdasda-apps.googleusercontent.com\n thumbprintLists:\n - cf23df2207d99a74fbe169e3eba035e633b65d94\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import IAM OpenID Connect Providers using the `arn`. For example:\n\n```sh\n$ pulumi import aws:iam/openIdConnectProvider:OpenIdConnectProvider default arn:aws:iam::123456789012:oidc-provider/accounts.google.com\n```\n", + "description": "Provides an IAM OpenID Connect provider.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _default = new aws.iam.OpenIdConnectProvider(\"default\", {\n url: \"https://accounts.google.com\",\n clientIdLists: [\"266362248691-342342xasdasdasda-apps.googleusercontent.com\"],\n thumbprintLists: [\"cf23df2207d99a74fbe169e3eba035e633b65d94\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.iam.OpenIdConnectProvider(\"default\",\n url=\"https://accounts.google.com\",\n client_id_lists=[\"266362248691-342342xasdasdasda-apps.googleusercontent.com\"],\n thumbprint_lists=[\"cf23df2207d99a74fbe169e3eba035e633b65d94\"])\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.Iam.OpenIdConnectProvider(\"default\", new()\n {\n Url = \"https://accounts.google.com\",\n ClientIdLists = new[]\n {\n \"266362248691-342342xasdasdasda-apps.googleusercontent.com\",\n },\n ThumbprintLists = new[]\n {\n \"cf23df2207d99a74fbe169e3eba035e633b65d94\",\n },\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.NewOpenIdConnectProvider(ctx, \"default\", \u0026iam.OpenIdConnectProviderArgs{\n\t\t\tUrl: pulumi.String(\"https://accounts.google.com\"),\n\t\t\tClientIdLists: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"266362248691-342342xasdasdasda-apps.googleusercontent.com\"),\n\t\t\t},\n\t\t\tThumbprintLists: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"cf23df2207d99a74fbe169e3eba035e633b65d94\"),\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.OpenIdConnectProvider;\nimport com.pulumi.aws.iam.OpenIdConnectProviderArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 OpenIdConnectProvider(\"default\", OpenIdConnectProviderArgs.builder()\n .url(\"https://accounts.google.com\")\n .clientIdLists(\"266362248691-342342xasdasdasda-apps.googleusercontent.com\")\n .thumbprintLists(\"cf23df2207d99a74fbe169e3eba035e633b65d94\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: aws:iam:OpenIdConnectProvider\n properties:\n url: https://accounts.google.com\n clientIdLists:\n - 266362248691-342342xasdasdasda-apps.googleusercontent.com\n thumbprintLists:\n - cf23df2207d99a74fbe169e3eba035e633b65d94\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Without A Thumbprint\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _default = new aws.iam.OpenIdConnectProvider(\"default\", {\n url: \"https://accounts.google.com\",\n clientIdLists: [\"266362248691-342342xasdasdasda-apps.googleusercontent.com\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.iam.OpenIdConnectProvider(\"default\",\n url=\"https://accounts.google.com\",\n client_id_lists=[\"266362248691-342342xasdasdasda-apps.googleusercontent.com\"])\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.Iam.OpenIdConnectProvider(\"default\", new()\n {\n Url = \"https://accounts.google.com\",\n ClientIdLists = new[]\n {\n \"266362248691-342342xasdasdasda-apps.googleusercontent.com\",\n },\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.NewOpenIdConnectProvider(ctx, \"default\", \u0026iam.OpenIdConnectProviderArgs{\n\t\t\tUrl: pulumi.String(\"https://accounts.google.com\"),\n\t\t\tClientIdLists: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"266362248691-342342xasdasdasda-apps.googleusercontent.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.OpenIdConnectProvider;\nimport com.pulumi.aws.iam.OpenIdConnectProviderArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 OpenIdConnectProvider(\"default\", OpenIdConnectProviderArgs.builder()\n .url(\"https://accounts.google.com\")\n .clientIdLists(\"266362248691-342342xasdasdasda-apps.googleusercontent.com\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: aws:iam:OpenIdConnectProvider\n properties:\n url: https://accounts.google.com\n clientIdLists:\n - 266362248691-342342xasdasdasda-apps.googleusercontent.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import IAM OpenID Connect Providers using the `arn`. For example:\n\n```sh\n$ pulumi import aws:iam/openIdConnectProvider:OpenIdConnectProvider default arn:aws:iam::123456789012:oidc-provider/accounts.google.com\n```\n", "properties": { "arn": { "type": "string", - "description": "The ARN assigned by AWS for this provider.\n" + "description": "ARN assigned by AWS for this provider.\n" }, "clientIdLists": { "type": "array", "items": { "type": "string" }, - "description": "A list of client IDs (also known as audiences). When a mobile or web app registers with an OpenID Connect provider, they establish a value that identifies the application. (This is the value that's sent as the client_id parameter on OAuth requests.)\n" + "description": "List of client IDs (audiences) that identify the application registered with the OpenID Connect provider. This is the value sent as the `client_id` parameter in OAuth requests.\n" }, "tags": { "type": "object", @@ -279815,19 +280411,18 @@ "additionalProperties": { "type": "string" }, - "description": "A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.\n", + "description": "Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.\n", "deprecationMessage": "Please use `tags` instead." }, "thumbprintLists": { "type": "array", "items": { "type": "string" - }, - "description": "A list of server certificate thumbprints for the OpenID Connect (OIDC) identity provider's server certificate(s).\n" + } }, "url": { "type": "string", - "description": "The URL of the identity provider. Corresponds to the _iss_ claim.\n" + "description": "URL of the identity provider, corresponding to the `iss` claim.\n" } }, "required": [ @@ -279843,7 +280438,7 @@ "items": { "type": "string" }, - "description": "A list of client IDs (also known as audiences). When a mobile or web app registers with an OpenID Connect provider, they establish a value that identifies the application. (This is the value that's sent as the client_id parameter on OAuth requests.)\n" + "description": "List of client IDs (audiences) that identify the application registered with the OpenID Connect provider. This is the value sent as the `client_id` parameter in OAuth requests.\n" }, "tags": { "type": "object", @@ -279856,18 +280451,16 @@ "type": "array", "items": { "type": "string" - }, - "description": "A list of server certificate thumbprints for the OpenID Connect (OIDC) identity provider's server certificate(s).\n" + } }, "url": { "type": "string", - "description": "The URL of the identity provider. Corresponds to the _iss_ claim.\n", + "description": "URL of the identity provider, corresponding to the `iss` claim.\n", "willReplaceOnChanges": true } }, "requiredInputs": [ "clientIdLists", - "thumbprintLists", "url" ], "stateInputs": { @@ -279875,14 +280468,14 @@ "properties": { "arn": { "type": "string", - "description": "The ARN assigned by AWS for this provider.\n" + "description": "ARN assigned by AWS for this provider.\n" }, "clientIdLists": { "type": "array", "items": { "type": "string" }, - "description": "A list of client IDs (also known as audiences). When a mobile or web app registers with an OpenID Connect provider, they establish a value that identifies the application. (This is the value that's sent as the client_id parameter on OAuth requests.)\n" + "description": "List of client IDs (audiences) that identify the application registered with the OpenID Connect provider. This is the value sent as the `client_id` parameter in OAuth requests.\n" }, "tags": { "type": "object", @@ -279896,19 +280489,18 @@ "additionalProperties": { "type": "string" }, - "description": "A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.\n", + "description": "Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.\n", "deprecationMessage": "Please use `tags` instead." }, "thumbprintLists": { "type": "array", "items": { "type": "string" - }, - "description": "A list of server certificate thumbprints for the OpenID Connect (OIDC) identity provider's server certificate(s).\n" + } }, "url": { "type": "string", - "description": "The URL of the identity provider. Corresponds to the _iss_ claim.\n", + "description": "URL of the identity provider, corresponding to the `iss` claim.\n", "willReplaceOnChanges": true } }, @@ -295711,7 +296303,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\n\u003e **Note::** When a `Name` key is specified in the map, the AWS Console maps the value to the `Name Tag` column value inside the `Listener Rules` table within a specific load balancer listener page. Otherwise, the value resolves to `Default`.\n" }, "tagsAll": { "type": "object", @@ -295778,7 +296370,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\n\u003e **Note::** When a `Name` key is specified in the map, the AWS Console maps the value to the `Name Tag` column value inside the `Listener Rules` table within a specific load balancer listener page. Otherwise, the value resolves to `Default`.\n" }, "tcpIdleTimeoutSeconds": { "type": "integer", @@ -295837,7 +296429,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\n\u003e **Note::** When a `Name` key is specified in the map, the AWS Console maps the value to the `Name Tag` column value inside the `Listener Rules` table within a specific load balancer listener page. Otherwise, the value resolves to `Default`.\n" }, "tagsAll": { "type": "object", @@ -307741,7 +308333,7 @@ } }, "aws:msk/replicator:Replicator": { - "description": "Resource for managing an AWS Managed Streaming for Kafka Replicator.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.msk.Replicator(\"test\", {\n replicatorName: \"test-name\",\n description: \"test-description\",\n serviceExecutionRoleArn: sourceAwsIamRole.arn,\n kafkaClusters: [\n {\n amazonMskCluster: {\n mskClusterArn: source.arn,\n },\n vpcConfig: {\n subnetIds: sourceAwsSubnet.map(__item =\u003e __item.id),\n securityGroupsIds: [sourceAwsSecurityGroup.id],\n },\n },\n {\n amazonMskCluster: {\n mskClusterArn: target.arn,\n },\n vpcConfig: {\n subnetIds: targetAwsSubnet.map(__item =\u003e __item.id),\n securityGroupsIds: [targetAwsSecurityGroup.id],\n },\n },\n ],\n replicationInfoList: {\n sourceKafkaClusterArn: source.arn,\n targetKafkaClusterArn: target.arn,\n targetCompressionType: \"NONE\",\n topicReplications: [{\n topicsToReplicates: [\".*\"],\n startingPosition: {\n type: \"LATEST\",\n },\n }],\n consumerGroupReplications: [{\n consumerGroupsToReplicates: [\".*\"],\n }],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.msk.Replicator(\"test\",\n replicator_name=\"test-name\",\n description=\"test-description\",\n service_execution_role_arn=source_aws_iam_role[\"arn\"],\n kafka_clusters=[\n {\n \"amazon_msk_cluster\": {\n \"msk_cluster_arn\": source[\"arn\"],\n },\n \"vpc_config\": {\n \"subnet_ids\": [__item[\"id\"] for __item in source_aws_subnet],\n \"security_groups_ids\": [source_aws_security_group[\"id\"]],\n },\n },\n {\n \"amazon_msk_cluster\": {\n \"msk_cluster_arn\": target[\"arn\"],\n },\n \"vpc_config\": {\n \"subnet_ids\": [__item[\"id\"] for __item in target_aws_subnet],\n \"security_groups_ids\": [target_aws_security_group[\"id\"]],\n },\n },\n ],\n replication_info_list={\n \"source_kafka_cluster_arn\": source[\"arn\"],\n \"target_kafka_cluster_arn\": target[\"arn\"],\n \"target_compression_type\": \"NONE\",\n \"topic_replications\": [{\n \"topics_to_replicates\": [\".*\"],\n \"starting_position\": {\n \"type\": \"LATEST\",\n },\n }],\n \"consumer_group_replications\": [{\n \"consumer_groups_to_replicates\": [\".*\"],\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.Msk.Replicator(\"test\", new()\n {\n ReplicatorName = \"test-name\",\n Description = \"test-description\",\n ServiceExecutionRoleArn = sourceAwsIamRole.Arn,\n KafkaClusters = new[]\n {\n new Aws.Msk.Inputs.ReplicatorKafkaClusterArgs\n {\n AmazonMskCluster = new Aws.Msk.Inputs.ReplicatorKafkaClusterAmazonMskClusterArgs\n {\n MskClusterArn = source.Arn,\n },\n VpcConfig = new Aws.Msk.Inputs.ReplicatorKafkaClusterVpcConfigArgs\n {\n SubnetIds = sourceAwsSubnet.Select(__item =\u003e __item.Id).ToList(),\n SecurityGroupsIds = new[]\n {\n sourceAwsSecurityGroup.Id,\n },\n },\n },\n new Aws.Msk.Inputs.ReplicatorKafkaClusterArgs\n {\n AmazonMskCluster = new Aws.Msk.Inputs.ReplicatorKafkaClusterAmazonMskClusterArgs\n {\n MskClusterArn = target.Arn,\n },\n VpcConfig = new Aws.Msk.Inputs.ReplicatorKafkaClusterVpcConfigArgs\n {\n SubnetIds = targetAwsSubnet.Select(__item =\u003e __item.Id).ToList(),\n SecurityGroupsIds = new[]\n {\n targetAwsSecurityGroup.Id,\n },\n },\n },\n },\n ReplicationInfoList = new Aws.Msk.Inputs.ReplicatorReplicationInfoListArgs\n {\n SourceKafkaClusterArn = source.Arn,\n TargetKafkaClusterArn = target.Arn,\n TargetCompressionType = \"NONE\",\n TopicReplications = new[]\n {\n new Aws.Msk.Inputs.ReplicatorReplicationInfoListTopicReplicationArgs\n {\n TopicsToReplicates = new[]\n {\n \".*\",\n },\n StartingPosition = new Aws.Msk.Inputs.ReplicatorReplicationInfoListTopicReplicationStartingPositionArgs\n {\n Type = \"LATEST\",\n },\n },\n },\n ConsumerGroupReplications = new[]\n {\n new Aws.Msk.Inputs.ReplicatorReplicationInfoListConsumerGroupReplicationArgs\n {\n ConsumerGroupsToReplicates = new[]\n {\n \".*\",\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/msk\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\n_, err := msk.NewReplicator(ctx, \"test\", \u0026msk.ReplicatorArgs{\nReplicatorName: pulumi.String(\"test-name\"),\nDescription: pulumi.String(\"test-description\"),\nServiceExecutionRoleArn: pulumi.Any(sourceAwsIamRole.Arn),\nKafkaClusters: msk.ReplicatorKafkaClusterArray{\n\u0026msk.ReplicatorKafkaClusterArgs{\nAmazonMskCluster: \u0026msk.ReplicatorKafkaClusterAmazonMskClusterArgs{\nMskClusterArn: pulumi.Any(source.Arn),\n},\nVpcConfig: \u0026msk.ReplicatorKafkaClusterVpcConfigArgs{\nSubnetIds: []pulumi.String(%!v(PANIC=Format method: fatal: A failure has occurred: unlowered splat expression @ example.pp:9,27-48)),\nSecurityGroupsIds: pulumi.StringArray{\nsourceAwsSecurityGroup.Id,\n},\n},\n},\n\u0026msk.ReplicatorKafkaClusterArgs{\nAmazonMskCluster: \u0026msk.ReplicatorKafkaClusterAmazonMskClusterArgs{\nMskClusterArn: pulumi.Any(target.Arn),\n},\nVpcConfig: \u0026msk.ReplicatorKafkaClusterVpcConfigArgs{\nSubnetIds: []pulumi.String(%!v(PANIC=Format method: fatal: A failure has occurred: unlowered splat expression @ example.pp:17,27-48)),\nSecurityGroupsIds: pulumi.StringArray{\ntargetAwsSecurityGroup.Id,\n},\n},\n},\n},\nReplicationInfoList: \u0026msk.ReplicatorReplicationInfoListArgs{\nSourceKafkaClusterArn: pulumi.Any(source.Arn),\nTargetKafkaClusterArn: pulumi.Any(target.Arn),\nTargetCompressionType: pulumi.String(\"NONE\"),\nTopicReplications: msk.ReplicatorReplicationInfoListTopicReplicationArray{\n\u0026msk.ReplicatorReplicationInfoListTopicReplicationArgs{\nTopicsToReplicates: pulumi.StringArray{\npulumi.String(\".*\"),\n},\nStartingPosition: \u0026msk.ReplicatorReplicationInfoListTopicReplicationStartingPositionArgs{\nType: pulumi.String(\"LATEST\"),\n},\n},\n},\nConsumerGroupReplications: msk.ReplicatorReplicationInfoListConsumerGroupReplicationArray{\n\u0026msk.ReplicatorReplicationInfoListConsumerGroupReplicationArgs{\nConsumerGroupsToReplicates: pulumi.StringArray{\npulumi.String(\".*\"),\n},\n},\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.msk.Replicator;\nimport com.pulumi.aws.msk.ReplicatorArgs;\nimport com.pulumi.aws.msk.inputs.ReplicatorKafkaClusterArgs;\nimport com.pulumi.aws.msk.inputs.ReplicatorKafkaClusterAmazonMskClusterArgs;\nimport com.pulumi.aws.msk.inputs.ReplicatorKafkaClusterVpcConfigArgs;\nimport com.pulumi.aws.msk.inputs.ReplicatorReplicationInfoListArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 Replicator(\"test\", ReplicatorArgs.builder()\n .replicatorName(\"test-name\")\n .description(\"test-description\")\n .serviceExecutionRoleArn(sourceAwsIamRole.arn())\n .kafkaClusters( \n ReplicatorKafkaClusterArgs.builder()\n .amazonMskCluster(ReplicatorKafkaClusterAmazonMskClusterArgs.builder()\n .mskClusterArn(source.arn())\n .build())\n .vpcConfig(ReplicatorKafkaClusterVpcConfigArgs.builder()\n .subnetIds(sourceAwsSubnet.stream().map(element -\u003e element.id()).collect(toList()))\n .securityGroupsIds(sourceAwsSecurityGroup.id())\n .build())\n .build(),\n ReplicatorKafkaClusterArgs.builder()\n .amazonMskCluster(ReplicatorKafkaClusterAmazonMskClusterArgs.builder()\n .mskClusterArn(target.arn())\n .build())\n .vpcConfig(ReplicatorKafkaClusterVpcConfigArgs.builder()\n .subnetIds(targetAwsSubnet.stream().map(element -\u003e element.id()).collect(toList()))\n .securityGroupsIds(targetAwsSecurityGroup.id())\n .build())\n .build())\n .replicationInfoList(ReplicatorReplicationInfoListArgs.builder()\n .sourceKafkaClusterArn(source.arn())\n .targetKafkaClusterArn(target.arn())\n .targetCompressionType(\"NONE\")\n .topicReplications(ReplicatorReplicationInfoListTopicReplicationArgs.builder()\n .topicsToReplicates(\".*\")\n .startingPosition(ReplicatorReplicationInfoListTopicReplicationStartingPositionArgs.builder()\n .type(\"LATEST\")\n .build())\n .build())\n .consumerGroupReplications(ReplicatorReplicationInfoListConsumerGroupReplicationArgs.builder()\n .consumerGroupsToReplicates(\".*\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import MSK replicators using the replicator ARN. For example:\n\n```sh\n$ pulumi import aws:msk/replicator:Replicator example arn:aws:kafka:us-west-2:123456789012:configuration/example/279c0212-d057-4dba-9aa9-1c4e5a25bfc7-3\n```\n", + "description": "Resource for managing an AWS Managed Streaming for Kafka Replicator.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.msk.Replicator;\nimport com.pulumi.aws.msk.ReplicatorArgs;\nimport com.pulumi.aws.msk.inputs.ReplicatorKafkaClusterArgs;\nimport com.pulumi.aws.msk.inputs.ReplicatorKafkaClusterAmazonMskClusterArgs;\nimport com.pulumi.aws.msk.inputs.ReplicatorKafkaClusterVpcConfigArgs;\nimport com.pulumi.aws.msk.inputs.ReplicatorReplicationInfoListArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 Replicator(\"test\", ReplicatorArgs.builder()\n .replicatorName(\"test-name\")\n .description(\"test-description\")\n .serviceExecutionRoleArn(sourceAwsIamRole.arn())\n .kafkaClusters( \n ReplicatorKafkaClusterArgs.builder()\n .amazonMskCluster(ReplicatorKafkaClusterAmazonMskClusterArgs.builder()\n .mskClusterArn(source.arn())\n .build())\n .vpcConfig(ReplicatorKafkaClusterVpcConfigArgs.builder()\n .subnetIds(sourceAwsSubnet.stream().map(element -\u003e element.id()).collect(toList()))\n .securityGroupsIds(sourceAwsSecurityGroup.id())\n .build())\n .build(),\n ReplicatorKafkaClusterArgs.builder()\n .amazonMskCluster(ReplicatorKafkaClusterAmazonMskClusterArgs.builder()\n .mskClusterArn(target.arn())\n .build())\n .vpcConfig(ReplicatorKafkaClusterVpcConfigArgs.builder()\n .subnetIds(targetAwsSubnet.stream().map(element -\u003e element.id()).collect(toList()))\n .securityGroupsIds(targetAwsSecurityGroup.id())\n .build())\n .build())\n .replicationInfoList(ReplicatorReplicationInfoListArgs.builder()\n .sourceKafkaClusterArn(source.arn())\n .targetKafkaClusterArn(target.arn())\n .targetCompressionType(\"NONE\")\n .topicReplications(ReplicatorReplicationInfoListTopicReplicationArgs.builder()\n .topicConfigurationName(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference))\n .topicsToReplicates(\".*\")\n .startingPosition(ReplicatorReplicationInfoListTopicReplicationStartingPositionArgs.builder()\n .type(\"LATEST\")\n .build())\n .build())\n .consumerGroupReplications(ReplicatorReplicationInfoListConsumerGroupReplicationArgs.builder()\n .consumerGroupsToReplicates(\".*\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import MSK replicators using the replicator ARN. For example:\n\n```sh\n$ pulumi import aws:msk/replicator:Replicator example arn:aws:kafka:us-west-2:123456789012:configuration/example/279c0212-d057-4dba-9aa9-1c4e5a25bfc7-3\n```\n", "properties": { "arn": { "type": "string", @@ -307888,7 +308480,7 @@ } }, "aws:msk/scramSecretAssociation:ScramSecretAssociation": { - "description": "Associates SCRAM secrets stored in the Secrets Manager service with a Managed Streaming for Kafka (MSK) cluster.\n\n\u003e **Note:** The following assumes the MSK cluster has SASL/SCRAM authentication enabled. See below for example usage or refer to the [Username/Password Authentication](https://docs.aws.amazon.com/msk/latest/developerguide/msk-password.html) section of the MSK Developer Guide for more details.\n\nTo set up username and password authentication for a cluster, create an `aws.secretsmanager.Secret` resource and associate\na username and password with the secret with an `aws.secretsmanager.SecretVersion` resource. When creating a secret for the cluster,\nthe `name` must have the prefix `AmazonMSK_` and you must either use an existing custom AWS KMS key or create a new\ncustom AWS KMS key for your secret with the `aws.kms.Key` resource. It is important to note that a policy is required for the `aws.secretsmanager.Secret`\nresource in order for Kafka to be able to read it. This policy is attached automatically when the `aws.msk.ScramSecretAssociation` is used,\nhowever, this policy will not be in the state and as such, will present a diff on plan/apply. For that reason, you must use the `aws.secretsmanager.SecretPolicy`\nresource](/docs/providers/aws/r/secretsmanager_secret_policy.html) as shown below in order to ensure that the state is in a clean state after the creation of secret and the association to the cluster.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleCluster = new aws.msk.Cluster(\"example\", {\n clusterName: \"example\",\n clientAuthentication: {\n sasl: {\n scram: true,\n },\n },\n});\nconst exampleKey = new aws.kms.Key(\"example\", {description: \"Example Key for MSK Cluster Scram Secret Association\"});\nconst exampleSecret = new aws.secretsmanager.Secret(\"example\", {\n name: \"AmazonMSK_example\",\n kmsKeyId: exampleKey.keyId,\n});\nconst exampleSecretVersion = new aws.secretsmanager.SecretVersion(\"example\", {\n secretId: exampleSecret.id,\n secretString: JSON.stringify({\n username: \"user\",\n password: \"pass\",\n }),\n});\nconst exampleScramSecretAssociation = new aws.msk.ScramSecretAssociation(\"example\", {\n clusterArn: exampleCluster.arn,\n secretArnLists: [exampleSecret.arn],\n}, {\n dependsOn: [exampleSecretVersion],\n});\nconst example = aws.iam.getPolicyDocumentOutput({\n statements: [{\n sid: \"AWSKafkaResourcePolicy\",\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"kafka.amazonaws.com\"],\n }],\n actions: [\"secretsmanager:getSecretValue\"],\n resources: [exampleSecret.arn],\n }],\n});\nconst exampleSecretPolicy = new aws.secretsmanager.SecretPolicy(\"example\", {\n secretArn: exampleSecret.arn,\n policy: example.apply(example =\u003e example.json),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample_cluster = aws.msk.Cluster(\"example\",\n cluster_name=\"example\",\n client_authentication={\n \"sasl\": {\n \"scram\": True,\n },\n })\nexample_key = aws.kms.Key(\"example\", description=\"Example Key for MSK Cluster Scram Secret Association\")\nexample_secret = aws.secretsmanager.Secret(\"example\",\n name=\"AmazonMSK_example\",\n kms_key_id=example_key.key_id)\nexample_secret_version = aws.secretsmanager.SecretVersion(\"example\",\n secret_id=example_secret.id,\n secret_string=json.dumps({\n \"username\": \"user\",\n \"password\": \"pass\",\n }))\nexample_scram_secret_association = aws.msk.ScramSecretAssociation(\"example\",\n cluster_arn=example_cluster.arn,\n secret_arn_lists=[example_secret.arn],\n opts = pulumi.ResourceOptions(depends_on=[example_secret_version]))\nexample = aws.iam.get_policy_document_output(statements=[{\n \"sid\": \"AWSKafkaResourcePolicy\",\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"kafka.amazonaws.com\"],\n }],\n \"actions\": [\"secretsmanager:getSecretValue\"],\n \"resources\": [example_secret.arn],\n}])\nexample_secret_policy = aws.secretsmanager.SecretPolicy(\"example\",\n secret_arn=example_secret.arn,\n policy=example.json)\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 exampleCluster = new Aws.Msk.Cluster(\"example\", new()\n {\n ClusterName = \"example\",\n ClientAuthentication = new Aws.Msk.Inputs.ClusterClientAuthenticationArgs\n {\n Sasl = new Aws.Msk.Inputs.ClusterClientAuthenticationSaslArgs\n {\n Scram = true,\n },\n },\n });\n\n var exampleKey = new Aws.Kms.Key(\"example\", new()\n {\n Description = \"Example Key for MSK Cluster Scram Secret Association\",\n });\n\n var exampleSecret = new Aws.SecretsManager.Secret(\"example\", new()\n {\n Name = \"AmazonMSK_example\",\n KmsKeyId = exampleKey.KeyId,\n });\n\n var exampleSecretVersion = new Aws.SecretsManager.SecretVersion(\"example\", new()\n {\n SecretId = exampleSecret.Id,\n SecretString = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"username\"] = \"user\",\n [\"password\"] = \"pass\",\n }),\n });\n\n var exampleScramSecretAssociation = new Aws.Msk.ScramSecretAssociation(\"example\", new()\n {\n ClusterArn = exampleCluster.Arn,\n SecretArnLists = new[]\n {\n exampleSecret.Arn,\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleSecretVersion,\n },\n });\n\n var example = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"AWSKafkaResourcePolicy\",\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"kafka.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"secretsmanager:getSecretValue\",\n },\n Resources = new[]\n {\n exampleSecret.Arn,\n },\n },\n },\n });\n\n var exampleSecretPolicy = new Aws.SecretsManager.SecretPolicy(\"example\", new()\n {\n SecretArn = exampleSecret.Arn,\n Policy = example.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\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/kms\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/msk\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/secretsmanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleCluster, err := msk.NewCluster(ctx, \"example\", \u0026msk.ClusterArgs{\n\t\t\tClusterName: pulumi.String(\"example\"),\n\t\t\tClientAuthentication: \u0026msk.ClusterClientAuthenticationArgs{\n\t\t\t\tSasl: \u0026msk.ClusterClientAuthenticationSaslArgs{\n\t\t\t\t\tScram: pulumi.Bool(true),\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\texampleKey, err := kms.NewKey(ctx, \"example\", \u0026kms.KeyArgs{\n\t\t\tDescription: pulumi.String(\"Example Key for MSK Cluster Scram Secret Association\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSecret, err := secretsmanager.NewSecret(ctx, \"example\", \u0026secretsmanager.SecretArgs{\n\t\t\tName: pulumi.String(\"AmazonMSK_example\"),\n\t\t\tKmsKeyId: exampleKey.KeyId,\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\"username\": \"user\",\n\t\t\t\"password\": \"pass\",\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\texampleSecretVersion, err := secretsmanager.NewSecretVersion(ctx, \"example\", \u0026secretsmanager.SecretVersionArgs{\n\t\t\tSecretId: exampleSecret.ID(),\n\t\t\tSecretString: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = msk.NewScramSecretAssociation(ctx, \"example\", \u0026msk.ScramSecretAssociationArgs{\n\t\t\tClusterArn: exampleCluster.Arn,\n\t\t\tSecretArnLists: pulumi.StringArray{\n\t\t\t\texampleSecret.Arn,\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleSecretVersion,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tSid: pulumi.String(\"AWSKafkaResourcePolicy\"),\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tPrincipals: iam.GetPolicyDocumentStatementPrincipalArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementPrincipalArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"Service\"),\n\t\t\t\t\t\t\tIdentifiers: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"kafka.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: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"secretsmanager:getSecretValue\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\texampleSecret.Arn,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\t_, err = secretsmanager.NewSecretPolicy(ctx, \"example\", \u0026secretsmanager.SecretPolicyArgs{\n\t\t\tSecretArn: exampleSecret.Arn,\n\t\t\tPolicy: pulumi.String(example.ApplyT(func(example iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026example.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.msk.Cluster;\nimport com.pulumi.aws.msk.ClusterArgs;\nimport com.pulumi.aws.msk.inputs.ClusterClientAuthenticationArgs;\nimport com.pulumi.aws.msk.inputs.ClusterClientAuthenticationSaslArgs;\nimport com.pulumi.aws.kms.Key;\nimport com.pulumi.aws.kms.KeyArgs;\nimport com.pulumi.aws.secretsmanager.Secret;\nimport com.pulumi.aws.secretsmanager.SecretArgs;\nimport com.pulumi.aws.secretsmanager.SecretVersion;\nimport com.pulumi.aws.secretsmanager.SecretVersionArgs;\nimport com.pulumi.aws.msk.ScramSecretAssociation;\nimport com.pulumi.aws.msk.ScramSecretAssociationArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.secretsmanager.SecretPolicy;\nimport com.pulumi.aws.secretsmanager.SecretPolicyArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleCluster = new Cluster(\"exampleCluster\", ClusterArgs.builder()\n .clusterName(\"example\")\n .clientAuthentication(ClusterClientAuthenticationArgs.builder()\n .sasl(ClusterClientAuthenticationSaslArgs.builder()\n .scram(true)\n .build())\n .build())\n .build());\n\n var exampleKey = new Key(\"exampleKey\", KeyArgs.builder()\n .description(\"Example Key for MSK Cluster Scram Secret Association\")\n .build());\n\n var exampleSecret = new Secret(\"exampleSecret\", SecretArgs.builder()\n .name(\"AmazonMSK_example\")\n .kmsKeyId(exampleKey.keyId())\n .build());\n\n var exampleSecretVersion = new SecretVersion(\"exampleSecretVersion\", SecretVersionArgs.builder()\n .secretId(exampleSecret.id())\n .secretString(serializeJson(\n jsonObject(\n jsonProperty(\"username\", \"user\"),\n jsonProperty(\"password\", \"pass\")\n )))\n .build());\n\n var exampleScramSecretAssociation = new ScramSecretAssociation(\"exampleScramSecretAssociation\", ScramSecretAssociationArgs.builder()\n .clusterArn(exampleCluster.arn())\n .secretArnLists(exampleSecret.arn())\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleSecretVersion)\n .build());\n\n final var example = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .sid(\"AWSKafkaResourcePolicy\")\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"kafka.amazonaws.com\")\n .build())\n .actions(\"secretsmanager:getSecretValue\")\n .resources(exampleSecret.arn())\n .build())\n .build());\n\n var exampleSecretPolicy = new SecretPolicy(\"exampleSecretPolicy\", SecretPolicyArgs.builder()\n .secretArn(exampleSecret.arn())\n .policy(example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(example -\u003e example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleScramSecretAssociation:\n type: aws:msk:ScramSecretAssociation\n name: example\n properties:\n clusterArn: ${exampleCluster.arn}\n secretArnLists:\n - ${exampleSecret.arn}\n options:\n dependsOn:\n - ${exampleSecretVersion}\n exampleCluster:\n type: aws:msk:Cluster\n name: example\n properties:\n clusterName: example\n clientAuthentication:\n sasl:\n scram: true\n exampleSecret:\n type: aws:secretsmanager:Secret\n name: example\n properties:\n name: AmazonMSK_example\n kmsKeyId: ${exampleKey.keyId}\n exampleKey:\n type: aws:kms:Key\n name: example\n properties:\n description: Example Key for MSK Cluster Scram Secret Association\n exampleSecretVersion:\n type: aws:secretsmanager:SecretVersion\n name: example\n properties:\n secretId: ${exampleSecret.id}\n secretString:\n fn::toJSON:\n username: user\n password: pass\n exampleSecretPolicy:\n type: aws:secretsmanager:SecretPolicy\n name: example\n properties:\n secretArn: ${exampleSecret.arn}\n policy: ${example.json}\nvariables:\n example:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - sid: AWSKafkaResourcePolicy\n effect: Allow\n principals:\n - type: Service\n identifiers:\n - kafka.amazonaws.com\n actions:\n - secretsmanager:getSecretValue\n resources:\n - ${exampleSecret.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import MSK SCRAM Secret Associations using the `id`. For example:\n\n```sh\n$ pulumi import aws:msk/scramSecretAssociation:ScramSecretAssociation example arn:aws:kafka:us-west-2:123456789012:cluster/example/279c0212-d057-4dba-9aa9-1c4e5a25bfc7-3\n```\n", + "description": "Associates SCRAM secrets stored in the Secrets Manager service with a Managed Streaming for Kafka (MSK) cluster.\n\n!\u003e This resource takes exclusive ownership over SCRAM secrets associated with a cluster. This includes removal of SCRAM secrets which are not explicitly configured. To prevent persistent drift, ensure any `aws.msk.SingleScramSecretAssociation` resources managed alongside this resource are included in the `secret_arn_list` argument.\n\n\u003e **Note:** The following assumes the MSK cluster has SASL/SCRAM authentication enabled. See below for example usage or refer to the [Username/Password Authentication](https://docs.aws.amazon.com/msk/latest/developerguide/msk-password.html) section of the MSK Developer Guide for more details.\n\nTo set up username and password authentication for a cluster, create an `aws.secretsmanager.Secret` resource and associate\na username and password with the secret with an `aws.secretsmanager.SecretVersion` resource. When creating a secret for the cluster,\nthe `name` must have the prefix `AmazonMSK_` and you must either use an existing custom AWS KMS key or create a new\ncustom AWS KMS key for your secret with the `aws.kms.Key` resource. It is important to note that a policy is required for the `aws.secretsmanager.Secret`\nresource in order for Kafka to be able to read it. This policy is attached automatically when the `aws.msk.ScramSecretAssociation` is used,\nhowever, this policy will not be in the state and as such, will present a diff on plan/apply. For that reason, you must use the `aws.secretsmanager.SecretPolicy`\nresource](/docs/providers/aws/r/secretsmanager_secret_policy.html) as shown below in order to ensure that the state is in a clean state after the creation of secret and the association to the cluster.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleCluster = new aws.msk.Cluster(\"example\", {\n clusterName: \"example\",\n clientAuthentication: {\n sasl: {\n scram: true,\n },\n },\n});\nconst exampleKey = new aws.kms.Key(\"example\", {description: \"Example Key for MSK Cluster Scram Secret Association\"});\nconst exampleSecret = new aws.secretsmanager.Secret(\"example\", {\n name: \"AmazonMSK_example\",\n kmsKeyId: exampleKey.keyId,\n});\nconst exampleSecretVersion = new aws.secretsmanager.SecretVersion(\"example\", {\n secretId: exampleSecret.id,\n secretString: JSON.stringify({\n username: \"user\",\n password: \"pass\",\n }),\n});\nconst exampleScramSecretAssociation = new aws.msk.ScramSecretAssociation(\"example\", {\n clusterArn: exampleCluster.arn,\n secretArnLists: [exampleSecret.arn],\n}, {\n dependsOn: [exampleSecretVersion],\n});\nconst example = aws.iam.getPolicyDocumentOutput({\n statements: [{\n sid: \"AWSKafkaResourcePolicy\",\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"kafka.amazonaws.com\"],\n }],\n actions: [\"secretsmanager:getSecretValue\"],\n resources: [exampleSecret.arn],\n }],\n});\nconst exampleSecretPolicy = new aws.secretsmanager.SecretPolicy(\"example\", {\n secretArn: exampleSecret.arn,\n policy: example.apply(example =\u003e example.json),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample_cluster = aws.msk.Cluster(\"example\",\n cluster_name=\"example\",\n client_authentication={\n \"sasl\": {\n \"scram\": True,\n },\n })\nexample_key = aws.kms.Key(\"example\", description=\"Example Key for MSK Cluster Scram Secret Association\")\nexample_secret = aws.secretsmanager.Secret(\"example\",\n name=\"AmazonMSK_example\",\n kms_key_id=example_key.key_id)\nexample_secret_version = aws.secretsmanager.SecretVersion(\"example\",\n secret_id=example_secret.id,\n secret_string=json.dumps({\n \"username\": \"user\",\n \"password\": \"pass\",\n }))\nexample_scram_secret_association = aws.msk.ScramSecretAssociation(\"example\",\n cluster_arn=example_cluster.arn,\n secret_arn_lists=[example_secret.arn],\n opts = pulumi.ResourceOptions(depends_on=[example_secret_version]))\nexample = aws.iam.get_policy_document_output(statements=[{\n \"sid\": \"AWSKafkaResourcePolicy\",\n \"effect\": \"Allow\",\n \"principals\": [{\n \"type\": \"Service\",\n \"identifiers\": [\"kafka.amazonaws.com\"],\n }],\n \"actions\": [\"secretsmanager:getSecretValue\"],\n \"resources\": [example_secret.arn],\n}])\nexample_secret_policy = aws.secretsmanager.SecretPolicy(\"example\",\n secret_arn=example_secret.arn,\n policy=example.json)\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 exampleCluster = new Aws.Msk.Cluster(\"example\", new()\n {\n ClusterName = \"example\",\n ClientAuthentication = new Aws.Msk.Inputs.ClusterClientAuthenticationArgs\n {\n Sasl = new Aws.Msk.Inputs.ClusterClientAuthenticationSaslArgs\n {\n Scram = true,\n },\n },\n });\n\n var exampleKey = new Aws.Kms.Key(\"example\", new()\n {\n Description = \"Example Key for MSK Cluster Scram Secret Association\",\n });\n\n var exampleSecret = new Aws.SecretsManager.Secret(\"example\", new()\n {\n Name = \"AmazonMSK_example\",\n KmsKeyId = exampleKey.KeyId,\n });\n\n var exampleSecretVersion = new Aws.SecretsManager.SecretVersion(\"example\", new()\n {\n SecretId = exampleSecret.Id,\n SecretString = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"username\"] = \"user\",\n [\"password\"] = \"pass\",\n }),\n });\n\n var exampleScramSecretAssociation = new Aws.Msk.ScramSecretAssociation(\"example\", new()\n {\n ClusterArn = exampleCluster.Arn,\n SecretArnLists = new[]\n {\n exampleSecret.Arn,\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n exampleSecretVersion,\n },\n });\n\n var example = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Sid = \"AWSKafkaResourcePolicy\",\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"kafka.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"secretsmanager:getSecretValue\",\n },\n Resources = new[]\n {\n exampleSecret.Arn,\n },\n },\n },\n });\n\n var exampleSecretPolicy = new Aws.SecretsManager.SecretPolicy(\"example\", new()\n {\n SecretArn = exampleSecret.Arn,\n Policy = example.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\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/kms\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/msk\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/secretsmanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleCluster, err := msk.NewCluster(ctx, \"example\", \u0026msk.ClusterArgs{\n\t\t\tClusterName: pulumi.String(\"example\"),\n\t\t\tClientAuthentication: \u0026msk.ClusterClientAuthenticationArgs{\n\t\t\t\tSasl: \u0026msk.ClusterClientAuthenticationSaslArgs{\n\t\t\t\t\tScram: pulumi.Bool(true),\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\texampleKey, err := kms.NewKey(ctx, \"example\", \u0026kms.KeyArgs{\n\t\t\tDescription: pulumi.String(\"Example Key for MSK Cluster Scram Secret Association\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSecret, err := secretsmanager.NewSecret(ctx, \"example\", \u0026secretsmanager.SecretArgs{\n\t\t\tName: pulumi.String(\"AmazonMSK_example\"),\n\t\t\tKmsKeyId: exampleKey.KeyId,\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\"username\": \"user\",\n\t\t\t\"password\": \"pass\",\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\texampleSecretVersion, err := secretsmanager.NewSecretVersion(ctx, \"example\", \u0026secretsmanager.SecretVersionArgs{\n\t\t\tSecretId: exampleSecret.ID(),\n\t\t\tSecretString: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = msk.NewScramSecretAssociation(ctx, \"example\", \u0026msk.ScramSecretAssociationArgs{\n\t\t\tClusterArn: exampleCluster.Arn,\n\t\t\tSecretArnLists: pulumi.StringArray{\n\t\t\t\texampleSecret.Arn,\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleSecretVersion,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tSid: pulumi.String(\"AWSKafkaResourcePolicy\"),\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tPrincipals: iam.GetPolicyDocumentStatementPrincipalArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementPrincipalArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"Service\"),\n\t\t\t\t\t\t\tIdentifiers: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"kafka.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: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"secretsmanager:getSecretValue\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\texampleSecret.Arn,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\t_, err = secretsmanager.NewSecretPolicy(ctx, \"example\", \u0026secretsmanager.SecretPolicyArgs{\n\t\t\tSecretArn: exampleSecret.Arn,\n\t\t\tPolicy: pulumi.String(example.ApplyT(func(example iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026example.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.msk.Cluster;\nimport com.pulumi.aws.msk.ClusterArgs;\nimport com.pulumi.aws.msk.inputs.ClusterClientAuthenticationArgs;\nimport com.pulumi.aws.msk.inputs.ClusterClientAuthenticationSaslArgs;\nimport com.pulumi.aws.kms.Key;\nimport com.pulumi.aws.kms.KeyArgs;\nimport com.pulumi.aws.secretsmanager.Secret;\nimport com.pulumi.aws.secretsmanager.SecretArgs;\nimport com.pulumi.aws.secretsmanager.SecretVersion;\nimport com.pulumi.aws.secretsmanager.SecretVersionArgs;\nimport com.pulumi.aws.msk.ScramSecretAssociation;\nimport com.pulumi.aws.msk.ScramSecretAssociationArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.secretsmanager.SecretPolicy;\nimport com.pulumi.aws.secretsmanager.SecretPolicyArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleCluster = new Cluster(\"exampleCluster\", ClusterArgs.builder()\n .clusterName(\"example\")\n .clientAuthentication(ClusterClientAuthenticationArgs.builder()\n .sasl(ClusterClientAuthenticationSaslArgs.builder()\n .scram(true)\n .build())\n .build())\n .build());\n\n var exampleKey = new Key(\"exampleKey\", KeyArgs.builder()\n .description(\"Example Key for MSK Cluster Scram Secret Association\")\n .build());\n\n var exampleSecret = new Secret(\"exampleSecret\", SecretArgs.builder()\n .name(\"AmazonMSK_example\")\n .kmsKeyId(exampleKey.keyId())\n .build());\n\n var exampleSecretVersion = new SecretVersion(\"exampleSecretVersion\", SecretVersionArgs.builder()\n .secretId(exampleSecret.id())\n .secretString(serializeJson(\n jsonObject(\n jsonProperty(\"username\", \"user\"),\n jsonProperty(\"password\", \"pass\")\n )))\n .build());\n\n var exampleScramSecretAssociation = new ScramSecretAssociation(\"exampleScramSecretAssociation\", ScramSecretAssociationArgs.builder()\n .clusterArn(exampleCluster.arn())\n .secretArnLists(exampleSecret.arn())\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleSecretVersion)\n .build());\n\n final var example = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .sid(\"AWSKafkaResourcePolicy\")\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"kafka.amazonaws.com\")\n .build())\n .actions(\"secretsmanager:getSecretValue\")\n .resources(exampleSecret.arn())\n .build())\n .build());\n\n var exampleSecretPolicy = new SecretPolicy(\"exampleSecretPolicy\", SecretPolicyArgs.builder()\n .secretArn(exampleSecret.arn())\n .policy(example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(example -\u003e example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleScramSecretAssociation:\n type: aws:msk:ScramSecretAssociation\n name: example\n properties:\n clusterArn: ${exampleCluster.arn}\n secretArnLists:\n - ${exampleSecret.arn}\n options:\n dependsOn:\n - ${exampleSecretVersion}\n exampleCluster:\n type: aws:msk:Cluster\n name: example\n properties:\n clusterName: example\n clientAuthentication:\n sasl:\n scram: true\n exampleSecret:\n type: aws:secretsmanager:Secret\n name: example\n properties:\n name: AmazonMSK_example\n kmsKeyId: ${exampleKey.keyId}\n exampleKey:\n type: aws:kms:Key\n name: example\n properties:\n description: Example Key for MSK Cluster Scram Secret Association\n exampleSecretVersion:\n type: aws:secretsmanager:SecretVersion\n name: example\n properties:\n secretId: ${exampleSecret.id}\n secretString:\n fn::toJSON:\n username: user\n password: pass\n exampleSecretPolicy:\n type: aws:secretsmanager:SecretPolicy\n name: example\n properties:\n secretArn: ${exampleSecret.arn}\n policy: ${example.json}\nvariables:\n example:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - sid: AWSKafkaResourcePolicy\n effect: Allow\n principals:\n - type: Service\n identifiers:\n - kafka.amazonaws.com\n actions:\n - secretsmanager:getSecretValue\n resources:\n - ${exampleSecret.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import MSK SCRAM Secret Associations using the `id`. For example:\n\n```sh\n$ pulumi import aws:msk/scramSecretAssociation:ScramSecretAssociation example arn:aws:kafka:us-west-2:123456789012:cluster/example/279c0212-d057-4dba-9aa9-1c4e5a25bfc7-3\n```\n", "properties": { "clusterArn": { "type": "string", @@ -308072,6 +308664,51 @@ "type": "object" } }, + "aws:msk/singleScramSecretAssociation:SingleScramSecretAssociation": { + "description": "Associates a single SCRAM secret with a Managed Streaming for Kafka (MSK) cluster.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.msk.SingleScramSecretAssociation(\"example\", {\n clusterArn: exampleAwsMskCluster.arn,\n secretArn: exampleAwsSecretsmanagerSecret.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.msk.SingleScramSecretAssociation(\"example\",\n cluster_arn=example_aws_msk_cluster[\"arn\"],\n secret_arn=example_aws_secretsmanager_secret[\"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.Msk.SingleScramSecretAssociation(\"example\", new()\n {\n ClusterArn = exampleAwsMskCluster.Arn,\n SecretArn = exampleAwsSecretsmanagerSecret.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/msk\"\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 := msk.NewSingleScramSecretAssociation(ctx, \"example\", \u0026msk.SingleScramSecretAssociationArgs{\n\t\t\tClusterArn: pulumi.Any(exampleAwsMskCluster.Arn),\n\t\t\tSecretArn: pulumi.Any(exampleAwsSecretsmanagerSecret.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.msk.SingleScramSecretAssociation;\nimport com.pulumi.aws.msk.SingleScramSecretAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 SingleScramSecretAssociation(\"example\", SingleScramSecretAssociationArgs.builder()\n .clusterArn(exampleAwsMskCluster.arn())\n .secretArn(exampleAwsSecretsmanagerSecret.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:msk:SingleScramSecretAssociation\n properties:\n clusterArn: ${exampleAwsMskCluster.arn}\n secretArn: ${exampleAwsSecretsmanagerSecret.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import an MSK SCRAM Secret Association using the `cluster_arn` and `secret_arn`. For example:\n\n```sh\n$ pulumi import aws:msk/singleScramSecretAssociation:SingleScramSecretAssociation example arn:aws:kafka:us-west-2:123456789012:cluster/example/279c0212-d057-4dba-9aa9-1c4e5a25bfc7-3,arn:aws:secretsmanager:us-east-1:123456789012:secret:example-123456\n```\n", + "properties": { + "clusterArn": { + "type": "string", + "description": "Amazon Resource Name (ARN) of the MSK cluster.\n" + }, + "secretArn": { + "type": "string", + "description": "AWS Secrets Manager secret ARN.\n" + } + }, + "required": [ + "clusterArn", + "secretArn" + ], + "inputProperties": { + "clusterArn": { + "type": "string", + "description": "Amazon Resource Name (ARN) of the MSK cluster.\n" + }, + "secretArn": { + "type": "string", + "description": "AWS Secrets Manager secret ARN.\n" + } + }, + "requiredInputs": [ + "clusterArn", + "secretArn" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering SingleScramSecretAssociation resources.\n", + "properties": { + "clusterArn": { + "type": "string", + "description": "Amazon Resource Name (ARN) of the MSK cluster.\n" + }, + "secretArn": { + "type": "string", + "description": "AWS Secrets Manager secret ARN.\n" + } + }, + "type": "object" + } + }, "aws:msk/vpcConnection:VpcConnection": { "description": "Resource for managing an AWS Managed Streaming for Kafka VPC Connection.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.msk.VpcConnection(\"test\", {\n authentication: \"SASL_IAM\",\n targetClusterArn: \"aws_msk_cluster.arn\",\n vpcId: testAwsVpc.id,\n clientSubnets: testAwsSubnet.map(__item =\u003e __item.id),\n securityGroups: [testAwsSecurityGroup.id],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.msk.VpcConnection(\"test\",\n authentication=\"SASL_IAM\",\n target_cluster_arn=\"aws_msk_cluster.arn\",\n vpc_id=test_aws_vpc[\"id\"],\n client_subnets=[__item[\"id\"] for __item in test_aws_subnet],\n security_groups=[test_aws_security_group[\"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 test = new Aws.Msk.VpcConnection(\"test\", new()\n {\n Authentication = \"SASL_IAM\",\n TargetClusterArn = \"aws_msk_cluster.arn\",\n VpcId = testAwsVpc.Id,\n ClientSubnets = testAwsSubnet.Select(__item =\u003e __item.Id).ToList(),\n SecurityGroups = new[]\n {\n testAwsSecurityGroup.Id,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/msk\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\nvar splat0 []interface{}\nfor _, val0 := range testAwsSubnet {\nsplat0 = append(splat0, val0.Id)\n}\n_, err := msk.NewVpcConnection(ctx, \"test\", \u0026msk.VpcConnectionArgs{\nAuthentication: pulumi.String(\"SASL_IAM\"),\nTargetClusterArn: pulumi.String(\"aws_msk_cluster.arn\"),\nVpcId: pulumi.Any(testAwsVpc.Id),\nClientSubnets: toPulumiArray(splat0),\nSecurityGroups: pulumi.StringArray{\ntestAwsSecurityGroup.Id,\n},\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\nfunc toPulumiArray(arr []) pulumi.Array {\nvar pulumiArr pulumi.Array\nfor _, v := range arr {\npulumiArr = append(pulumiArr, pulumi.(v))\n}\nreturn pulumiArr\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.msk.VpcConnection;\nimport com.pulumi.aws.msk.VpcConnectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 VpcConnection(\"test\", VpcConnectionArgs.builder()\n .authentication(\"SASL_IAM\")\n .targetClusterArn(\"aws_msk_cluster.arn\")\n .vpcId(testAwsVpc.id())\n .clientSubnets(testAwsSubnet.stream().map(element -\u003e element.id()).collect(toList()))\n .securityGroups(testAwsSecurityGroup.id())\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import MSK configurations using the configuration ARN. For example:\n\n```sh\n$ pulumi import aws:msk/vpcConnection:VpcConnection example arn:aws:kafka:eu-west-2:123456789012:vpc-connection/123456789012/example/38173259-79cd-4ee8-87f3-682ea6023f48-2\n```\n", "properties": { @@ -311555,7 +312192,7 @@ } }, "aws:networkfirewall/loggingConfiguration:LoggingConfiguration": { - "description": "Provides an AWS Network Firewall Logging Configuration Resource\n\n## Example Usage\n\n### Logging to S3\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.networkfirewall.LoggingConfiguration(\"example\", {\n firewallArn: exampleAwsNetworkfirewallFirewall.arn,\n loggingConfiguration: {\n logDestinationConfigs: [{\n logDestination: {\n bucketName: exampleAwsS3Bucket.bucket,\n prefix: \"/example\",\n },\n logDestinationType: \"S3\",\n logType: \"FLOW\",\n }],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.networkfirewall.LoggingConfiguration(\"example\",\n firewall_arn=example_aws_networkfirewall_firewall[\"arn\"],\n logging_configuration={\n \"log_destination_configs\": [{\n \"log_destination\": {\n \"bucketName\": example_aws_s3_bucket[\"bucket\"],\n \"prefix\": \"/example\",\n },\n \"log_destination_type\": \"S3\",\n \"log_type\": \"FLOW\",\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.NetworkFirewall.LoggingConfiguration(\"example\", new()\n {\n FirewallArn = exampleAwsNetworkfirewallFirewall.Arn,\n LoggingConfig = new Aws.NetworkFirewall.Inputs.LoggingConfigurationLoggingConfigurationArgs\n {\n LogDestinationConfigs = new[]\n {\n new Aws.NetworkFirewall.Inputs.LoggingConfigurationLoggingConfigurationLogDestinationConfigArgs\n {\n LogDestination = \n {\n { \"bucketName\", exampleAwsS3Bucket.Bucket },\n { \"prefix\", \"/example\" },\n },\n LogDestinationType = \"S3\",\n LogType = \"FLOW\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkfirewall\"\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 := networkfirewall.NewLoggingConfiguration(ctx, \"example\", \u0026networkfirewall.LoggingConfigurationArgs{\n\t\t\tFirewallArn: pulumi.Any(exampleAwsNetworkfirewallFirewall.Arn),\n\t\t\tLoggingConfiguration: \u0026networkfirewall.LoggingConfigurationLoggingConfigurationArgs{\n\t\t\t\tLogDestinationConfigs: networkfirewall.LoggingConfigurationLoggingConfigurationLogDestinationConfigArray{\n\t\t\t\t\t\u0026networkfirewall.LoggingConfigurationLoggingConfigurationLogDestinationConfigArgs{\n\t\t\t\t\t\tLogDestination: pulumi.StringMap{\n\t\t\t\t\t\t\t\"bucketName\": pulumi.Any(exampleAwsS3Bucket.Bucket),\n\t\t\t\t\t\t\t\"prefix\": pulumi.String(\"/example\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tLogDestinationType: pulumi.String(\"S3\"),\n\t\t\t\t\t\tLogType: pulumi.String(\"FLOW\"),\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.networkfirewall.LoggingConfiguration;\nimport com.pulumi.aws.networkfirewall.LoggingConfigurationArgs;\nimport com.pulumi.aws.networkfirewall.inputs.LoggingConfigurationLoggingConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 LoggingConfiguration(\"example\", LoggingConfigurationArgs.builder()\n .firewallArn(exampleAwsNetworkfirewallFirewall.arn())\n .loggingConfiguration(LoggingConfigurationLoggingConfigurationArgs.builder()\n .logDestinationConfigs(LoggingConfigurationLoggingConfigurationLogDestinationConfigArgs.builder()\n .logDestination(Map.ofEntries(\n Map.entry(\"bucketName\", exampleAwsS3Bucket.bucket()),\n Map.entry(\"prefix\", \"/example\")\n ))\n .logDestinationType(\"S3\")\n .logType(\"FLOW\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:networkfirewall:LoggingConfiguration\n properties:\n firewallArn: ${exampleAwsNetworkfirewallFirewall.arn}\n loggingConfiguration:\n logDestinationConfigs:\n - logDestination:\n bucketName: ${exampleAwsS3Bucket.bucket}\n prefix: /example\n logDestinationType: S3\n logType: FLOW\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Logging to CloudWatch\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.networkfirewall.LoggingConfiguration(\"example\", {\n firewallArn: exampleAwsNetworkfirewallFirewall.arn,\n loggingConfiguration: {\n logDestinationConfigs: [{\n logDestination: {\n logGroup: exampleAwsCloudwatchLogGroup.name,\n },\n logDestinationType: \"CloudWatchLogs\",\n logType: \"ALERT\",\n }],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.networkfirewall.LoggingConfiguration(\"example\",\n firewall_arn=example_aws_networkfirewall_firewall[\"arn\"],\n logging_configuration={\n \"log_destination_configs\": [{\n \"log_destination\": {\n \"logGroup\": example_aws_cloudwatch_log_group[\"name\"],\n },\n \"log_destination_type\": \"CloudWatchLogs\",\n \"log_type\": \"ALERT\",\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.NetworkFirewall.LoggingConfiguration(\"example\", new()\n {\n FirewallArn = exampleAwsNetworkfirewallFirewall.Arn,\n LoggingConfig = new Aws.NetworkFirewall.Inputs.LoggingConfigurationLoggingConfigurationArgs\n {\n LogDestinationConfigs = new[]\n {\n new Aws.NetworkFirewall.Inputs.LoggingConfigurationLoggingConfigurationLogDestinationConfigArgs\n {\n LogDestination = \n {\n { \"logGroup\", exampleAwsCloudwatchLogGroup.Name },\n },\n LogDestinationType = \"CloudWatchLogs\",\n LogType = \"ALERT\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkfirewall\"\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 := networkfirewall.NewLoggingConfiguration(ctx, \"example\", \u0026networkfirewall.LoggingConfigurationArgs{\n\t\t\tFirewallArn: pulumi.Any(exampleAwsNetworkfirewallFirewall.Arn),\n\t\t\tLoggingConfiguration: \u0026networkfirewall.LoggingConfigurationLoggingConfigurationArgs{\n\t\t\t\tLogDestinationConfigs: networkfirewall.LoggingConfigurationLoggingConfigurationLogDestinationConfigArray{\n\t\t\t\t\t\u0026networkfirewall.LoggingConfigurationLoggingConfigurationLogDestinationConfigArgs{\n\t\t\t\t\t\tLogDestination: pulumi.StringMap{\n\t\t\t\t\t\t\t\"logGroup\": pulumi.Any(exampleAwsCloudwatchLogGroup.Name),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tLogDestinationType: pulumi.String(\"CloudWatchLogs\"),\n\t\t\t\t\t\tLogType: pulumi.String(\"ALERT\"),\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.networkfirewall.LoggingConfiguration;\nimport com.pulumi.aws.networkfirewall.LoggingConfigurationArgs;\nimport com.pulumi.aws.networkfirewall.inputs.LoggingConfigurationLoggingConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 LoggingConfiguration(\"example\", LoggingConfigurationArgs.builder()\n .firewallArn(exampleAwsNetworkfirewallFirewall.arn())\n .loggingConfiguration(LoggingConfigurationLoggingConfigurationArgs.builder()\n .logDestinationConfigs(LoggingConfigurationLoggingConfigurationLogDestinationConfigArgs.builder()\n .logDestination(Map.of(\"logGroup\", exampleAwsCloudwatchLogGroup.name()))\n .logDestinationType(\"CloudWatchLogs\")\n .logType(\"ALERT\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:networkfirewall:LoggingConfiguration\n properties:\n firewallArn: ${exampleAwsNetworkfirewallFirewall.arn}\n loggingConfiguration:\n logDestinationConfigs:\n - logDestination:\n logGroup: ${exampleAwsCloudwatchLogGroup.name}\n logDestinationType: CloudWatchLogs\n logType: ALERT\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Logging to Kinesis Data Firehose\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.networkfirewall.LoggingConfiguration(\"example\", {\n firewallArn: exampleAwsNetworkfirewallFirewall.arn,\n loggingConfiguration: {\n logDestinationConfigs: [{\n logDestination: {\n deliveryStream: exampleAwsKinesisFirehoseDeliveryStream.name,\n },\n logDestinationType: \"KinesisDataFirehose\",\n logType: \"TLS\",\n }],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.networkfirewall.LoggingConfiguration(\"example\",\n firewall_arn=example_aws_networkfirewall_firewall[\"arn\"],\n logging_configuration={\n \"log_destination_configs\": [{\n \"log_destination\": {\n \"deliveryStream\": example_aws_kinesis_firehose_delivery_stream[\"name\"],\n },\n \"log_destination_type\": \"KinesisDataFirehose\",\n \"log_type\": \"TLS\",\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.NetworkFirewall.LoggingConfiguration(\"example\", new()\n {\n FirewallArn = exampleAwsNetworkfirewallFirewall.Arn,\n LoggingConfig = new Aws.NetworkFirewall.Inputs.LoggingConfigurationLoggingConfigurationArgs\n {\n LogDestinationConfigs = new[]\n {\n new Aws.NetworkFirewall.Inputs.LoggingConfigurationLoggingConfigurationLogDestinationConfigArgs\n {\n LogDestination = \n {\n { \"deliveryStream\", exampleAwsKinesisFirehoseDeliveryStream.Name },\n },\n LogDestinationType = \"KinesisDataFirehose\",\n LogType = \"TLS\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkfirewall\"\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 := networkfirewall.NewLoggingConfiguration(ctx, \"example\", \u0026networkfirewall.LoggingConfigurationArgs{\n\t\t\tFirewallArn: pulumi.Any(exampleAwsNetworkfirewallFirewall.Arn),\n\t\t\tLoggingConfiguration: \u0026networkfirewall.LoggingConfigurationLoggingConfigurationArgs{\n\t\t\t\tLogDestinationConfigs: networkfirewall.LoggingConfigurationLoggingConfigurationLogDestinationConfigArray{\n\t\t\t\t\t\u0026networkfirewall.LoggingConfigurationLoggingConfigurationLogDestinationConfigArgs{\n\t\t\t\t\t\tLogDestination: pulumi.StringMap{\n\t\t\t\t\t\t\t\"deliveryStream\": pulumi.Any(exampleAwsKinesisFirehoseDeliveryStream.Name),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tLogDestinationType: pulumi.String(\"KinesisDataFirehose\"),\n\t\t\t\t\t\tLogType: pulumi.String(\"TLS\"),\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.networkfirewall.LoggingConfiguration;\nimport com.pulumi.aws.networkfirewall.LoggingConfigurationArgs;\nimport com.pulumi.aws.networkfirewall.inputs.LoggingConfigurationLoggingConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 LoggingConfiguration(\"example\", LoggingConfigurationArgs.builder()\n .firewallArn(exampleAwsNetworkfirewallFirewall.arn())\n .loggingConfiguration(LoggingConfigurationLoggingConfigurationArgs.builder()\n .logDestinationConfigs(LoggingConfigurationLoggingConfigurationLogDestinationConfigArgs.builder()\n .logDestination(Map.of(\"deliveryStream\", exampleAwsKinesisFirehoseDeliveryStream.name()))\n .logDestinationType(\"KinesisDataFirehose\")\n .logType(\"TLS\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:networkfirewall:LoggingConfiguration\n properties:\n firewallArn: ${exampleAwsNetworkfirewallFirewall.arn}\n loggingConfiguration:\n logDestinationConfigs:\n - logDestination:\n deliveryStream: ${exampleAwsKinesisFirehoseDeliveryStream.name}\n logDestinationType: KinesisDataFirehose\n logType: TLS\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Network Firewall Logging Configurations using the `firewall_arn`. For example:\n\n```sh\n$ pulumi import aws:networkfirewall/loggingConfiguration:LoggingConfiguration example arn:aws:network-firewall:us-west-1:123456789012:firewall/example\n```\n", + "description": "Provides an AWS Network Firewall Logging Configuration Resource\n\n## Example Usage\n\n### Logging to S3\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.networkfirewall.LoggingConfiguration(\"example\", {\n firewallArn: exampleAwsNetworkfirewallFirewall.arn,\n loggingConfiguration: {\n logDestinationConfigs: [{\n logDestination: {\n bucketName: exampleAwsS3Bucket.bucket,\n prefix: \"example\",\n },\n logDestinationType: \"S3\",\n logType: \"FLOW\",\n }],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.networkfirewall.LoggingConfiguration(\"example\",\n firewall_arn=example_aws_networkfirewall_firewall[\"arn\"],\n logging_configuration={\n \"log_destination_configs\": [{\n \"log_destination\": {\n \"bucketName\": example_aws_s3_bucket[\"bucket\"],\n \"prefix\": \"example\",\n },\n \"log_destination_type\": \"S3\",\n \"log_type\": \"FLOW\",\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.NetworkFirewall.LoggingConfiguration(\"example\", new()\n {\n FirewallArn = exampleAwsNetworkfirewallFirewall.Arn,\n LoggingConfig = new Aws.NetworkFirewall.Inputs.LoggingConfigurationLoggingConfigurationArgs\n {\n LogDestinationConfigs = new[]\n {\n new Aws.NetworkFirewall.Inputs.LoggingConfigurationLoggingConfigurationLogDestinationConfigArgs\n {\n LogDestination = \n {\n { \"bucketName\", exampleAwsS3Bucket.Bucket },\n { \"prefix\", \"example\" },\n },\n LogDestinationType = \"S3\",\n LogType = \"FLOW\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkfirewall\"\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 := networkfirewall.NewLoggingConfiguration(ctx, \"example\", \u0026networkfirewall.LoggingConfigurationArgs{\n\t\t\tFirewallArn: pulumi.Any(exampleAwsNetworkfirewallFirewall.Arn),\n\t\t\tLoggingConfiguration: \u0026networkfirewall.LoggingConfigurationLoggingConfigurationArgs{\n\t\t\t\tLogDestinationConfigs: networkfirewall.LoggingConfigurationLoggingConfigurationLogDestinationConfigArray{\n\t\t\t\t\t\u0026networkfirewall.LoggingConfigurationLoggingConfigurationLogDestinationConfigArgs{\n\t\t\t\t\t\tLogDestination: pulumi.StringMap{\n\t\t\t\t\t\t\t\"bucketName\": pulumi.Any(exampleAwsS3Bucket.Bucket),\n\t\t\t\t\t\t\t\"prefix\": pulumi.String(\"example\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tLogDestinationType: pulumi.String(\"S3\"),\n\t\t\t\t\t\tLogType: pulumi.String(\"FLOW\"),\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.networkfirewall.LoggingConfiguration;\nimport com.pulumi.aws.networkfirewall.LoggingConfigurationArgs;\nimport com.pulumi.aws.networkfirewall.inputs.LoggingConfigurationLoggingConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 LoggingConfiguration(\"example\", LoggingConfigurationArgs.builder()\n .firewallArn(exampleAwsNetworkfirewallFirewall.arn())\n .loggingConfiguration(LoggingConfigurationLoggingConfigurationArgs.builder()\n .logDestinationConfigs(LoggingConfigurationLoggingConfigurationLogDestinationConfigArgs.builder()\n .logDestination(Map.ofEntries(\n Map.entry(\"bucketName\", exampleAwsS3Bucket.bucket()),\n Map.entry(\"prefix\", \"example\")\n ))\n .logDestinationType(\"S3\")\n .logType(\"FLOW\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:networkfirewall:LoggingConfiguration\n properties:\n firewallArn: ${exampleAwsNetworkfirewallFirewall.arn}\n loggingConfiguration:\n logDestinationConfigs:\n - logDestination:\n bucketName: ${exampleAwsS3Bucket.bucket}\n prefix: example\n logDestinationType: S3\n logType: FLOW\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Logging to CloudWatch\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.networkfirewall.LoggingConfiguration(\"example\", {\n firewallArn: exampleAwsNetworkfirewallFirewall.arn,\n loggingConfiguration: {\n logDestinationConfigs: [{\n logDestination: {\n logGroup: exampleAwsCloudwatchLogGroup.name,\n },\n logDestinationType: \"CloudWatchLogs\",\n logType: \"ALERT\",\n }],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.networkfirewall.LoggingConfiguration(\"example\",\n firewall_arn=example_aws_networkfirewall_firewall[\"arn\"],\n logging_configuration={\n \"log_destination_configs\": [{\n \"log_destination\": {\n \"logGroup\": example_aws_cloudwatch_log_group[\"name\"],\n },\n \"log_destination_type\": \"CloudWatchLogs\",\n \"log_type\": \"ALERT\",\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.NetworkFirewall.LoggingConfiguration(\"example\", new()\n {\n FirewallArn = exampleAwsNetworkfirewallFirewall.Arn,\n LoggingConfig = new Aws.NetworkFirewall.Inputs.LoggingConfigurationLoggingConfigurationArgs\n {\n LogDestinationConfigs = new[]\n {\n new Aws.NetworkFirewall.Inputs.LoggingConfigurationLoggingConfigurationLogDestinationConfigArgs\n {\n LogDestination = \n {\n { \"logGroup\", exampleAwsCloudwatchLogGroup.Name },\n },\n LogDestinationType = \"CloudWatchLogs\",\n LogType = \"ALERT\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkfirewall\"\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 := networkfirewall.NewLoggingConfiguration(ctx, \"example\", \u0026networkfirewall.LoggingConfigurationArgs{\n\t\t\tFirewallArn: pulumi.Any(exampleAwsNetworkfirewallFirewall.Arn),\n\t\t\tLoggingConfiguration: \u0026networkfirewall.LoggingConfigurationLoggingConfigurationArgs{\n\t\t\t\tLogDestinationConfigs: networkfirewall.LoggingConfigurationLoggingConfigurationLogDestinationConfigArray{\n\t\t\t\t\t\u0026networkfirewall.LoggingConfigurationLoggingConfigurationLogDestinationConfigArgs{\n\t\t\t\t\t\tLogDestination: pulumi.StringMap{\n\t\t\t\t\t\t\t\"logGroup\": pulumi.Any(exampleAwsCloudwatchLogGroup.Name),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tLogDestinationType: pulumi.String(\"CloudWatchLogs\"),\n\t\t\t\t\t\tLogType: pulumi.String(\"ALERT\"),\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.networkfirewall.LoggingConfiguration;\nimport com.pulumi.aws.networkfirewall.LoggingConfigurationArgs;\nimport com.pulumi.aws.networkfirewall.inputs.LoggingConfigurationLoggingConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 LoggingConfiguration(\"example\", LoggingConfigurationArgs.builder()\n .firewallArn(exampleAwsNetworkfirewallFirewall.arn())\n .loggingConfiguration(LoggingConfigurationLoggingConfigurationArgs.builder()\n .logDestinationConfigs(LoggingConfigurationLoggingConfigurationLogDestinationConfigArgs.builder()\n .logDestination(Map.of(\"logGroup\", exampleAwsCloudwatchLogGroup.name()))\n .logDestinationType(\"CloudWatchLogs\")\n .logType(\"ALERT\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:networkfirewall:LoggingConfiguration\n properties:\n firewallArn: ${exampleAwsNetworkfirewallFirewall.arn}\n loggingConfiguration:\n logDestinationConfigs:\n - logDestination:\n logGroup: ${exampleAwsCloudwatchLogGroup.name}\n logDestinationType: CloudWatchLogs\n logType: ALERT\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Logging to Kinesis Data Firehose\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.networkfirewall.LoggingConfiguration(\"example\", {\n firewallArn: exampleAwsNetworkfirewallFirewall.arn,\n loggingConfiguration: {\n logDestinationConfigs: [{\n logDestination: {\n deliveryStream: exampleAwsKinesisFirehoseDeliveryStream.name,\n },\n logDestinationType: \"KinesisDataFirehose\",\n logType: \"TLS\",\n }],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.networkfirewall.LoggingConfiguration(\"example\",\n firewall_arn=example_aws_networkfirewall_firewall[\"arn\"],\n logging_configuration={\n \"log_destination_configs\": [{\n \"log_destination\": {\n \"deliveryStream\": example_aws_kinesis_firehose_delivery_stream[\"name\"],\n },\n \"log_destination_type\": \"KinesisDataFirehose\",\n \"log_type\": \"TLS\",\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.NetworkFirewall.LoggingConfiguration(\"example\", new()\n {\n FirewallArn = exampleAwsNetworkfirewallFirewall.Arn,\n LoggingConfig = new Aws.NetworkFirewall.Inputs.LoggingConfigurationLoggingConfigurationArgs\n {\n LogDestinationConfigs = new[]\n {\n new Aws.NetworkFirewall.Inputs.LoggingConfigurationLoggingConfigurationLogDestinationConfigArgs\n {\n LogDestination = \n {\n { \"deliveryStream\", exampleAwsKinesisFirehoseDeliveryStream.Name },\n },\n LogDestinationType = \"KinesisDataFirehose\",\n LogType = \"TLS\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkfirewall\"\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 := networkfirewall.NewLoggingConfiguration(ctx, \"example\", \u0026networkfirewall.LoggingConfigurationArgs{\n\t\t\tFirewallArn: pulumi.Any(exampleAwsNetworkfirewallFirewall.Arn),\n\t\t\tLoggingConfiguration: \u0026networkfirewall.LoggingConfigurationLoggingConfigurationArgs{\n\t\t\t\tLogDestinationConfigs: networkfirewall.LoggingConfigurationLoggingConfigurationLogDestinationConfigArray{\n\t\t\t\t\t\u0026networkfirewall.LoggingConfigurationLoggingConfigurationLogDestinationConfigArgs{\n\t\t\t\t\t\tLogDestination: pulumi.StringMap{\n\t\t\t\t\t\t\t\"deliveryStream\": pulumi.Any(exampleAwsKinesisFirehoseDeliveryStream.Name),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tLogDestinationType: pulumi.String(\"KinesisDataFirehose\"),\n\t\t\t\t\t\tLogType: pulumi.String(\"TLS\"),\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.networkfirewall.LoggingConfiguration;\nimport com.pulumi.aws.networkfirewall.LoggingConfigurationArgs;\nimport com.pulumi.aws.networkfirewall.inputs.LoggingConfigurationLoggingConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 LoggingConfiguration(\"example\", LoggingConfigurationArgs.builder()\n .firewallArn(exampleAwsNetworkfirewallFirewall.arn())\n .loggingConfiguration(LoggingConfigurationLoggingConfigurationArgs.builder()\n .logDestinationConfigs(LoggingConfigurationLoggingConfigurationLogDestinationConfigArgs.builder()\n .logDestination(Map.of(\"deliveryStream\", exampleAwsKinesisFirehoseDeliveryStream.name()))\n .logDestinationType(\"KinesisDataFirehose\")\n .logType(\"TLS\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:networkfirewall:LoggingConfiguration\n properties:\n firewallArn: ${exampleAwsNetworkfirewallFirewall.arn}\n loggingConfiguration:\n logDestinationConfigs:\n - logDestination:\n deliveryStream: ${exampleAwsKinesisFirehoseDeliveryStream.name}\n logDestinationType: KinesisDataFirehose\n logType: TLS\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Network Firewall Logging Configurations using the `firewall_arn`. For example:\n\n```sh\n$ pulumi import aws:networkfirewall/loggingConfiguration:LoggingConfiguration example arn:aws:network-firewall:us-west-1:123456789012:firewall/example\n```\n", "properties": { "firewallArn": { "type": "string", @@ -329385,7 +330022,7 @@ } }, "aws:rds/cluster:Cluster": { - "description": "Manages a [RDS Aurora Cluster](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_Aurora.html) or a [RDS Multi-AZ DB Cluster](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/multi-az-db-clusters-concepts.html). To manage cluster instances that inherit configuration from the cluster (when not running the cluster in `serverless` engine mode), see the `aws.rds.ClusterInstance` resource. To manage non-Aurora DB instances (e.g., MySQL, PostgreSQL, SQL Server, etc.), see the `aws.rds.Instance` resource.\n\nFor information on the difference between the available Aurora MySQL engines see [Comparison between Aurora MySQL 1 and Aurora MySQL 2](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AuroraMySQL.Updates.20180206.html) in the Amazon RDS User Guide.\n\nChanges to an RDS Cluster can occur when you manually change a parameter, such as `port`, and are reflected in the next maintenance window. Because of this, this provider may report a difference in its planning phase because a modification has not yet taken place. You can use the `apply_immediately` flag to instruct the service to apply the change immediately (see documentation below).\n\n\u003e **Note:** Multi-AZ DB clusters are supported only for the MySQL and PostgreSQL DB engines.\n\n\u003e **Note:** `ca_certificate_identifier` is only supported for Multi-AZ DB clusters.\n\n\u003e **Note:** using `apply_immediately` can result in a brief downtime as the server reboots. See the AWS Docs on [RDS Maintenance](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_UpgradeDBInstance.Maintenance.html) for more information.\n\n\u003e **Note:** All arguments including the username and password will be stored in the raw state as plain-text.\n\u003e **NOTE on RDS Clusters and RDS Cluster Role Associations:** Pulumi provides both a standalone RDS Cluster Role Association - (an association between an RDS Cluster and a single IAM Role) and an RDS Cluster resource with `iam_roles` attributes. Use one resource or the other to associate IAM Roles and RDS Clusters. Not doing so will cause a conflict of associations and will result in the association being overwritten.\n\n## Example Usage\n\n### Aurora MySQL 2.x (MySQL 5.7)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _default = new aws.rds.Cluster(\"default\", {\n clusterIdentifier: \"aurora-cluster-demo\",\n engine: aws.rds.EngineType.AuroraMysql,\n engineVersion: \"5.7.mysql_aurora.2.03.2\",\n availabilityZones: [\n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\",\n ],\n databaseName: \"mydb\",\n masterUsername: \"foo\",\n masterPassword: \"must_be_eight_characters\",\n backupRetentionPeriod: 5,\n preferredBackupWindow: \"07:00-09:00\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.rds.Cluster(\"default\",\n cluster_identifier=\"aurora-cluster-demo\",\n engine=aws.rds.EngineType.AURORA_MYSQL,\n engine_version=\"5.7.mysql_aurora.2.03.2\",\n availability_zones=[\n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\",\n ],\n database_name=\"mydb\",\n master_username=\"foo\",\n master_password=\"must_be_eight_characters\",\n backup_retention_period=5,\n preferred_backup_window=\"07:00-09:00\")\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.Cluster(\"default\", new()\n {\n ClusterIdentifier = \"aurora-cluster-demo\",\n Engine = Aws.Rds.EngineType.AuroraMysql,\n EngineVersion = \"5.7.mysql_aurora.2.03.2\",\n AvailabilityZones = new[]\n {\n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\",\n },\n DatabaseName = \"mydb\",\n MasterUsername = \"foo\",\n MasterPassword = \"must_be_eight_characters\",\n BackupRetentionPeriod = 5,\n PreferredBackupWindow = \"07:00-09:00\",\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.NewCluster(ctx, \"default\", \u0026rds.ClusterArgs{\n\t\t\tClusterIdentifier: pulumi.String(\"aurora-cluster-demo\"),\n\t\t\tEngine: pulumi.String(rds.EngineTypeAuroraMysql),\n\t\t\tEngineVersion: pulumi.String(\"5.7.mysql_aurora.2.03.2\"),\n\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"us-west-2a\"),\n\t\t\t\tpulumi.String(\"us-west-2b\"),\n\t\t\t\tpulumi.String(\"us-west-2c\"),\n\t\t\t},\n\t\t\tDatabaseName: pulumi.String(\"mydb\"),\n\t\t\tMasterUsername: pulumi.String(\"foo\"),\n\t\t\tMasterPassword: pulumi.String(\"must_be_eight_characters\"),\n\t\t\tBackupRetentionPeriod: pulumi.Int(5),\n\t\t\tPreferredBackupWindow: pulumi.String(\"07:00-09:00\"),\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.Cluster;\nimport com.pulumi.aws.rds.ClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 Cluster(\"default\", ClusterArgs.builder()\n .clusterIdentifier(\"aurora-cluster-demo\")\n .engine(\"aurora-mysql\")\n .engineVersion(\"5.7.mysql_aurora.2.03.2\")\n .availabilityZones( \n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\")\n .databaseName(\"mydb\")\n .masterUsername(\"foo\")\n .masterPassword(\"must_be_eight_characters\")\n .backupRetentionPeriod(5)\n .preferredBackupWindow(\"07:00-09:00\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: aws:rds:Cluster\n properties:\n clusterIdentifier: aurora-cluster-demo\n engine: aurora-mysql\n engineVersion: 5.7.mysql_aurora.2.03.2\n availabilityZones:\n - us-west-2a\n - us-west-2b\n - us-west-2c\n databaseName: mydb\n masterUsername: foo\n masterPassword: must_be_eight_characters\n backupRetentionPeriod: 5\n preferredBackupWindow: 07:00-09:00\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Aurora MySQL 1.x (MySQL 5.6)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _default = new aws.rds.Cluster(\"default\", {\n clusterIdentifier: \"aurora-cluster-demo\",\n availabilityZones: [\n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\",\n ],\n databaseName: \"mydb\",\n masterUsername: \"foo\",\n masterPassword: \"must_be_eight_characters\",\n backupRetentionPeriod: 5,\n preferredBackupWindow: \"07:00-09:00\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.rds.Cluster(\"default\",\n cluster_identifier=\"aurora-cluster-demo\",\n availability_zones=[\n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\",\n ],\n database_name=\"mydb\",\n master_username=\"foo\",\n master_password=\"must_be_eight_characters\",\n backup_retention_period=5,\n preferred_backup_window=\"07:00-09:00\")\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.Cluster(\"default\", new()\n {\n ClusterIdentifier = \"aurora-cluster-demo\",\n AvailabilityZones = new[]\n {\n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\",\n },\n DatabaseName = \"mydb\",\n MasterUsername = \"foo\",\n MasterPassword = \"must_be_eight_characters\",\n BackupRetentionPeriod = 5,\n PreferredBackupWindow = \"07:00-09:00\",\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.NewCluster(ctx, \"default\", \u0026rds.ClusterArgs{\n\t\t\tClusterIdentifier: pulumi.String(\"aurora-cluster-demo\"),\n\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"us-west-2a\"),\n\t\t\t\tpulumi.String(\"us-west-2b\"),\n\t\t\t\tpulumi.String(\"us-west-2c\"),\n\t\t\t},\n\t\t\tDatabaseName: pulumi.String(\"mydb\"),\n\t\t\tMasterUsername: pulumi.String(\"foo\"),\n\t\t\tMasterPassword: pulumi.String(\"must_be_eight_characters\"),\n\t\t\tBackupRetentionPeriod: pulumi.Int(5),\n\t\t\tPreferredBackupWindow: pulumi.String(\"07:00-09:00\"),\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.Cluster;\nimport com.pulumi.aws.rds.ClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 Cluster(\"default\", ClusterArgs.builder()\n .clusterIdentifier(\"aurora-cluster-demo\")\n .availabilityZones( \n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\")\n .databaseName(\"mydb\")\n .masterUsername(\"foo\")\n .masterPassword(\"must_be_eight_characters\")\n .backupRetentionPeriod(5)\n .preferredBackupWindow(\"07:00-09:00\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: aws:rds:Cluster\n properties:\n clusterIdentifier: aurora-cluster-demo\n availabilityZones:\n - us-west-2a\n - us-west-2b\n - us-west-2c\n databaseName: mydb\n masterUsername: foo\n masterPassword: must_be_eight_characters\n backupRetentionPeriod: 5\n preferredBackupWindow: 07:00-09:00\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Aurora with PostgreSQL engine\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst postgresql = new aws.rds.Cluster(\"postgresql\", {\n clusterIdentifier: \"aurora-cluster-demo\",\n engine: aws.rds.EngineType.AuroraPostgresql,\n availabilityZones: [\n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\",\n ],\n databaseName: \"mydb\",\n masterUsername: \"foo\",\n masterPassword: \"must_be_eight_characters\",\n backupRetentionPeriod: 5,\n preferredBackupWindow: \"07:00-09:00\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\npostgresql = aws.rds.Cluster(\"postgresql\",\n cluster_identifier=\"aurora-cluster-demo\",\n engine=aws.rds.EngineType.AURORA_POSTGRESQL,\n availability_zones=[\n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\",\n ],\n database_name=\"mydb\",\n master_username=\"foo\",\n master_password=\"must_be_eight_characters\",\n backup_retention_period=5,\n preferred_backup_window=\"07:00-09:00\")\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 postgresql = new Aws.Rds.Cluster(\"postgresql\", new()\n {\n ClusterIdentifier = \"aurora-cluster-demo\",\n Engine = Aws.Rds.EngineType.AuroraPostgresql,\n AvailabilityZones = new[]\n {\n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\",\n },\n DatabaseName = \"mydb\",\n MasterUsername = \"foo\",\n MasterPassword = \"must_be_eight_characters\",\n BackupRetentionPeriod = 5,\n PreferredBackupWindow = \"07:00-09:00\",\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.NewCluster(ctx, \"postgresql\", \u0026rds.ClusterArgs{\n\t\t\tClusterIdentifier: pulumi.String(\"aurora-cluster-demo\"),\n\t\t\tEngine: pulumi.String(rds.EngineTypeAuroraPostgresql),\n\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"us-west-2a\"),\n\t\t\t\tpulumi.String(\"us-west-2b\"),\n\t\t\t\tpulumi.String(\"us-west-2c\"),\n\t\t\t},\n\t\t\tDatabaseName: pulumi.String(\"mydb\"),\n\t\t\tMasterUsername: pulumi.String(\"foo\"),\n\t\t\tMasterPassword: pulumi.String(\"must_be_eight_characters\"),\n\t\t\tBackupRetentionPeriod: pulumi.Int(5),\n\t\t\tPreferredBackupWindow: pulumi.String(\"07:00-09:00\"),\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.Cluster;\nimport com.pulumi.aws.rds.ClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 postgresql = new Cluster(\"postgresql\", ClusterArgs.builder()\n .clusterIdentifier(\"aurora-cluster-demo\")\n .engine(\"aurora-postgresql\")\n .availabilityZones( \n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\")\n .databaseName(\"mydb\")\n .masterUsername(\"foo\")\n .masterPassword(\"must_be_eight_characters\")\n .backupRetentionPeriod(5)\n .preferredBackupWindow(\"07:00-09:00\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n postgresql:\n type: aws:rds:Cluster\n properties:\n clusterIdentifier: aurora-cluster-demo\n engine: aurora-postgresql\n availabilityZones:\n - us-west-2a\n - us-west-2b\n - us-west-2c\n databaseName: mydb\n masterUsername: foo\n masterPassword: must_be_eight_characters\n backupRetentionPeriod: 5\n preferredBackupWindow: 07:00-09:00\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### RDS Multi-AZ Cluster\n\n\u003e More information about RDS Multi-AZ Clusters can be found in the [RDS User Guide](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/multi-az-db-clusters-concepts.html).\n\nTo create a Multi-AZ RDS cluster, you must additionally specify the `engine`, `storage_type`, `allocated_storage`, `iops` and `db_cluster_instance_class` attributes.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.rds.Cluster(\"example\", {\n clusterIdentifier: \"example\",\n availabilityZones: [\n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\",\n ],\n engine: \"mysql\",\n dbClusterInstanceClass: \"db.r6gd.xlarge\",\n storageType: \"io1\",\n allocatedStorage: 100,\n iops: 1000,\n masterUsername: \"test\",\n masterPassword: \"mustbeeightcharaters\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.rds.Cluster(\"example\",\n cluster_identifier=\"example\",\n availability_zones=[\n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\",\n ],\n engine=\"mysql\",\n db_cluster_instance_class=\"db.r6gd.xlarge\",\n storage_type=\"io1\",\n allocated_storage=100,\n iops=1000,\n master_username=\"test\",\n master_password=\"mustbeeightcharaters\")\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.Cluster(\"example\", new()\n {\n ClusterIdentifier = \"example\",\n AvailabilityZones = new[]\n {\n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\",\n },\n Engine = \"mysql\",\n DbClusterInstanceClass = \"db.r6gd.xlarge\",\n StorageType = \"io1\",\n AllocatedStorage = 100,\n Iops = 1000,\n MasterUsername = \"test\",\n MasterPassword = \"mustbeeightcharaters\",\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.NewCluster(ctx, \"example\", \u0026rds.ClusterArgs{\n\t\t\tClusterIdentifier: pulumi.String(\"example\"),\n\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"us-west-2a\"),\n\t\t\t\tpulumi.String(\"us-west-2b\"),\n\t\t\t\tpulumi.String(\"us-west-2c\"),\n\t\t\t},\n\t\t\tEngine: pulumi.String(\"mysql\"),\n\t\t\tDbClusterInstanceClass: pulumi.String(\"db.r6gd.xlarge\"),\n\t\t\tStorageType: pulumi.String(\"io1\"),\n\t\t\tAllocatedStorage: pulumi.Int(100),\n\t\t\tIops: pulumi.Int(1000),\n\t\t\tMasterUsername: pulumi.String(\"test\"),\n\t\t\tMasterPassword: pulumi.String(\"mustbeeightcharaters\"),\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.Cluster;\nimport com.pulumi.aws.rds.ClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Cluster(\"example\", ClusterArgs.builder()\n .clusterIdentifier(\"example\")\n .availabilityZones( \n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\")\n .engine(\"mysql\")\n .dbClusterInstanceClass(\"db.r6gd.xlarge\")\n .storageType(\"io1\")\n .allocatedStorage(100)\n .iops(1000)\n .masterUsername(\"test\")\n .masterPassword(\"mustbeeightcharaters\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:rds:Cluster\n properties:\n clusterIdentifier: example\n availabilityZones:\n - us-west-2a\n - us-west-2b\n - us-west-2c\n engine: mysql\n dbClusterInstanceClass: db.r6gd.xlarge\n storageType: io1\n allocatedStorage: 100\n iops: 1000\n masterUsername: test\n masterPassword: mustbeeightcharaters\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### RDS Serverless v2 Cluster\n\n\u003e More information about RDS Serverless v2 Clusters can be found in the [RDS User Guide](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless-v2.html).\n\n\u003e **Note:** Unlike Serverless v1, in Serverless v2 the `storage_encrypted` value is set to `false` by default.\nThis is because Serverless v1 uses the `serverless` `engine_mode`, but Serverless v2 uses the `provisioned` `engine_mode`.\n\nTo create a Serverless v2 RDS cluster, you must additionally specify the `engine_mode` and `serverlessv2_scaling_configuration` attributes. An `aws.rds.ClusterInstance` resource must also be added to the cluster with the `instance_class` attribute specified.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.rds.Cluster(\"example\", {\n clusterIdentifier: \"example\",\n engine: aws.rds.EngineType.AuroraPostgresql,\n engineMode: aws.rds.EngineMode.Provisioned,\n engineVersion: \"13.6\",\n databaseName: \"test\",\n masterUsername: \"test\",\n masterPassword: \"must_be_eight_characters\",\n storageEncrypted: true,\n serverlessv2ScalingConfiguration: {\n maxCapacity: 1,\n minCapacity: 0.5,\n },\n});\nconst exampleClusterInstance = new aws.rds.ClusterInstance(\"example\", {\n clusterIdentifier: example.id,\n instanceClass: \"db.serverless\",\n engine: example.engine,\n engineVersion: example.engineVersion,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.rds.Cluster(\"example\",\n cluster_identifier=\"example\",\n engine=aws.rds.EngineType.AURORA_POSTGRESQL,\n engine_mode=aws.rds.EngineMode.PROVISIONED,\n engine_version=\"13.6\",\n database_name=\"test\",\n master_username=\"test\",\n master_password=\"must_be_eight_characters\",\n storage_encrypted=True,\n serverlessv2_scaling_configuration={\n \"max_capacity\": 1,\n \"min_capacity\": 0.5,\n })\nexample_cluster_instance = aws.rds.ClusterInstance(\"example\",\n cluster_identifier=example.id,\n instance_class=\"db.serverless\",\n engine=example.engine,\n engine_version=example.engine_version)\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.Cluster(\"example\", new()\n {\n ClusterIdentifier = \"example\",\n Engine = Aws.Rds.EngineType.AuroraPostgresql,\n EngineMode = Aws.Rds.EngineMode.Provisioned,\n EngineVersion = \"13.6\",\n DatabaseName = \"test\",\n MasterUsername = \"test\",\n MasterPassword = \"must_be_eight_characters\",\n StorageEncrypted = true,\n Serverlessv2ScalingConfiguration = new Aws.Rds.Inputs.ClusterServerlessv2ScalingConfigurationArgs\n {\n MaxCapacity = 1,\n MinCapacity = 0.5,\n },\n });\n\n var exampleClusterInstance = new Aws.Rds.ClusterInstance(\"example\", new()\n {\n ClusterIdentifier = example.Id,\n InstanceClass = \"db.serverless\",\n Engine = example.Engine,\n EngineVersion = example.EngineVersion,\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\texample, err := rds.NewCluster(ctx, \"example\", \u0026rds.ClusterArgs{\n\t\t\tClusterIdentifier: pulumi.String(\"example\"),\n\t\t\tEngine: pulumi.String(rds.EngineTypeAuroraPostgresql),\n\t\t\tEngineMode: pulumi.String(rds.EngineModeProvisioned),\n\t\t\tEngineVersion: pulumi.String(\"13.6\"),\n\t\t\tDatabaseName: pulumi.String(\"test\"),\n\t\t\tMasterUsername: pulumi.String(\"test\"),\n\t\t\tMasterPassword: pulumi.String(\"must_be_eight_characters\"),\n\t\t\tStorageEncrypted: pulumi.Bool(true),\n\t\t\tServerlessv2ScalingConfiguration: \u0026rds.ClusterServerlessv2ScalingConfigurationArgs{\n\t\t\t\tMaxCapacity: pulumi.Float64(1),\n\t\t\t\tMinCapacity: pulumi.Float64(0.5),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rds.NewClusterInstance(ctx, \"example\", \u0026rds.ClusterInstanceArgs{\n\t\t\tClusterIdentifier: example.ID(),\n\t\t\tInstanceClass: pulumi.String(\"db.serverless\"),\n\t\t\tEngine: example.Engine,\n\t\t\tEngineVersion: example.EngineVersion,\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.Cluster;\nimport com.pulumi.aws.rds.ClusterArgs;\nimport com.pulumi.aws.rds.inputs.ClusterServerlessv2ScalingConfigurationArgs;\nimport com.pulumi.aws.rds.ClusterInstance;\nimport com.pulumi.aws.rds.ClusterInstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Cluster(\"example\", ClusterArgs.builder()\n .clusterIdentifier(\"example\")\n .engine(\"aurora-postgresql\")\n .engineMode(\"provisioned\")\n .engineVersion(\"13.6\")\n .databaseName(\"test\")\n .masterUsername(\"test\")\n .masterPassword(\"must_be_eight_characters\")\n .storageEncrypted(true)\n .serverlessv2ScalingConfiguration(ClusterServerlessv2ScalingConfigurationArgs.builder()\n .maxCapacity(1)\n .minCapacity(0.5)\n .build())\n .build());\n\n var exampleClusterInstance = new ClusterInstance(\"exampleClusterInstance\", ClusterInstanceArgs.builder()\n .clusterIdentifier(example.id())\n .instanceClass(\"db.serverless\")\n .engine(example.engine())\n .engineVersion(example.engineVersion())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:rds:Cluster\n properties:\n clusterIdentifier: example\n engine: aurora-postgresql\n engineMode: provisioned\n engineVersion: '13.6'\n databaseName: test\n masterUsername: test\n masterPassword: must_be_eight_characters\n storageEncrypted: true\n serverlessv2ScalingConfiguration:\n maxCapacity: 1\n minCapacity: 0.5\n exampleClusterInstance:\n type: aws:rds:ClusterInstance\n name: example\n properties:\n clusterIdentifier: ${example.id}\n instanceClass: db.serverless\n engine: ${example.engine}\n engineVersion: ${example.engineVersion}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### RDS/Aurora 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 `master_password` attribute (removal is required).\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.rds.Cluster(\"test\", {\n clusterIdentifier: \"example\",\n databaseName: \"test\",\n manageMasterUserPassword: true,\n masterUsername: \"test\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.rds.Cluster(\"test\",\n cluster_identifier=\"example\",\n database_name=\"test\",\n manage_master_user_password=True,\n master_username=\"test\")\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.Rds.Cluster(\"test\", new()\n {\n ClusterIdentifier = \"example\",\n DatabaseName = \"test\",\n ManageMasterUserPassword = true,\n MasterUsername = \"test\",\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.NewCluster(ctx, \"test\", \u0026rds.ClusterArgs{\n\t\t\tClusterIdentifier: pulumi.String(\"example\"),\n\t\t\tDatabaseName: pulumi.String(\"test\"),\n\t\t\tManageMasterUserPassword: pulumi.Bool(true),\n\t\t\tMasterUsername: pulumi.String(\"test\"),\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.Cluster;\nimport com.pulumi.aws.rds.ClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 Cluster(\"test\", ClusterArgs.builder()\n .clusterIdentifier(\"example\")\n .databaseName(\"test\")\n .manageMasterUserPassword(true)\n .masterUsername(\"test\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:rds:Cluster\n properties:\n clusterIdentifier: example\n databaseName: test\n manageMasterUserPassword: true\n masterUsername: test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### RDS/Aurora 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\u003c!--Start PulumiCodeChooser --\u003e\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 test = new aws.rds.Cluster(\"test\", {\n clusterIdentifier: \"example\",\n databaseName: \"test\",\n manageMasterUserPassword: true,\n masterUsername: \"test\",\n masterUserSecretKmsKeyId: example.keyId,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.kms.Key(\"example\", description=\"Example KMS Key\")\ntest = aws.rds.Cluster(\"test\",\n cluster_identifier=\"example\",\n database_name=\"test\",\n manage_master_user_password=True,\n master_username=\"test\",\n master_user_secret_kms_key_id=example.key_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.Kms.Key(\"example\", new()\n {\n Description = \"Example KMS Key\",\n });\n\n var test = new Aws.Rds.Cluster(\"test\", new()\n {\n ClusterIdentifier = \"example\",\n DatabaseName = \"test\",\n ManageMasterUserPassword = true,\n MasterUsername = \"test\",\n MasterUserSecretKmsKeyId = example.KeyId,\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.NewCluster(ctx, \"test\", \u0026rds.ClusterArgs{\n\t\t\tClusterIdentifier: pulumi.String(\"example\"),\n\t\t\tDatabaseName: pulumi.String(\"test\"),\n\t\t\tManageMasterUserPassword: pulumi.Bool(true),\n\t\t\tMasterUsername: pulumi.String(\"test\"),\n\t\t\tMasterUserSecretKmsKeyId: example.KeyId,\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.Cluster;\nimport com.pulumi.aws.rds.ClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 test = new Cluster(\"test\", ClusterArgs.builder()\n .clusterIdentifier(\"example\")\n .databaseName(\"test\")\n .manageMasterUserPassword(true)\n .masterUsername(\"test\")\n .masterUserSecretKmsKeyId(example.keyId())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kms:Key\n properties:\n description: Example KMS Key\n test:\n type: aws:rds:Cluster\n properties:\n clusterIdentifier: example\n databaseName: test\n manageMasterUserPassword: true\n masterUsername: test\n masterUserSecretKmsKeyId: ${example.keyId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Global Cluster Restored From Snapshot\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.rds.getClusterSnapshot({\n dbClusterIdentifier: \"example-original-cluster\",\n mostRecent: true,\n});\nconst exampleCluster = new aws.rds.Cluster(\"example\", {\n engine: aws.rds.EngineType.Aurora,\n engineVersion: \"5.6.mysql_aurora.1.22.4\",\n clusterIdentifier: \"example\",\n snapshotIdentifier: example.then(example =\u003e example.id),\n});\nconst exampleGlobalCluster = new aws.rds.GlobalCluster(\"example\", {\n globalClusterIdentifier: \"example\",\n sourceDbClusterIdentifier: exampleCluster.arn,\n forceDestroy: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.rds.get_cluster_snapshot(db_cluster_identifier=\"example-original-cluster\",\n most_recent=True)\nexample_cluster = aws.rds.Cluster(\"example\",\n engine=aws.rds.EngineType.AURORA,\n engine_version=\"5.6.mysql_aurora.1.22.4\",\n cluster_identifier=\"example\",\n snapshot_identifier=example.id)\nexample_global_cluster = aws.rds.GlobalCluster(\"example\",\n global_cluster_identifier=\"example\",\n source_db_cluster_identifier=example_cluster.arn,\n force_destroy=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Rds.GetClusterSnapshot.Invoke(new()\n {\n DbClusterIdentifier = \"example-original-cluster\",\n MostRecent = true,\n });\n\n var exampleCluster = new Aws.Rds.Cluster(\"example\", new()\n {\n Engine = Aws.Rds.EngineType.Aurora,\n EngineVersion = \"5.6.mysql_aurora.1.22.4\",\n ClusterIdentifier = \"example\",\n SnapshotIdentifier = example.Apply(getClusterSnapshotResult =\u003e getClusterSnapshotResult.Id),\n });\n\n var exampleGlobalCluster = new Aws.Rds.GlobalCluster(\"example\", new()\n {\n GlobalClusterIdentifier = \"example\",\n SourceDbClusterIdentifier = exampleCluster.Arn,\n ForceDestroy = true,\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\texample, err := rds.LookupClusterSnapshot(ctx, \u0026rds.LookupClusterSnapshotArgs{\n\t\t\tDbClusterIdentifier: pulumi.StringRef(\"example-original-cluster\"),\n\t\t\tMostRecent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleCluster, err := rds.NewCluster(ctx, \"example\", \u0026rds.ClusterArgs{\n\t\t\tEngine: pulumi.String(rds.EngineTypeAurora),\n\t\t\tEngineVersion: pulumi.String(\"5.6.mysql_aurora.1.22.4\"),\n\t\t\tClusterIdentifier: pulumi.String(\"example\"),\n\t\t\tSnapshotIdentifier: pulumi.String(example.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rds.NewGlobalCluster(ctx, \"example\", \u0026rds.GlobalClusterArgs{\n\t\t\tGlobalClusterIdentifier: pulumi.String(\"example\"),\n\t\t\tSourceDbClusterIdentifier: exampleCluster.Arn,\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\treturn nil\n\t})\n}\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.GetClusterSnapshotArgs;\nimport com.pulumi.aws.rds.Cluster;\nimport com.pulumi.aws.rds.ClusterArgs;\nimport com.pulumi.aws.rds.GlobalCluster;\nimport com.pulumi.aws.rds.GlobalClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 = RdsFunctions.getClusterSnapshot(GetClusterSnapshotArgs.builder()\n .dbClusterIdentifier(\"example-original-cluster\")\n .mostRecent(true)\n .build());\n\n var exampleCluster = new Cluster(\"exampleCluster\", ClusterArgs.builder()\n .engine(\"aurora\")\n .engineVersion(\"5.6.mysql_aurora.1.22.4\")\n .clusterIdentifier(\"example\")\n .snapshotIdentifier(example.applyValue(getClusterSnapshotResult -\u003e getClusterSnapshotResult.id()))\n .build());\n\n var exampleGlobalCluster = new GlobalCluster(\"exampleGlobalCluster\", GlobalClusterArgs.builder()\n .globalClusterIdentifier(\"example\")\n .sourceDbClusterIdentifier(exampleCluster.arn())\n .forceDestroy(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleCluster:\n type: aws:rds:Cluster\n name: example\n properties:\n engine: aurora\n engineVersion: 5.6.mysql_aurora.1.22.4\n clusterIdentifier: example\n snapshotIdentifier: ${example.id}\n exampleGlobalCluster:\n type: aws:rds:GlobalCluster\n name: example\n properties:\n globalClusterIdentifier: example\n sourceDbClusterIdentifier: ${exampleCluster.arn}\n forceDestroy: true\nvariables:\n example:\n fn::invoke:\n function: aws:rds:getClusterSnapshot\n arguments:\n dbClusterIdentifier: example-original-cluster\n mostRecent: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import RDS Clusters using the `cluster_identifier`. For example:\n\n```sh\n$ pulumi import aws:rds/cluster:Cluster aurora_cluster aurora-prod-cluster\n```\n", + "description": "Manages a [RDS Aurora Cluster](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_Aurora.html) or a [RDS Multi-AZ DB Cluster](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/multi-az-db-clusters-concepts.html). To manage cluster instances that inherit configuration from the cluster (when not running the cluster in `serverless` engine mode), see the `aws.rds.ClusterInstance` resource. To manage non-Aurora DB instances (e.g., MySQL, PostgreSQL, SQL Server, etc.), see the `aws.rds.Instance` resource.\n\nFor information on the difference between the available Aurora MySQL engines see [Comparison between Aurora MySQL 1 and Aurora MySQL 2](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AuroraMySQL.Updates.20180206.html) in the Amazon RDS User Guide.\n\nChanges to an RDS Cluster can occur when you manually change a parameter, such as `port`, and are reflected in the next maintenance window. Because of this, this provider may report a difference in its planning phase because a modification has not yet taken place. You can use the `apply_immediately` flag to instruct the service to apply the change immediately (see documentation below).\n\n\u003e **Note:** Multi-AZ DB clusters are supported only for the MySQL and PostgreSQL DB engines.\n\n\u003e **Note:** `ca_certificate_identifier` is only supported for Multi-AZ DB clusters.\n\n\u003e **Note:** using `apply_immediately` can result in a brief downtime as the server reboots. See the AWS Docs on [RDS Maintenance](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_UpgradeDBInstance.Maintenance.html) for more information.\n\n\u003e **Note:** All arguments including the username and password will be stored in the raw state as plain-text.\n\u003e **NOTE on RDS Clusters and RDS Cluster Role Associations:** Pulumi provides both a standalone RDS Cluster Role Association - (an association between an RDS Cluster and a single IAM Role) and an RDS Cluster resource with `iam_roles` attributes. Use one resource or the other to associate IAM Roles and RDS Clusters. Not doing so will cause a conflict of associations and will result in the association being overwritten.\n\n## Example Usage\n\n### Aurora MySQL 2.x (MySQL 5.7)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _default = new aws.rds.Cluster(\"default\", {\n clusterIdentifier: \"aurora-cluster-demo\",\n engine: aws.rds.EngineType.AuroraMysql,\n engineVersion: \"5.7.mysql_aurora.2.03.2\",\n availabilityZones: [\n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\",\n ],\n databaseName: \"mydb\",\n masterUsername: \"foo\",\n masterPassword: \"must_be_eight_characters\",\n backupRetentionPeriod: 5,\n preferredBackupWindow: \"07:00-09:00\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.rds.Cluster(\"default\",\n cluster_identifier=\"aurora-cluster-demo\",\n engine=aws.rds.EngineType.AURORA_MYSQL,\n engine_version=\"5.7.mysql_aurora.2.03.2\",\n availability_zones=[\n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\",\n ],\n database_name=\"mydb\",\n master_username=\"foo\",\n master_password=\"must_be_eight_characters\",\n backup_retention_period=5,\n preferred_backup_window=\"07:00-09:00\")\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.Cluster(\"default\", new()\n {\n ClusterIdentifier = \"aurora-cluster-demo\",\n Engine = Aws.Rds.EngineType.AuroraMysql,\n EngineVersion = \"5.7.mysql_aurora.2.03.2\",\n AvailabilityZones = new[]\n {\n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\",\n },\n DatabaseName = \"mydb\",\n MasterUsername = \"foo\",\n MasterPassword = \"must_be_eight_characters\",\n BackupRetentionPeriod = 5,\n PreferredBackupWindow = \"07:00-09:00\",\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.NewCluster(ctx, \"default\", \u0026rds.ClusterArgs{\n\t\t\tClusterIdentifier: pulumi.String(\"aurora-cluster-demo\"),\n\t\t\tEngine: pulumi.String(rds.EngineTypeAuroraMysql),\n\t\t\tEngineVersion: pulumi.String(\"5.7.mysql_aurora.2.03.2\"),\n\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"us-west-2a\"),\n\t\t\t\tpulumi.String(\"us-west-2b\"),\n\t\t\t\tpulumi.String(\"us-west-2c\"),\n\t\t\t},\n\t\t\tDatabaseName: pulumi.String(\"mydb\"),\n\t\t\tMasterUsername: pulumi.String(\"foo\"),\n\t\t\tMasterPassword: pulumi.String(\"must_be_eight_characters\"),\n\t\t\tBackupRetentionPeriod: pulumi.Int(5),\n\t\t\tPreferredBackupWindow: pulumi.String(\"07:00-09:00\"),\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.Cluster;\nimport com.pulumi.aws.rds.ClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 Cluster(\"default\", ClusterArgs.builder()\n .clusterIdentifier(\"aurora-cluster-demo\")\n .engine(\"aurora-mysql\")\n .engineVersion(\"5.7.mysql_aurora.2.03.2\")\n .availabilityZones( \n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\")\n .databaseName(\"mydb\")\n .masterUsername(\"foo\")\n .masterPassword(\"must_be_eight_characters\")\n .backupRetentionPeriod(5)\n .preferredBackupWindow(\"07:00-09:00\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: aws:rds:Cluster\n properties:\n clusterIdentifier: aurora-cluster-demo\n engine: aurora-mysql\n engineVersion: 5.7.mysql_aurora.2.03.2\n availabilityZones:\n - us-west-2a\n - us-west-2b\n - us-west-2c\n databaseName: mydb\n masterUsername: foo\n masterPassword: must_be_eight_characters\n backupRetentionPeriod: 5\n preferredBackupWindow: 07:00-09:00\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Aurora MySQL 1.x (MySQL 5.6)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _default = new aws.rds.Cluster(\"default\", {\n clusterIdentifier: \"aurora-cluster-demo\",\n availabilityZones: [\n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\",\n ],\n databaseName: \"mydb\",\n masterUsername: \"foo\",\n masterPassword: \"must_be_eight_characters\",\n backupRetentionPeriod: 5,\n preferredBackupWindow: \"07:00-09:00\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.rds.Cluster(\"default\",\n cluster_identifier=\"aurora-cluster-demo\",\n availability_zones=[\n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\",\n ],\n database_name=\"mydb\",\n master_username=\"foo\",\n master_password=\"must_be_eight_characters\",\n backup_retention_period=5,\n preferred_backup_window=\"07:00-09:00\")\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.Cluster(\"default\", new()\n {\n ClusterIdentifier = \"aurora-cluster-demo\",\n AvailabilityZones = new[]\n {\n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\",\n },\n DatabaseName = \"mydb\",\n MasterUsername = \"foo\",\n MasterPassword = \"must_be_eight_characters\",\n BackupRetentionPeriod = 5,\n PreferredBackupWindow = \"07:00-09:00\",\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.NewCluster(ctx, \"default\", \u0026rds.ClusterArgs{\n\t\t\tClusterIdentifier: pulumi.String(\"aurora-cluster-demo\"),\n\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"us-west-2a\"),\n\t\t\t\tpulumi.String(\"us-west-2b\"),\n\t\t\t\tpulumi.String(\"us-west-2c\"),\n\t\t\t},\n\t\t\tDatabaseName: pulumi.String(\"mydb\"),\n\t\t\tMasterUsername: pulumi.String(\"foo\"),\n\t\t\tMasterPassword: pulumi.String(\"must_be_eight_characters\"),\n\t\t\tBackupRetentionPeriod: pulumi.Int(5),\n\t\t\tPreferredBackupWindow: pulumi.String(\"07:00-09:00\"),\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.Cluster;\nimport com.pulumi.aws.rds.ClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 Cluster(\"default\", ClusterArgs.builder()\n .clusterIdentifier(\"aurora-cluster-demo\")\n .availabilityZones( \n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\")\n .databaseName(\"mydb\")\n .masterUsername(\"foo\")\n .masterPassword(\"must_be_eight_characters\")\n .backupRetentionPeriod(5)\n .preferredBackupWindow(\"07:00-09:00\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: aws:rds:Cluster\n properties:\n clusterIdentifier: aurora-cluster-demo\n availabilityZones:\n - us-west-2a\n - us-west-2b\n - us-west-2c\n databaseName: mydb\n masterUsername: foo\n masterPassword: must_be_eight_characters\n backupRetentionPeriod: 5\n preferredBackupWindow: 07:00-09:00\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Aurora with PostgreSQL engine\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst postgresql = new aws.rds.Cluster(\"postgresql\", {\n clusterIdentifier: \"aurora-cluster-demo\",\n engine: aws.rds.EngineType.AuroraPostgresql,\n availabilityZones: [\n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\",\n ],\n databaseName: \"mydb\",\n masterUsername: \"foo\",\n masterPassword: \"must_be_eight_characters\",\n backupRetentionPeriod: 5,\n preferredBackupWindow: \"07:00-09:00\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\npostgresql = aws.rds.Cluster(\"postgresql\",\n cluster_identifier=\"aurora-cluster-demo\",\n engine=aws.rds.EngineType.AURORA_POSTGRESQL,\n availability_zones=[\n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\",\n ],\n database_name=\"mydb\",\n master_username=\"foo\",\n master_password=\"must_be_eight_characters\",\n backup_retention_period=5,\n preferred_backup_window=\"07:00-09:00\")\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 postgresql = new Aws.Rds.Cluster(\"postgresql\", new()\n {\n ClusterIdentifier = \"aurora-cluster-demo\",\n Engine = Aws.Rds.EngineType.AuroraPostgresql,\n AvailabilityZones = new[]\n {\n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\",\n },\n DatabaseName = \"mydb\",\n MasterUsername = \"foo\",\n MasterPassword = \"must_be_eight_characters\",\n BackupRetentionPeriod = 5,\n PreferredBackupWindow = \"07:00-09:00\",\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.NewCluster(ctx, \"postgresql\", \u0026rds.ClusterArgs{\n\t\t\tClusterIdentifier: pulumi.String(\"aurora-cluster-demo\"),\n\t\t\tEngine: pulumi.String(rds.EngineTypeAuroraPostgresql),\n\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"us-west-2a\"),\n\t\t\t\tpulumi.String(\"us-west-2b\"),\n\t\t\t\tpulumi.String(\"us-west-2c\"),\n\t\t\t},\n\t\t\tDatabaseName: pulumi.String(\"mydb\"),\n\t\t\tMasterUsername: pulumi.String(\"foo\"),\n\t\t\tMasterPassword: pulumi.String(\"must_be_eight_characters\"),\n\t\t\tBackupRetentionPeriod: pulumi.Int(5),\n\t\t\tPreferredBackupWindow: pulumi.String(\"07:00-09:00\"),\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.Cluster;\nimport com.pulumi.aws.rds.ClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 postgresql = new Cluster(\"postgresql\", ClusterArgs.builder()\n .clusterIdentifier(\"aurora-cluster-demo\")\n .engine(\"aurora-postgresql\")\n .availabilityZones( \n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\")\n .databaseName(\"mydb\")\n .masterUsername(\"foo\")\n .masterPassword(\"must_be_eight_characters\")\n .backupRetentionPeriod(5)\n .preferredBackupWindow(\"07:00-09:00\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n postgresql:\n type: aws:rds:Cluster\n properties:\n clusterIdentifier: aurora-cluster-demo\n engine: aurora-postgresql\n availabilityZones:\n - us-west-2a\n - us-west-2b\n - us-west-2c\n databaseName: mydb\n masterUsername: foo\n masterPassword: must_be_eight_characters\n backupRetentionPeriod: 5\n preferredBackupWindow: 07:00-09:00\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### RDS Multi-AZ Cluster\n\n\u003e More information about RDS Multi-AZ Clusters can be found in the [RDS User Guide](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/multi-az-db-clusters-concepts.html).\n\nTo create a Multi-AZ RDS cluster, you must additionally specify the `engine`, `storage_type`, `allocated_storage`, `iops` and `db_cluster_instance_class` attributes.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.rds.Cluster(\"example\", {\n clusterIdentifier: \"example\",\n availabilityZones: [\n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\",\n ],\n engine: \"mysql\",\n dbClusterInstanceClass: \"db.r6gd.xlarge\",\n storageType: \"io1\",\n allocatedStorage: 100,\n iops: 1000,\n masterUsername: \"test\",\n masterPassword: \"mustbeeightcharaters\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.rds.Cluster(\"example\",\n cluster_identifier=\"example\",\n availability_zones=[\n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\",\n ],\n engine=\"mysql\",\n db_cluster_instance_class=\"db.r6gd.xlarge\",\n storage_type=\"io1\",\n allocated_storage=100,\n iops=1000,\n master_username=\"test\",\n master_password=\"mustbeeightcharaters\")\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.Cluster(\"example\", new()\n {\n ClusterIdentifier = \"example\",\n AvailabilityZones = new[]\n {\n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\",\n },\n Engine = \"mysql\",\n DbClusterInstanceClass = \"db.r6gd.xlarge\",\n StorageType = \"io1\",\n AllocatedStorage = 100,\n Iops = 1000,\n MasterUsername = \"test\",\n MasterPassword = \"mustbeeightcharaters\",\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.NewCluster(ctx, \"example\", \u0026rds.ClusterArgs{\n\t\t\tClusterIdentifier: pulumi.String(\"example\"),\n\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"us-west-2a\"),\n\t\t\t\tpulumi.String(\"us-west-2b\"),\n\t\t\t\tpulumi.String(\"us-west-2c\"),\n\t\t\t},\n\t\t\tEngine: pulumi.String(\"mysql\"),\n\t\t\tDbClusterInstanceClass: pulumi.String(\"db.r6gd.xlarge\"),\n\t\t\tStorageType: pulumi.String(\"io1\"),\n\t\t\tAllocatedStorage: pulumi.Int(100),\n\t\t\tIops: pulumi.Int(1000),\n\t\t\tMasterUsername: pulumi.String(\"test\"),\n\t\t\tMasterPassword: pulumi.String(\"mustbeeightcharaters\"),\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.Cluster;\nimport com.pulumi.aws.rds.ClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Cluster(\"example\", ClusterArgs.builder()\n .clusterIdentifier(\"example\")\n .availabilityZones( \n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\")\n .engine(\"mysql\")\n .dbClusterInstanceClass(\"db.r6gd.xlarge\")\n .storageType(\"io1\")\n .allocatedStorage(100)\n .iops(1000)\n .masterUsername(\"test\")\n .masterPassword(\"mustbeeightcharaters\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:rds:Cluster\n properties:\n clusterIdentifier: example\n availabilityZones:\n - us-west-2a\n - us-west-2b\n - us-west-2c\n engine: mysql\n dbClusterInstanceClass: db.r6gd.xlarge\n storageType: io1\n allocatedStorage: 100\n iops: 1000\n masterUsername: test\n masterPassword: mustbeeightcharaters\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### RDS Serverless v2 Cluster\n\n\u003e More information about RDS Serverless v2 Clusters can be found in the [RDS User Guide](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless-v2.html).\n\n\u003e **Note:** Unlike Serverless v1, in Serverless v2 the `storage_encrypted` value is set to `false` by default.\nThis is because Serverless v1 uses the `serverless` `engine_mode`, but Serverless v2 uses the `provisioned` `engine_mode`.\n\nTo create a Serverless v2 RDS cluster, you must additionally specify the `engine_mode` and `serverlessv2_scaling_configuration` attributes. An `aws.rds.ClusterInstance` resource must also be added to the cluster with the `instance_class` attribute specified.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.rds.Cluster(\"example\", {\n clusterIdentifier: \"example\",\n engine: aws.rds.EngineType.AuroraPostgresql,\n engineMode: aws.rds.EngineMode.Provisioned,\n engineVersion: \"13.6\",\n databaseName: \"test\",\n masterUsername: \"test\",\n masterPassword: \"must_be_eight_characters\",\n storageEncrypted: true,\n serverlessv2ScalingConfiguration: {\n maxCapacity: 1,\n minCapacity: 0,\n secondsUntilAutoPause: 3600,\n },\n});\nconst exampleClusterInstance = new aws.rds.ClusterInstance(\"example\", {\n clusterIdentifier: example.id,\n instanceClass: \"db.serverless\",\n engine: example.engine,\n engineVersion: example.engineVersion,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.rds.Cluster(\"example\",\n cluster_identifier=\"example\",\n engine=aws.rds.EngineType.AURORA_POSTGRESQL,\n engine_mode=aws.rds.EngineMode.PROVISIONED,\n engine_version=\"13.6\",\n database_name=\"test\",\n master_username=\"test\",\n master_password=\"must_be_eight_characters\",\n storage_encrypted=True,\n serverlessv2_scaling_configuration={\n \"max_capacity\": 1,\n \"min_capacity\": 0,\n \"seconds_until_auto_pause\": 3600,\n })\nexample_cluster_instance = aws.rds.ClusterInstance(\"example\",\n cluster_identifier=example.id,\n instance_class=\"db.serverless\",\n engine=example.engine,\n engine_version=example.engine_version)\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.Cluster(\"example\", new()\n {\n ClusterIdentifier = \"example\",\n Engine = Aws.Rds.EngineType.AuroraPostgresql,\n EngineMode = Aws.Rds.EngineMode.Provisioned,\n EngineVersion = \"13.6\",\n DatabaseName = \"test\",\n MasterUsername = \"test\",\n MasterPassword = \"must_be_eight_characters\",\n StorageEncrypted = true,\n Serverlessv2ScalingConfiguration = new Aws.Rds.Inputs.ClusterServerlessv2ScalingConfigurationArgs\n {\n MaxCapacity = 1,\n MinCapacity = 0,\n SecondsUntilAutoPause = 3600,\n },\n });\n\n var exampleClusterInstance = new Aws.Rds.ClusterInstance(\"example\", new()\n {\n ClusterIdentifier = example.Id,\n InstanceClass = \"db.serverless\",\n Engine = example.Engine,\n EngineVersion = example.EngineVersion,\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\texample, err := rds.NewCluster(ctx, \"example\", \u0026rds.ClusterArgs{\n\t\t\tClusterIdentifier: pulumi.String(\"example\"),\n\t\t\tEngine: pulumi.String(rds.EngineTypeAuroraPostgresql),\n\t\t\tEngineMode: pulumi.String(rds.EngineModeProvisioned),\n\t\t\tEngineVersion: pulumi.String(\"13.6\"),\n\t\t\tDatabaseName: pulumi.String(\"test\"),\n\t\t\tMasterUsername: pulumi.String(\"test\"),\n\t\t\tMasterPassword: pulumi.String(\"must_be_eight_characters\"),\n\t\t\tStorageEncrypted: pulumi.Bool(true),\n\t\t\tServerlessv2ScalingConfiguration: \u0026rds.ClusterServerlessv2ScalingConfigurationArgs{\n\t\t\t\tMaxCapacity: pulumi.Float64(1),\n\t\t\t\tMinCapacity: pulumi.Float64(0),\n\t\t\t\tSecondsUntilAutoPause: pulumi.Int(3600),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rds.NewClusterInstance(ctx, \"example\", \u0026rds.ClusterInstanceArgs{\n\t\t\tClusterIdentifier: example.ID(),\n\t\t\tInstanceClass: pulumi.String(\"db.serverless\"),\n\t\t\tEngine: example.Engine,\n\t\t\tEngineVersion: example.EngineVersion,\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.Cluster;\nimport com.pulumi.aws.rds.ClusterArgs;\nimport com.pulumi.aws.rds.inputs.ClusterServerlessv2ScalingConfigurationArgs;\nimport com.pulumi.aws.rds.ClusterInstance;\nimport com.pulumi.aws.rds.ClusterInstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Cluster(\"example\", ClusterArgs.builder()\n .clusterIdentifier(\"example\")\n .engine(\"aurora-postgresql\")\n .engineMode(\"provisioned\")\n .engineVersion(\"13.6\")\n .databaseName(\"test\")\n .masterUsername(\"test\")\n .masterPassword(\"must_be_eight_characters\")\n .storageEncrypted(true)\n .serverlessv2ScalingConfiguration(ClusterServerlessv2ScalingConfigurationArgs.builder()\n .maxCapacity(1)\n .minCapacity(0)\n .secondsUntilAutoPause(3600)\n .build())\n .build());\n\n var exampleClusterInstance = new ClusterInstance(\"exampleClusterInstance\", ClusterInstanceArgs.builder()\n .clusterIdentifier(example.id())\n .instanceClass(\"db.serverless\")\n .engine(example.engine())\n .engineVersion(example.engineVersion())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:rds:Cluster\n properties:\n clusterIdentifier: example\n engine: aurora-postgresql\n engineMode: provisioned\n engineVersion: '13.6'\n databaseName: test\n masterUsername: test\n masterPassword: must_be_eight_characters\n storageEncrypted: true\n serverlessv2ScalingConfiguration:\n maxCapacity: 1\n minCapacity: 0\n secondsUntilAutoPause: 3600\n exampleClusterInstance:\n type: aws:rds:ClusterInstance\n name: example\n properties:\n clusterIdentifier: ${example.id}\n instanceClass: db.serverless\n engine: ${example.engine}\n engineVersion: ${example.engineVersion}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### RDS/Aurora 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 `master_password` attribute (removal is required).\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.rds.Cluster(\"test\", {\n clusterIdentifier: \"example\",\n databaseName: \"test\",\n manageMasterUserPassword: true,\n masterUsername: \"test\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.rds.Cluster(\"test\",\n cluster_identifier=\"example\",\n database_name=\"test\",\n manage_master_user_password=True,\n master_username=\"test\")\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.Rds.Cluster(\"test\", new()\n {\n ClusterIdentifier = \"example\",\n DatabaseName = \"test\",\n ManageMasterUserPassword = true,\n MasterUsername = \"test\",\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.NewCluster(ctx, \"test\", \u0026rds.ClusterArgs{\n\t\t\tClusterIdentifier: pulumi.String(\"example\"),\n\t\t\tDatabaseName: pulumi.String(\"test\"),\n\t\t\tManageMasterUserPassword: pulumi.Bool(true),\n\t\t\tMasterUsername: pulumi.String(\"test\"),\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.Cluster;\nimport com.pulumi.aws.rds.ClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 Cluster(\"test\", ClusterArgs.builder()\n .clusterIdentifier(\"example\")\n .databaseName(\"test\")\n .manageMasterUserPassword(true)\n .masterUsername(\"test\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:rds:Cluster\n properties:\n clusterIdentifier: example\n databaseName: test\n manageMasterUserPassword: true\n masterUsername: test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### RDS/Aurora 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\u003c!--Start PulumiCodeChooser --\u003e\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 test = new aws.rds.Cluster(\"test\", {\n clusterIdentifier: \"example\",\n databaseName: \"test\",\n manageMasterUserPassword: true,\n masterUsername: \"test\",\n masterUserSecretKmsKeyId: example.keyId,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.kms.Key(\"example\", description=\"Example KMS Key\")\ntest = aws.rds.Cluster(\"test\",\n cluster_identifier=\"example\",\n database_name=\"test\",\n manage_master_user_password=True,\n master_username=\"test\",\n master_user_secret_kms_key_id=example.key_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.Kms.Key(\"example\", new()\n {\n Description = \"Example KMS Key\",\n });\n\n var test = new Aws.Rds.Cluster(\"test\", new()\n {\n ClusterIdentifier = \"example\",\n DatabaseName = \"test\",\n ManageMasterUserPassword = true,\n MasterUsername = \"test\",\n MasterUserSecretKmsKeyId = example.KeyId,\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.NewCluster(ctx, \"test\", \u0026rds.ClusterArgs{\n\t\t\tClusterIdentifier: pulumi.String(\"example\"),\n\t\t\tDatabaseName: pulumi.String(\"test\"),\n\t\t\tManageMasterUserPassword: pulumi.Bool(true),\n\t\t\tMasterUsername: pulumi.String(\"test\"),\n\t\t\tMasterUserSecretKmsKeyId: example.KeyId,\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.Cluster;\nimport com.pulumi.aws.rds.ClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 test = new Cluster(\"test\", ClusterArgs.builder()\n .clusterIdentifier(\"example\")\n .databaseName(\"test\")\n .manageMasterUserPassword(true)\n .masterUsername(\"test\")\n .masterUserSecretKmsKeyId(example.keyId())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kms:Key\n properties:\n description: Example KMS Key\n test:\n type: aws:rds:Cluster\n properties:\n clusterIdentifier: example\n databaseName: test\n manageMasterUserPassword: true\n masterUsername: test\n masterUserSecretKmsKeyId: ${example.keyId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Global Cluster Restored From Snapshot\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.rds.getClusterSnapshot({\n dbClusterIdentifier: \"example-original-cluster\",\n mostRecent: true,\n});\nconst exampleCluster = new aws.rds.Cluster(\"example\", {\n engine: aws.rds.EngineType.Aurora,\n engineVersion: \"5.6.mysql_aurora.1.22.4\",\n clusterIdentifier: \"example\",\n snapshotIdentifier: example.then(example =\u003e example.id),\n});\nconst exampleGlobalCluster = new aws.rds.GlobalCluster(\"example\", {\n globalClusterIdentifier: \"example\",\n sourceDbClusterIdentifier: exampleCluster.arn,\n forceDestroy: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.rds.get_cluster_snapshot(db_cluster_identifier=\"example-original-cluster\",\n most_recent=True)\nexample_cluster = aws.rds.Cluster(\"example\",\n engine=aws.rds.EngineType.AURORA,\n engine_version=\"5.6.mysql_aurora.1.22.4\",\n cluster_identifier=\"example\",\n snapshot_identifier=example.id)\nexample_global_cluster = aws.rds.GlobalCluster(\"example\",\n global_cluster_identifier=\"example\",\n source_db_cluster_identifier=example_cluster.arn,\n force_destroy=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Rds.GetClusterSnapshot.Invoke(new()\n {\n DbClusterIdentifier = \"example-original-cluster\",\n MostRecent = true,\n });\n\n var exampleCluster = new Aws.Rds.Cluster(\"example\", new()\n {\n Engine = Aws.Rds.EngineType.Aurora,\n EngineVersion = \"5.6.mysql_aurora.1.22.4\",\n ClusterIdentifier = \"example\",\n SnapshotIdentifier = example.Apply(getClusterSnapshotResult =\u003e getClusterSnapshotResult.Id),\n });\n\n var exampleGlobalCluster = new Aws.Rds.GlobalCluster(\"example\", new()\n {\n GlobalClusterIdentifier = \"example\",\n SourceDbClusterIdentifier = exampleCluster.Arn,\n ForceDestroy = true,\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\texample, err := rds.LookupClusterSnapshot(ctx, \u0026rds.LookupClusterSnapshotArgs{\n\t\t\tDbClusterIdentifier: pulumi.StringRef(\"example-original-cluster\"),\n\t\t\tMostRecent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleCluster, err := rds.NewCluster(ctx, \"example\", \u0026rds.ClusterArgs{\n\t\t\tEngine: pulumi.String(rds.EngineTypeAurora),\n\t\t\tEngineVersion: pulumi.String(\"5.6.mysql_aurora.1.22.4\"),\n\t\t\tClusterIdentifier: pulumi.String(\"example\"),\n\t\t\tSnapshotIdentifier: pulumi.String(example.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rds.NewGlobalCluster(ctx, \"example\", \u0026rds.GlobalClusterArgs{\n\t\t\tGlobalClusterIdentifier: pulumi.String(\"example\"),\n\t\t\tSourceDbClusterIdentifier: exampleCluster.Arn,\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\treturn nil\n\t})\n}\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.GetClusterSnapshotArgs;\nimport com.pulumi.aws.rds.Cluster;\nimport com.pulumi.aws.rds.ClusterArgs;\nimport com.pulumi.aws.rds.GlobalCluster;\nimport com.pulumi.aws.rds.GlobalClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 = RdsFunctions.getClusterSnapshot(GetClusterSnapshotArgs.builder()\n .dbClusterIdentifier(\"example-original-cluster\")\n .mostRecent(true)\n .build());\n\n var exampleCluster = new Cluster(\"exampleCluster\", ClusterArgs.builder()\n .engine(\"aurora\")\n .engineVersion(\"5.6.mysql_aurora.1.22.4\")\n .clusterIdentifier(\"example\")\n .snapshotIdentifier(example.applyValue(getClusterSnapshotResult -\u003e getClusterSnapshotResult.id()))\n .build());\n\n var exampleGlobalCluster = new GlobalCluster(\"exampleGlobalCluster\", GlobalClusterArgs.builder()\n .globalClusterIdentifier(\"example\")\n .sourceDbClusterIdentifier(exampleCluster.arn())\n .forceDestroy(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleCluster:\n type: aws:rds:Cluster\n name: example\n properties:\n engine: aurora\n engineVersion: 5.6.mysql_aurora.1.22.4\n clusterIdentifier: example\n snapshotIdentifier: ${example.id}\n exampleGlobalCluster:\n type: aws:rds:GlobalCluster\n name: example\n properties:\n globalClusterIdentifier: example\n sourceDbClusterIdentifier: ${exampleCluster.arn}\n forceDestroy: true\nvariables:\n example:\n fn::invoke:\n function: aws:rds:getClusterSnapshot\n arguments:\n dbClusterIdentifier: example-original-cluster\n mostRecent: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import RDS Clusters using the `cluster_identifier`. For example:\n\n```sh\n$ pulumi import aws:rds/cluster:Cluster aurora_cluster aurora-prod-cluster\n```\n", "properties": { "allocatedStorage": { "type": "integer", @@ -332162,11 +332799,11 @@ "properties": { "arn": { "type": "string", - "description": "RDS Global Cluster Amazon Resource Name (ARN)\n" + "description": "RDS Global Cluster Amazon Resource Name (ARN).\n" }, "databaseName": { "type": "string", - "description": "Name for an automatically created database on cluster creation.\n" + "description": "Name for an automatically created database on cluster creation. Pulumi will only perform drift detection if a configuration value is provided.\n" }, "deletionProtection": { "type": "boolean", @@ -332208,7 +332845,7 @@ }, "globalClusterResourceId": { "type": "string", - "description": "AWS Region-unique, immutable identifier for the global database cluster. This identifier is found in AWS CloudTrail log entries whenever the AWS KMS key for the DB cluster is accessed\n" + "description": "AWS Region-unique, immutable identifier for the global database cluster. This identifier is found in AWS CloudTrail log entries whenever the AWS KMS key for the DB cluster is accessed.\n" }, "sourceDbClusterIdentifier": { "type": "string", @@ -332217,10 +332854,26 @@ "storageEncrypted": { "type": "boolean", "description": "Specifies whether the DB cluster is encrypted. The default is `false` unless `source_db_cluster_identifier` is specified and encrypted. The provider will only perform drift detection if a configuration value is provided.\n" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "A map of tags to assign to the DB cluster. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.\n" + }, + "tagsAll": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.\n", + "deprecationMessage": "Please use `tags` instead." } }, "required": [ "arn", + "databaseName", "endpoint", "engine", "engineLifecycleSupport", @@ -332230,12 +332883,13 @@ "globalClusterMembers", "globalClusterResourceId", "sourceDbClusterIdentifier", - "storageEncrypted" + "storageEncrypted", + "tagsAll" ], "inputProperties": { "databaseName": { "type": "string", - "description": "Name for an automatically created database on cluster creation.\n", + "description": "Name for an automatically created database on cluster creation. Pulumi will only perform drift detection if a configuration value is provided.\n", "willReplaceOnChanges": true }, "deletionProtection": { @@ -332273,6 +332927,13 @@ "type": "boolean", "description": "Specifies whether the DB cluster is encrypted. The default is `false` unless `source_db_cluster_identifier` is specified and encrypted. The provider will only perform drift detection if a configuration value is provided.\n", "willReplaceOnChanges": true + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "A map of tags to assign to the DB cluster. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.\n" } }, "requiredInputs": [ @@ -332283,11 +332944,11 @@ "properties": { "arn": { "type": "string", - "description": "RDS Global Cluster Amazon Resource Name (ARN)\n" + "description": "RDS Global Cluster Amazon Resource Name (ARN).\n" }, "databaseName": { "type": "string", - "description": "Name for an automatically created database on cluster creation.\n", + "description": "Name for an automatically created database on cluster creation. Pulumi will only perform drift detection if a configuration value is provided.\n", "willReplaceOnChanges": true }, "deletionProtection": { @@ -332332,7 +332993,7 @@ }, "globalClusterResourceId": { "type": "string", - "description": "AWS Region-unique, immutable identifier for the global database cluster. This identifier is found in AWS CloudTrail log entries whenever the AWS KMS key for the DB cluster is accessed\n" + "description": "AWS Region-unique, immutable identifier for the global database cluster. This identifier is found in AWS CloudTrail log entries whenever the AWS KMS key for the DB cluster is accessed.\n" }, "sourceDbClusterIdentifier": { "type": "string", @@ -332343,6 +333004,21 @@ "type": "boolean", "description": "Specifies whether the DB cluster is encrypted. The default is `false` unless `source_db_cluster_identifier` is specified and encrypted. The provider will only perform drift detection if a configuration value is provided.\n", "willReplaceOnChanges": true + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "A map of tags to assign to the DB cluster. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.\n" + }, + "tagsAll": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.\n", + "deprecationMessage": "Please use `tags` instead." } }, "type": "object" @@ -332421,7 +333097,7 @@ }, "dbSubnetGroupName": { "type": "string", - "description": "Name of DB subnet group. DB instance will\nbe created in the VPC associated with the DB subnet group. If unspecified, will\nbe created in the `default` VPC, or in EC2 Classic, if available. When working\nwith read replicas, it should be specified only if the source database\nspecifies an instance in another AWS Region. See [DBSubnetGroupName in API\naction CreateDBInstanceReadReplica](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstanceReadReplica.html)\nfor additional read replica constraints.\n" + "description": "Name of DB subnet group.\nDB instance will be created in the VPC associated with the DB subnet group.\nIf unspecified, will be created in the `default` Subnet Group.\nWhen working with read replicas created in the same region, defaults to the Subnet Group Name of the source DB.\nWhen working with read replicas created in a different region, defaults to the `default` Subnet Group.\nSee [DBSubnetGroupName in API action CreateDBInstanceReadReplica](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstanceReadReplica.html) for additional read replica constraints.\n" }, "dedicatedLogVolume": { "type": "boolean", @@ -332628,7 +333304,7 @@ }, "replicateSourceDb": { "type": "string", - "description": "Specifies that this resource is a Replicate\ndatabase, and to use this value as the source database. This correlates to the\n`identifier` of another Amazon RDS Database to replicate (if replicating within\na single region) or ARN of the Amazon RDS Database to replicate (if replicating\ncross-region). Note that if you are\ncreating a cross-region replica of an encrypted database you will also need to\nspecify a `kms_key_id`. See [DB Instance Replication][instance-replication] and [Working with\nPostgreSQL and MySQL Read Replicas](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ReadRepl.html)\nfor more information on using Replication.\n" + "description": "Specifies that this resource is a Replica database, and to use this value as the source database.\nIf replicating an Amazon RDS Database Instance in the same region, use the `identifier` of the source DB, unless also specifying the `db_subnet_group_name`.\nIf specifying the `db_subnet_group_name` in the same region, use the `arn` of the source DB.\nIf replicating an Instance in a different region, use the `arn` of the source DB.\nNote that if you are creating a cross-region replica of an encrypted database you will also need to specify a `kms_key_id`.\nSee [DB Instance Replication][instance-replication] and [Working with PostgreSQL and MySQL Read Replicas](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ReadRepl.html) for more information on using Replication.\n" }, "resourceId": { "type": "string", @@ -332636,7 +333312,7 @@ }, "restoreToPointInTime": { "$ref": "#/types/aws:rds/InstanceRestoreToPointInTime:InstanceRestoreToPointInTime", - "description": "A configuration block for restoring a DB instance to an arbitrary point in time. Requires the `identifier` argument to be set with the name of the new DB instance to be created. See Restore To Point In Time below for details.\n" + "description": "A configuration block for restoring a DB instance to an arbitrary point in time.\nRequires the `identifier` argument to be set with the name of the new DB instance to be created.\nSee Restore To Point In Time below for details.\n" }, "s3Import": { "$ref": "#/types/aws:rds/InstanceS3Import:InstanceS3Import", @@ -332648,7 +333324,7 @@ }, "snapshotIdentifier": { "type": "string", - "description": "Specifies whether or not to create this\ndatabase from a snapshot. This correlates to the snapshot ID you'd find in the\nRDS console, e.g: rds:production-2015-06-26-06-05.\n" + "description": "Specifies whether or not to create this database from a snapshot.\nThis corresponds to the snapshot ID you'd find in the RDS console, e.g: rds:production-2015-06-26-06-05.\n" }, "status": { "type": "string", @@ -332687,7 +333363,7 @@ }, "upgradeStorageConfig": { "type": "boolean", - "description": "Whether to upgrade the storage file system configuration on the read replica. Can only be set with `replicate_source_db`.\n" + "description": "Whether to upgrade the storage file system configuration on the read replica.\nCan only be set with `replicate_source_db`.\n" }, "username": { "type": "string", @@ -332820,7 +333496,7 @@ }, "dbSubnetGroupName": { "type": "string", - "description": "Name of DB subnet group. DB instance will\nbe created in the VPC associated with the DB subnet group. If unspecified, will\nbe created in the `default` VPC, or in EC2 Classic, if available. When working\nwith read replicas, it should be specified only if the source database\nspecifies an instance in another AWS Region. See [DBSubnetGroupName in API\naction CreateDBInstanceReadReplica](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstanceReadReplica.html)\nfor additional read replica constraints.\n" + "description": "Name of DB subnet group.\nDB instance will be created in the VPC associated with the DB subnet group.\nIf unspecified, will be created in the `default` Subnet Group.\nWhen working with read replicas created in the same region, defaults to the Subnet Group Name of the source DB.\nWhen working with read replicas created in a different region, defaults to the `default` Subnet Group.\nSee [DBSubnetGroupName in API action CreateDBInstanceReadReplica](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstanceReadReplica.html) for additional read replica constraints.\n" }, "dedicatedLogVolume": { "type": "boolean", @@ -333004,11 +333680,11 @@ }, "replicateSourceDb": { "type": "string", - "description": "Specifies that this resource is a Replicate\ndatabase, and to use this value as the source database. This correlates to the\n`identifier` of another Amazon RDS Database to replicate (if replicating within\na single region) or ARN of the Amazon RDS Database to replicate (if replicating\ncross-region). Note that if you are\ncreating a cross-region replica of an encrypted database you will also need to\nspecify a `kms_key_id`. See [DB Instance Replication][instance-replication] and [Working with\nPostgreSQL and MySQL Read Replicas](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ReadRepl.html)\nfor more information on using Replication.\n" + "description": "Specifies that this resource is a Replica database, and to use this value as the source database.\nIf replicating an Amazon RDS Database Instance in the same region, use the `identifier` of the source DB, unless also specifying the `db_subnet_group_name`.\nIf specifying the `db_subnet_group_name` in the same region, use the `arn` of the source DB.\nIf replicating an Instance in a different region, use the `arn` of the source DB.\nNote that if you are creating a cross-region replica of an encrypted database you will also need to specify a `kms_key_id`.\nSee [DB Instance Replication][instance-replication] and [Working with PostgreSQL and MySQL Read Replicas](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ReadRepl.html) for more information on using Replication.\n" }, "restoreToPointInTime": { "$ref": "#/types/aws:rds/InstanceRestoreToPointInTime:InstanceRestoreToPointInTime", - "description": "A configuration block for restoring a DB instance to an arbitrary point in time. Requires the `identifier` argument to be set with the name of the new DB instance to be created. See Restore To Point In Time below for details.\n", + "description": "A configuration block for restoring a DB instance to an arbitrary point in time.\nRequires the `identifier` argument to be set with the name of the new DB instance to be created.\nSee Restore To Point In Time below for details.\n", "willReplaceOnChanges": true }, "s3Import": { @@ -333021,7 +333697,7 @@ }, "snapshotIdentifier": { "type": "string", - "description": "Specifies whether or not to create this\ndatabase from a snapshot. This correlates to the snapshot ID you'd find in the\nRDS console, e.g: rds:production-2015-06-26-06-05.\n", + "description": "Specifies whether or not to create this database from a snapshot.\nThis corresponds to the snapshot ID you'd find in the RDS console, e.g: rds:production-2015-06-26-06-05.\n", "willReplaceOnChanges": true }, "storageEncrypted": { @@ -333060,7 +333736,7 @@ }, "upgradeStorageConfig": { "type": "boolean", - "description": "Whether to upgrade the storage file system configuration on the read replica. Can only be set with `replicate_source_db`.\n" + "description": "Whether to upgrade the storage file system configuration on the read replica.\nCan only be set with `replicate_source_db`.\n" }, "username": { "type": "string", @@ -333156,7 +333832,7 @@ }, "dbSubnetGroupName": { "type": "string", - "description": "Name of DB subnet group. DB instance will\nbe created in the VPC associated with the DB subnet group. If unspecified, will\nbe created in the `default` VPC, or in EC2 Classic, if available. When working\nwith read replicas, it should be specified only if the source database\nspecifies an instance in another AWS Region. See [DBSubnetGroupName in API\naction CreateDBInstanceReadReplica](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstanceReadReplica.html)\nfor additional read replica constraints.\n" + "description": "Name of DB subnet group.\nDB instance will be created in the VPC associated with the DB subnet group.\nIf unspecified, will be created in the `default` Subnet Group.\nWhen working with read replicas created in the same region, defaults to the Subnet Group Name of the source DB.\nWhen working with read replicas created in a different region, defaults to the `default` Subnet Group.\nSee [DBSubnetGroupName in API action CreateDBInstanceReadReplica](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstanceReadReplica.html) for additional read replica constraints.\n" }, "dedicatedLogVolume": { "type": "boolean", @@ -333376,7 +334052,7 @@ }, "replicateSourceDb": { "type": "string", - "description": "Specifies that this resource is a Replicate\ndatabase, and to use this value as the source database. This correlates to the\n`identifier` of another Amazon RDS Database to replicate (if replicating within\na single region) or ARN of the Amazon RDS Database to replicate (if replicating\ncross-region). Note that if you are\ncreating a cross-region replica of an encrypted database you will also need to\nspecify a `kms_key_id`. See [DB Instance Replication][instance-replication] and [Working with\nPostgreSQL and MySQL Read Replicas](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ReadRepl.html)\nfor more information on using Replication.\n" + "description": "Specifies that this resource is a Replica database, and to use this value as the source database.\nIf replicating an Amazon RDS Database Instance in the same region, use the `identifier` of the source DB, unless also specifying the `db_subnet_group_name`.\nIf specifying the `db_subnet_group_name` in the same region, use the `arn` of the source DB.\nIf replicating an Instance in a different region, use the `arn` of the source DB.\nNote that if you are creating a cross-region replica of an encrypted database you will also need to specify a `kms_key_id`.\nSee [DB Instance Replication][instance-replication] and [Working with PostgreSQL and MySQL Read Replicas](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ReadRepl.html) for more information on using Replication.\n" }, "resourceId": { "type": "string", @@ -333384,7 +334060,7 @@ }, "restoreToPointInTime": { "$ref": "#/types/aws:rds/InstanceRestoreToPointInTime:InstanceRestoreToPointInTime", - "description": "A configuration block for restoring a DB instance to an arbitrary point in time. Requires the `identifier` argument to be set with the name of the new DB instance to be created. See Restore To Point In Time below for details.\n", + "description": "A configuration block for restoring a DB instance to an arbitrary point in time.\nRequires the `identifier` argument to be set with the name of the new DB instance to be created.\nSee Restore To Point In Time below for details.\n", "willReplaceOnChanges": true }, "s3Import": { @@ -333397,7 +334073,7 @@ }, "snapshotIdentifier": { "type": "string", - "description": "Specifies whether or not to create this\ndatabase from a snapshot. This correlates to the snapshot ID you'd find in the\nRDS console, e.g: rds:production-2015-06-26-06-05.\n", + "description": "Specifies whether or not to create this database from a snapshot.\nThis corresponds to the snapshot ID you'd find in the RDS console, e.g: rds:production-2015-06-26-06-05.\n", "willReplaceOnChanges": true }, "status": { @@ -333448,7 +334124,7 @@ }, "upgradeStorageConfig": { "type": "boolean", - "description": "Whether to upgrade the storage file system configuration on the read replica. Can only be set with `replicate_source_db`.\n" + "description": "Whether to upgrade the storage file system configuration on the read replica.\nCan only be set with `replicate_source_db`.\n" }, "username": { "type": "string", @@ -334081,7 +334757,7 @@ } }, "aws:rds/proxy:Proxy": { - "description": "Provides an RDS DB proxy resource. For additional information, see the [RDS User Guide](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-proxy.html).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.rds.Proxy(\"example\", {\n name: \"example\",\n debugLogging: false,\n engineFamily: \"MYSQL\",\n idleClientTimeout: 1800,\n requireTls: true,\n roleArn: exampleAwsIamRole.arn,\n vpcSecurityGroupIds: [exampleAwsSecurityGroup.id],\n vpcSubnetIds: [exampleAwsSubnet.id],\n auths: [{\n authScheme: \"SECRETS\",\n description: \"example\",\n iamAuth: \"DISABLED\",\n secretArn: exampleAwsSecretsmanagerSecret.arn,\n }],\n tags: {\n Name: \"example\",\n Key: \"value\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.rds.Proxy(\"example\",\n name=\"example\",\n debug_logging=False,\n engine_family=\"MYSQL\",\n idle_client_timeout=1800,\n require_tls=True,\n role_arn=example_aws_iam_role[\"arn\"],\n vpc_security_group_ids=[example_aws_security_group[\"id\"]],\n vpc_subnet_ids=[example_aws_subnet[\"id\"]],\n auths=[{\n \"auth_scheme\": \"SECRETS\",\n \"description\": \"example\",\n \"iam_auth\": \"DISABLED\",\n \"secret_arn\": example_aws_secretsmanager_secret[\"arn\"],\n }],\n tags={\n \"Name\": \"example\",\n \"Key\": \"value\",\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.Rds.Proxy(\"example\", new()\n {\n Name = \"example\",\n DebugLogging = false,\n EngineFamily = \"MYSQL\",\n IdleClientTimeout = 1800,\n RequireTls = true,\n RoleArn = exampleAwsIamRole.Arn,\n VpcSecurityGroupIds = new[]\n {\n exampleAwsSecurityGroup.Id,\n },\n VpcSubnetIds = new[]\n {\n exampleAwsSubnet.Id,\n },\n Auths = new[]\n {\n new Aws.Rds.Inputs.ProxyAuthArgs\n {\n AuthScheme = \"SECRETS\",\n Description = \"example\",\n IamAuth = \"DISABLED\",\n SecretArn = exampleAwsSecretsmanagerSecret.Arn,\n },\n },\n Tags = \n {\n { \"Name\", \"example\" },\n { \"Key\", \"value\" },\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.NewProxy(ctx, \"example\", \u0026rds.ProxyArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tDebugLogging: pulumi.Bool(false),\n\t\t\tEngineFamily: pulumi.String(\"MYSQL\"),\n\t\t\tIdleClientTimeout: pulumi.Int(1800),\n\t\t\tRequireTls: pulumi.Bool(true),\n\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tVpcSecurityGroupIds: pulumi.StringArray{\n\t\t\t\texampleAwsSecurityGroup.Id,\n\t\t\t},\n\t\t\tVpcSubnetIds: pulumi.StringArray{\n\t\t\t\texampleAwsSubnet.Id,\n\t\t\t},\n\t\t\tAuths: rds.ProxyAuthArray{\n\t\t\t\t\u0026rds.ProxyAuthArgs{\n\t\t\t\t\tAuthScheme: pulumi.String(\"SECRETS\"),\n\t\t\t\t\tDescription: pulumi.String(\"example\"),\n\t\t\t\t\tIamAuth: pulumi.String(\"DISABLED\"),\n\t\t\t\t\tSecretArn: pulumi.Any(exampleAwsSecretsmanagerSecret.Arn),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"example\"),\n\t\t\t\t\"Key\": pulumi.String(\"value\"),\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.Proxy;\nimport com.pulumi.aws.rds.ProxyArgs;\nimport com.pulumi.aws.rds.inputs.ProxyAuthArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 Proxy(\"example\", ProxyArgs.builder()\n .name(\"example\")\n .debugLogging(false)\n .engineFamily(\"MYSQL\")\n .idleClientTimeout(1800)\n .requireTls(true)\n .roleArn(exampleAwsIamRole.arn())\n .vpcSecurityGroupIds(exampleAwsSecurityGroup.id())\n .vpcSubnetIds(exampleAwsSubnet.id())\n .auths(ProxyAuthArgs.builder()\n .authScheme(\"SECRETS\")\n .description(\"example\")\n .iamAuth(\"DISABLED\")\n .secretArn(exampleAwsSecretsmanagerSecret.arn())\n .build())\n .tags(Map.ofEntries(\n Map.entry(\"Name\", \"example\"),\n Map.entry(\"Key\", \"value\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:rds:Proxy\n properties:\n name: example\n debugLogging: false\n engineFamily: MYSQL\n idleClientTimeout: 1800\n requireTls: true\n roleArn: ${exampleAwsIamRole.arn}\n vpcSecurityGroupIds:\n - ${exampleAwsSecurityGroup.id}\n vpcSubnetIds:\n - ${exampleAwsSubnet.id}\n auths:\n - authScheme: SECRETS\n description: example\n iamAuth: DISABLED\n secretArn: ${exampleAwsSecretsmanagerSecret.arn}\n tags:\n Name: example\n Key: value\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import DB proxies using the `name`. For example:\n\n```sh\n$ pulumi import aws:rds/proxy:Proxy example example\n```\n", + "description": "\n\n## Import\n\nUsing `pulumi import`, import DB proxies using the `name`. For example:\n\n```sh\n$ pulumi import aws:rds/proxy:Proxy example example\n```\n", "properties": { "arn": { "type": "string", @@ -341641,7 +342317,7 @@ } }, "aws:route53/profilesAssociation:ProfilesAssociation": { - "description": "Resource for managing an AWS Route 53 Profiles Association.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```yaml\nresources:\n example:\n type: aws:route53:ProfilesProfile\n properties:\n name: example\n exampleVpc:\n type: aws:ec2:Vpc\n name: example\n properties:\n cidr: 10.0.0.0/16\n exampleProfilesAssociation:\n type: aws:route53:ProfilesAssociation\n name: example\n properties:\n name: example\n profileId: ${example.id}\n resourceId: ${exampleVpc.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Route 53 Profiles Association using the `example_id_arg`. For example:\n\n```sh\n$ pulumi import aws:route53/profilesAssociation:ProfilesAssociation example rpa-id-12345678\n```\n", + "description": "Resource for managing an AWS Route 53 Profiles Association.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```yaml\nresources:\n example:\n type: aws:route53:ProfilesProfile\n properties:\n name: example\n exampleVpc:\n type: aws:ec2:Vpc\n name: example\n properties:\n cidr: 10.0.0.0/16\n exampleProfilesAssociation:\n type: aws:route53:ProfilesAssociation\n name: example\n properties:\n name: example\n profileId: ${example.id}\n resourceId: ${exampleVpc.id}\n tags:\n Environment: dev\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Route 53 Profiles Association using the `example_id_arg`. For example:\n\n```sh\n$ pulumi import aws:route53/profilesAssociation:ProfilesAssociation example rpa-id-12345678\n```\n", "properties": { "arn": { "type": "string" @@ -341663,7 +342339,7 @@ }, "status": { "type": "string", - "description": "Status of the Profile Association. See the [AWS docs](https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53profiles_Profile.html) for valid values.\n" + "description": "Status of the Profile Association.\n" }, "statusMessage": { "type": "string", @@ -341673,13 +342349,15 @@ "type": "object", "additionalProperties": { "type": "string" - } + }, + "description": "Map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.\n" }, "tagsAll": { "type": "object", "additionalProperties": { "type": "string" }, + "description": "Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.\n", "deprecationMessage": "Please use `tags` instead." }, "timeouts": { @@ -341713,7 +342391,8 @@ "type": "object", "additionalProperties": { "type": "string" - } + }, + "description": "Map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.\n" }, "timeouts": { "$ref": "#/types/aws:route53/ProfilesAssociationTimeouts:ProfilesAssociationTimeouts" @@ -341746,7 +342425,7 @@ }, "status": { "type": "string", - "description": "Status of the Profile Association. See the [AWS docs](https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53profiles_Profile.html) for valid values.\n" + "description": "Status of the Profile Association.\n" }, "statusMessage": { "type": "string", @@ -341756,13 +342435,15 @@ "type": "object", "additionalProperties": { "type": "string" - } + }, + "description": "Map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.\n" }, "tagsAll": { "type": "object", "additionalProperties": { "type": "string" }, + "description": "Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.\n", "deprecationMessage": "Please use `tags` instead." }, "timeouts": { @@ -341773,7 +342454,7 @@ } }, "aws:route53/profilesProfile:ProfilesProfile": { - "description": "Resource for managing an AWS Route 53 Profile.\n\n## Example Usage\n\n### Empty Profile\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.route53.ProfilesProfile(\"example\", {name: \"example\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.route53.ProfilesProfile(\"example\", name=\"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.ProfilesProfile(\"example\", new()\n {\n Name = \"example\",\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\t_, err := route53.NewProfilesProfile(ctx, \"example\", \u0026route53.ProfilesProfileArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.route53.ProfilesProfile;\nimport com.pulumi.aws.route53.ProfilesProfileArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 ProfilesProfile(\"example\", ProfilesProfileArgs.builder()\n .name(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:route53:ProfilesProfile\n properties:\n name: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Route 53 Profiles Profile using the `example`. For example:\n\n```sh\n$ pulumi import aws:route53/profilesProfile:ProfilesProfile example rp-12345678\n```\n", + "description": "Resource for managing an AWS Route 53 Profile.\n\n## Example Usage\n\n### Empty Profile\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.route53.ProfilesProfile(\"example\", {\n name: \"example\",\n tags: {\n Environment: \"dev\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.route53.ProfilesProfile(\"example\",\n name=\"example\",\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 example = new Aws.Route53.ProfilesProfile(\"example\", new()\n {\n Name = \"example\",\n Tags = \n {\n { \"Environment\", \"dev\" },\n },\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\t_, err := route53.NewProfilesProfile(ctx, \"example\", \u0026route53.ProfilesProfileArgs{\n\t\t\tName: pulumi.String(\"example\"),\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.route53.ProfilesProfile;\nimport com.pulumi.aws.route53.ProfilesProfileArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 ProfilesProfile(\"example\", ProfilesProfileArgs.builder()\n .name(\"example\")\n .tags(Map.of(\"Environment\", \"dev\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:route53:ProfilesProfile\n properties:\n name: example\n tags:\n Environment: dev\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Route 53 Profiles Profile using the `example`. For example:\n\n```sh\n$ pulumi import aws:route53/profilesProfile:ProfilesProfile example rp-12345678\n```\n", "properties": { "arn": { "type": "string", @@ -341788,11 +342469,11 @@ }, "shareStatus": { "type": "string", - "description": "Share status of the Profile. Valid values [AWS docs](https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53profiles_Profile.html)\n" + "description": "Share status of the Profile.\n" }, "status": { "type": "string", - "description": "Status of the Profile. Valid values [AWS docs](https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53profiles_Profile.html)\n" + "description": "Status of the Profile.\n" }, "statusMessage": { "type": "string", @@ -341802,7 +342483,8 @@ "type": "object", "additionalProperties": { "type": "string" - } + }, + "description": "Map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.\n" }, "tagsAll": { "type": "object", @@ -341834,7 +342516,8 @@ "type": "object", "additionalProperties": { "type": "string" - } + }, + "description": "Map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.\n" }, "timeouts": { "$ref": "#/types/aws:route53/ProfilesProfileTimeouts:ProfilesProfileTimeouts" @@ -341856,11 +342539,11 @@ }, "shareStatus": { "type": "string", - "description": "Share status of the Profile. Valid values [AWS docs](https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53profiles_Profile.html)\n" + "description": "Share status of the Profile.\n" }, "status": { "type": "string", - "description": "Status of the Profile. Valid values [AWS docs](https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53profiles_Profile.html)\n" + "description": "Status of the Profile.\n" }, "statusMessage": { "type": "string", @@ -341870,7 +342553,8 @@ "type": "object", "additionalProperties": { "type": "string" - } + }, + "description": "Map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.\n" }, "tagsAll": { "type": "object", @@ -354268,7 +354952,7 @@ }, "platformIdentifier": { "type": "string", - "description": "The platform identifier of the notebook instance runtime environment. This value can be either `notebook-al1-v1`, `notebook-al2-v1`, or `notebook-al2-v2`, depending on which version of Amazon Linux you require.\n" + "description": "The platform identifier of the notebook instance runtime environment. This value can be either `notebook-al1-v1`, `notebook-al2-v1`, `notebook-al2-v2`, or `notebook-al2-v3`, depending on which version of Amazon Linux you require.\n" }, "roleArn": { "type": "string", @@ -354372,7 +355056,7 @@ }, "platformIdentifier": { "type": "string", - "description": "The platform identifier of the notebook instance runtime environment. This value can be either `notebook-al1-v1`, `notebook-al2-v1`, or `notebook-al2-v2`, depending on which version of Amazon Linux you require.\n", + "description": "The platform identifier of the notebook instance runtime environment. This value can be either `notebook-al1-v1`, `notebook-al2-v1`, `notebook-al2-v2`, or `notebook-al2-v3`, depending on which version of Amazon Linux you require.\n", "willReplaceOnChanges": true }, "roleArn": { @@ -354470,7 +355154,7 @@ }, "platformIdentifier": { "type": "string", - "description": "The platform identifier of the notebook instance runtime environment. This value can be either `notebook-al1-v1`, `notebook-al2-v1`, or `notebook-al2-v2`, depending on which version of Amazon Linux you require.\n", + "description": "The platform identifier of the notebook instance runtime environment. This value can be either `notebook-al1-v1`, `notebook-al2-v1`, `notebook-al2-v2`, or `notebook-al2-v3`, depending on which version of Amazon Linux you require.\n", "willReplaceOnChanges": true }, "roleArn": { @@ -358391,12 +359075,28 @@ "name": { "type": "string", "description": "Name of the application. The name must be unique within an AWS region.\n\nThe following arguments are optional:\n" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "A map of tags assigned to the Application. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.\n" + }, + "tagsAll": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.\n", + "deprecationMessage": "Please use `tags` instead." } }, "required": [ "applicationTag", "arn", - "name" + "name", + "tagsAll" ], "inputProperties": { "description": { @@ -358406,6 +359106,13 @@ "name": { "type": "string", "description": "Name of the application. The name must be unique within an AWS region.\n\nThe following arguments are optional:\n" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "A map of tags assigned to the Application. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.\n" } }, "stateInputs": { @@ -358429,6 +359136,169 @@ "name": { "type": "string", "description": "Name of the application. The name must be unique within an AWS region.\n\nThe following arguments are optional:\n" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "A map of tags assigned to the Application. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.\n" + }, + "tagsAll": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.\n", + "deprecationMessage": "Please use `tags` instead." + } + }, + "type": "object" + } + }, + "aws:servicecatalog/appregistryAttributeGroup:AppregistryAttributeGroup": { + "description": "Resource for managing an AWS Service Catalog AppRegistry Attribute Group.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.servicecatalog.AppregistryAttributeGroup(\"example\", {\n name: \"example\",\n description: \"example description\",\n attributes: JSON.stringify({\n app: \"exampleapp\",\n group: \"examplegroup\",\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.servicecatalog.AppregistryAttributeGroup(\"example\",\n name=\"example\",\n description=\"example description\",\n attributes=json.dumps({\n \"app\": \"exampleapp\",\n \"group\": \"examplegroup\",\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.ServiceCatalog.AppregistryAttributeGroup(\"example\", new()\n {\n Name = \"example\",\n Description = \"example description\",\n Attributes = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"app\"] = \"exampleapp\",\n [\"group\"] = \"examplegroup\",\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/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\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"app\": \"exampleapp\",\n\t\t\t\"group\": \"examplegroup\",\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\t_, err = servicecatalog.NewAppregistryAttributeGroup(ctx, \"example\", \u0026servicecatalog.AppregistryAttributeGroupArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tDescription: pulumi.String(\"example description\"),\n\t\t\tAttributes: pulumi.String(json0),\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.AppregistryAttributeGroup;\nimport com.pulumi.aws.servicecatalog.AppregistryAttributeGroupArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new AppregistryAttributeGroup(\"example\", AppregistryAttributeGroupArgs.builder()\n .name(\"example\")\n .description(\"example description\")\n .attributes(serializeJson(\n jsonObject(\n jsonProperty(\"app\", \"exampleapp\"),\n jsonProperty(\"group\", \"examplegroup\")\n )))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:servicecatalog:AppregistryAttributeGroup\n properties:\n name: example\n description: example description\n attributes:\n fn::toJSON:\n app: exampleapp\n group: examplegroup\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Service Catalog AppRegistry Attribute Group using the `id`. For example:\n\n```sh\n$ pulumi import aws:servicecatalog/appregistryAttributeGroup:AppregistryAttributeGroup example 1234567890abcfedhijk09876s\n```\n", + "properties": { + "arn": { + "type": "string", + "description": "ARN of the Attribute Group.\n" + }, + "attributes": { + "type": "string", + "description": "A JSON string of nested key-value pairs that represents the attributes of the group.\n\nThe following arguments are optional:\n" + }, + "description": { + "type": "string", + "description": "Description of the Attribute Group.\n" + }, + "name": { + "type": "string", + "description": "Name of the Attribute Group.\n" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "A map of tags assigned to the Attribute Group. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.\n" + }, + "tagsAll": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.\n", + "deprecationMessage": "Please use `tags` instead." + } + }, + "required": [ + "arn", + "attributes", + "name", + "tagsAll" + ], + "inputProperties": { + "attributes": { + "type": "string", + "description": "A JSON string of nested key-value pairs that represents the attributes of the group.\n\nThe following arguments are optional:\n" + }, + "description": { + "type": "string", + "description": "Description of the Attribute Group.\n" + }, + "name": { + "type": "string", + "description": "Name of the Attribute Group.\n" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "A map of tags assigned to the Attribute Group. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.\n" + } + }, + "requiredInputs": [ + "attributes" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering AppregistryAttributeGroup resources.\n", + "properties": { + "arn": { + "type": "string", + "description": "ARN of the Attribute Group.\n" + }, + "attributes": { + "type": "string", + "description": "A JSON string of nested key-value pairs that represents the attributes of the group.\n\nThe following arguments are optional:\n" + }, + "description": { + "type": "string", + "description": "Description of the Attribute Group.\n" + }, + "name": { + "type": "string", + "description": "Name of the Attribute Group.\n" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "A map of tags assigned to the Attribute Group. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.\n" + }, + "tagsAll": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.\n", + "deprecationMessage": "Please use `tags` instead." + } + }, + "type": "object" + } + }, + "aws:servicecatalog/appregistryAttributeGroupAssociation:AppregistryAttributeGroupAssociation": { + "description": "Resource for managing an AWS Service Catalog AppRegistry Attribute Group Association.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.servicecatalog.AppregistryApplication(\"example\", {name: \"example-app\"});\nconst exampleAppregistryAttributeGroup = new aws.servicecatalog.AppregistryAttributeGroup(\"example\", {\n name: \"example\",\n description: \"example description\",\n attributes: JSON.stringify({\n app: \"exampleapp\",\n group: \"examplegroup\",\n }),\n});\nconst exampleAppregistryAttributeGroupAssociation = new aws.servicecatalog.AppregistryAttributeGroupAssociation(\"example\", {\n applicationId: example.id,\n attributeGroupId: exampleAppregistryAttributeGroup.id,\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample = aws.servicecatalog.AppregistryApplication(\"example\", name=\"example-app\")\nexample_appregistry_attribute_group = aws.servicecatalog.AppregistryAttributeGroup(\"example\",\n name=\"example\",\n description=\"example description\",\n attributes=json.dumps({\n \"app\": \"exampleapp\",\n \"group\": \"examplegroup\",\n }))\nexample_appregistry_attribute_group_association = aws.servicecatalog.AppregistryAttributeGroupAssociation(\"example\",\n application_id=example.id,\n attribute_group_id=example_appregistry_attribute_group.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.ServiceCatalog.AppregistryApplication(\"example\", new()\n {\n Name = \"example-app\",\n });\n\n var exampleAppregistryAttributeGroup = new Aws.ServiceCatalog.AppregistryAttributeGroup(\"example\", new()\n {\n Name = \"example\",\n Description = \"example description\",\n Attributes = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"app\"] = \"exampleapp\",\n [\"group\"] = \"examplegroup\",\n }),\n });\n\n var exampleAppregistryAttributeGroupAssociation = new Aws.ServiceCatalog.AppregistryAttributeGroupAssociation(\"example\", new()\n {\n ApplicationId = example.Id,\n AttributeGroupId = exampleAppregistryAttributeGroup.Id,\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/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\texample, err := servicecatalog.NewAppregistryApplication(ctx, \"example\", \u0026servicecatalog.AppregistryApplicationArgs{\n\t\t\tName: pulumi.String(\"example-app\"),\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\"app\": \"exampleapp\",\n\t\t\t\"group\": \"examplegroup\",\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\texampleAppregistryAttributeGroup, err := servicecatalog.NewAppregistryAttributeGroup(ctx, \"example\", \u0026servicecatalog.AppregistryAttributeGroupArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tDescription: pulumi.String(\"example description\"),\n\t\t\tAttributes: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = servicecatalog.NewAppregistryAttributeGroupAssociation(ctx, \"example\", \u0026servicecatalog.AppregistryAttributeGroupAssociationArgs{\n\t\t\tApplicationId: example.ID(),\n\t\t\tAttributeGroupId: exampleAppregistryAttributeGroup.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.servicecatalog.AppregistryApplication;\nimport com.pulumi.aws.servicecatalog.AppregistryApplicationArgs;\nimport com.pulumi.aws.servicecatalog.AppregistryAttributeGroup;\nimport com.pulumi.aws.servicecatalog.AppregistryAttributeGroupArgs;\nimport com.pulumi.aws.servicecatalog.AppregistryAttributeGroupAssociation;\nimport com.pulumi.aws.servicecatalog.AppregistryAttributeGroupAssociationArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new AppregistryApplication(\"example\", AppregistryApplicationArgs.builder()\n .name(\"example-app\")\n .build());\n\n var exampleAppregistryAttributeGroup = new AppregistryAttributeGroup(\"exampleAppregistryAttributeGroup\", AppregistryAttributeGroupArgs.builder()\n .name(\"example\")\n .description(\"example description\")\n .attributes(serializeJson(\n jsonObject(\n jsonProperty(\"app\", \"exampleapp\"),\n jsonProperty(\"group\", \"examplegroup\")\n )))\n .build());\n\n var exampleAppregistryAttributeGroupAssociation = new AppregistryAttributeGroupAssociation(\"exampleAppregistryAttributeGroupAssociation\", AppregistryAttributeGroupAssociationArgs.builder()\n .applicationId(example.id())\n .attributeGroupId(exampleAppregistryAttributeGroup.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:servicecatalog:AppregistryApplication\n properties:\n name: example-app\n exampleAppregistryAttributeGroup:\n type: aws:servicecatalog:AppregistryAttributeGroup\n name: example\n properties:\n name: example\n description: example description\n attributes:\n fn::toJSON:\n app: exampleapp\n group: examplegroup\n exampleAppregistryAttributeGroupAssociation:\n type: aws:servicecatalog:AppregistryAttributeGroupAssociation\n name: example\n properties:\n applicationId: ${example.id}\n attributeGroupId: ${exampleAppregistryAttributeGroup.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Service Catalog AppRegistry Attribute Group Association using `application_id` and `attribute_group_id` arguments separated by a comma (`,`). For example:\n\n```sh\n$ pulumi import aws:servicecatalog/appregistryAttributeGroupAssociation:AppregistryAttributeGroupAssociation example 12456778723424sdffsdfsdq34,12234t3564dsfsdf34asff4ww3\n```\n", + "properties": { + "applicationId": { + "type": "string", + "description": "ID of the application.\n" + }, + "attributeGroupId": { + "type": "string", + "description": "ID of the attribute group to associate with the application.\n" + } + }, + "required": [ + "applicationId", + "attributeGroupId" + ], + "inputProperties": { + "applicationId": { + "type": "string", + "description": "ID of the application.\n" + }, + "attributeGroupId": { + "type": "string", + "description": "ID of the attribute group to associate with the application.\n" + } + }, + "requiredInputs": [ + "applicationId", + "attributeGroupId" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering AppregistryAttributeGroupAssociation resources.\n", + "properties": { + "applicationId": { + "type": "string", + "description": "ID of the application.\n" + }, + "attributeGroupId": { + "type": "string", + "description": "ID of the attribute group to associate with the application.\n" } }, "type": "object" @@ -362040,7 +362910,7 @@ } }, "aws:sesv2/configurationSet:ConfigurationSet": { - "description": "Resource for managing an AWS SESv2 (Simple Email V2) Configuration Set.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.sesv2.ConfigurationSet(\"example\", {\n configurationSetName: \"example\",\n deliveryOptions: {\n tlsPolicy: \"REQUIRE\",\n },\n reputationOptions: {\n reputationMetricsEnabled: false,\n },\n sendingOptions: {\n sendingEnabled: true,\n },\n suppressionOptions: {\n suppressedReasons: [\n \"BOUNCE\",\n \"COMPLAINT\",\n ],\n },\n trackingOptions: {\n customRedirectDomain: \"example.com\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.sesv2.ConfigurationSet(\"example\",\n configuration_set_name=\"example\",\n delivery_options={\n \"tls_policy\": \"REQUIRE\",\n },\n reputation_options={\n \"reputation_metrics_enabled\": False,\n },\n sending_options={\n \"sending_enabled\": True,\n },\n suppression_options={\n \"suppressed_reasons\": [\n \"BOUNCE\",\n \"COMPLAINT\",\n ],\n },\n tracking_options={\n \"custom_redirect_domain\": \"example.com\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SesV2.ConfigurationSet(\"example\", new()\n {\n ConfigurationSetName = \"example\",\n DeliveryOptions = new Aws.SesV2.Inputs.ConfigurationSetDeliveryOptionsArgs\n {\n TlsPolicy = \"REQUIRE\",\n },\n ReputationOptions = new Aws.SesV2.Inputs.ConfigurationSetReputationOptionsArgs\n {\n ReputationMetricsEnabled = false,\n },\n SendingOptions = new Aws.SesV2.Inputs.ConfigurationSetSendingOptionsArgs\n {\n SendingEnabled = true,\n },\n SuppressionOptions = new Aws.SesV2.Inputs.ConfigurationSetSuppressionOptionsArgs\n {\n SuppressedReasons = new[]\n {\n \"BOUNCE\",\n \"COMPLAINT\",\n },\n },\n TrackingOptions = new Aws.SesV2.Inputs.ConfigurationSetTrackingOptionsArgs\n {\n CustomRedirectDomain = \"example.com\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sesv2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sesv2.NewConfigurationSet(ctx, \"example\", \u0026sesv2.ConfigurationSetArgs{\n\t\t\tConfigurationSetName: pulumi.String(\"example\"),\n\t\t\tDeliveryOptions: \u0026sesv2.ConfigurationSetDeliveryOptionsArgs{\n\t\t\t\tTlsPolicy: pulumi.String(\"REQUIRE\"),\n\t\t\t},\n\t\t\tReputationOptions: \u0026sesv2.ConfigurationSetReputationOptionsArgs{\n\t\t\t\tReputationMetricsEnabled: pulumi.Bool(false),\n\t\t\t},\n\t\t\tSendingOptions: \u0026sesv2.ConfigurationSetSendingOptionsArgs{\n\t\t\t\tSendingEnabled: pulumi.Bool(true),\n\t\t\t},\n\t\t\tSuppressionOptions: \u0026sesv2.ConfigurationSetSuppressionOptionsArgs{\n\t\t\t\tSuppressedReasons: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"BOUNCE\"),\n\t\t\t\t\tpulumi.String(\"COMPLAINT\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTrackingOptions: \u0026sesv2.ConfigurationSetTrackingOptionsArgs{\n\t\t\t\tCustomRedirectDomain: pulumi.String(\"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.sesv2.ConfigurationSet;\nimport com.pulumi.aws.sesv2.ConfigurationSetArgs;\nimport com.pulumi.aws.sesv2.inputs.ConfigurationSetDeliveryOptionsArgs;\nimport com.pulumi.aws.sesv2.inputs.ConfigurationSetReputationOptionsArgs;\nimport com.pulumi.aws.sesv2.inputs.ConfigurationSetSendingOptionsArgs;\nimport com.pulumi.aws.sesv2.inputs.ConfigurationSetSuppressionOptionsArgs;\nimport com.pulumi.aws.sesv2.inputs.ConfigurationSetTrackingOptionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 ConfigurationSet(\"example\", ConfigurationSetArgs.builder()\n .configurationSetName(\"example\")\n .deliveryOptions(ConfigurationSetDeliveryOptionsArgs.builder()\n .tlsPolicy(\"REQUIRE\")\n .build())\n .reputationOptions(ConfigurationSetReputationOptionsArgs.builder()\n .reputationMetricsEnabled(false)\n .build())\n .sendingOptions(ConfigurationSetSendingOptionsArgs.builder()\n .sendingEnabled(true)\n .build())\n .suppressionOptions(ConfigurationSetSuppressionOptionsArgs.builder()\n .suppressedReasons( \n \"BOUNCE\",\n \"COMPLAINT\")\n .build())\n .trackingOptions(ConfigurationSetTrackingOptionsArgs.builder()\n .customRedirectDomain(\"example.com\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:sesv2:ConfigurationSet\n properties:\n configurationSetName: example\n deliveryOptions:\n tlsPolicy: REQUIRE\n reputationOptions:\n reputationMetricsEnabled: false\n sendingOptions:\n sendingEnabled: true\n suppressionOptions:\n suppressedReasons:\n - BOUNCE\n - COMPLAINT\n trackingOptions:\n customRedirectDomain: example.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SESv2 (Simple Email V2) Configuration Set using the `configuration_set_name`. For example:\n\n```sh\n$ pulumi import aws:sesv2/configurationSet:ConfigurationSet example example\n```\n", + "description": "Resource for managing an AWS SESv2 (Simple Email V2) Configuration Set.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.sesv2.ConfigurationSet(\"example\", {\n configurationSetName: \"example\",\n deliveryOptions: {\n maxDeliverySeconds: 300,\n tlsPolicy: \"REQUIRE\",\n },\n reputationOptions: {\n reputationMetricsEnabled: false,\n },\n sendingOptions: {\n sendingEnabled: true,\n },\n suppressionOptions: {\n suppressedReasons: [\n \"BOUNCE\",\n \"COMPLAINT\",\n ],\n },\n trackingOptions: {\n customRedirectDomain: \"example.com\",\n httpsPolicy: \"REQUIRE\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.sesv2.ConfigurationSet(\"example\",\n configuration_set_name=\"example\",\n delivery_options={\n \"max_delivery_seconds\": 300,\n \"tls_policy\": \"REQUIRE\",\n },\n reputation_options={\n \"reputation_metrics_enabled\": False,\n },\n sending_options={\n \"sending_enabled\": True,\n },\n suppression_options={\n \"suppressed_reasons\": [\n \"BOUNCE\",\n \"COMPLAINT\",\n ],\n },\n tracking_options={\n \"custom_redirect_domain\": \"example.com\",\n \"https_policy\": \"REQUIRE\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SesV2.ConfigurationSet(\"example\", new()\n {\n ConfigurationSetName = \"example\",\n DeliveryOptions = new Aws.SesV2.Inputs.ConfigurationSetDeliveryOptionsArgs\n {\n MaxDeliverySeconds = 300,\n TlsPolicy = \"REQUIRE\",\n },\n ReputationOptions = new Aws.SesV2.Inputs.ConfigurationSetReputationOptionsArgs\n {\n ReputationMetricsEnabled = false,\n },\n SendingOptions = new Aws.SesV2.Inputs.ConfigurationSetSendingOptionsArgs\n {\n SendingEnabled = true,\n },\n SuppressionOptions = new Aws.SesV2.Inputs.ConfigurationSetSuppressionOptionsArgs\n {\n SuppressedReasons = new[]\n {\n \"BOUNCE\",\n \"COMPLAINT\",\n },\n },\n TrackingOptions = new Aws.SesV2.Inputs.ConfigurationSetTrackingOptionsArgs\n {\n CustomRedirectDomain = \"example.com\",\n HttpsPolicy = \"REQUIRE\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sesv2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sesv2.NewConfigurationSet(ctx, \"example\", \u0026sesv2.ConfigurationSetArgs{\n\t\t\tConfigurationSetName: pulumi.String(\"example\"),\n\t\t\tDeliveryOptions: \u0026sesv2.ConfigurationSetDeliveryOptionsArgs{\n\t\t\t\tMaxDeliverySeconds: pulumi.Int(300),\n\t\t\t\tTlsPolicy: pulumi.String(\"REQUIRE\"),\n\t\t\t},\n\t\t\tReputationOptions: \u0026sesv2.ConfigurationSetReputationOptionsArgs{\n\t\t\t\tReputationMetricsEnabled: pulumi.Bool(false),\n\t\t\t},\n\t\t\tSendingOptions: \u0026sesv2.ConfigurationSetSendingOptionsArgs{\n\t\t\t\tSendingEnabled: pulumi.Bool(true),\n\t\t\t},\n\t\t\tSuppressionOptions: \u0026sesv2.ConfigurationSetSuppressionOptionsArgs{\n\t\t\t\tSuppressedReasons: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"BOUNCE\"),\n\t\t\t\t\tpulumi.String(\"COMPLAINT\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTrackingOptions: \u0026sesv2.ConfigurationSetTrackingOptionsArgs{\n\t\t\t\tCustomRedirectDomain: pulumi.String(\"example.com\"),\n\t\t\t\tHttpsPolicy: pulumi.String(\"REQUIRE\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.sesv2.ConfigurationSet;\nimport com.pulumi.aws.sesv2.ConfigurationSetArgs;\nimport com.pulumi.aws.sesv2.inputs.ConfigurationSetDeliveryOptionsArgs;\nimport com.pulumi.aws.sesv2.inputs.ConfigurationSetReputationOptionsArgs;\nimport com.pulumi.aws.sesv2.inputs.ConfigurationSetSendingOptionsArgs;\nimport com.pulumi.aws.sesv2.inputs.ConfigurationSetSuppressionOptionsArgs;\nimport com.pulumi.aws.sesv2.inputs.ConfigurationSetTrackingOptionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 ConfigurationSet(\"example\", ConfigurationSetArgs.builder()\n .configurationSetName(\"example\")\n .deliveryOptions(ConfigurationSetDeliveryOptionsArgs.builder()\n .maxDeliverySeconds(300)\n .tlsPolicy(\"REQUIRE\")\n .build())\n .reputationOptions(ConfigurationSetReputationOptionsArgs.builder()\n .reputationMetricsEnabled(false)\n .build())\n .sendingOptions(ConfigurationSetSendingOptionsArgs.builder()\n .sendingEnabled(true)\n .build())\n .suppressionOptions(ConfigurationSetSuppressionOptionsArgs.builder()\n .suppressedReasons( \n \"BOUNCE\",\n \"COMPLAINT\")\n .build())\n .trackingOptions(ConfigurationSetTrackingOptionsArgs.builder()\n .customRedirectDomain(\"example.com\")\n .httpsPolicy(\"REQUIRE\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:sesv2:ConfigurationSet\n properties:\n configurationSetName: example\n deliveryOptions:\n maxDeliverySeconds: 300\n tlsPolicy: REQUIRE\n reputationOptions:\n reputationMetricsEnabled: false\n sendingOptions:\n sendingEnabled: true\n suppressionOptions:\n suppressedReasons:\n - BOUNCE\n - COMPLAINT\n trackingOptions:\n customRedirectDomain: example.com\n httpsPolicy: REQUIRE\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SESv2 (Simple Email V2) Configuration Set using the `configuration_set_name`. For example:\n\n```sh\n$ pulumi import aws:sesv2/configurationSet:ConfigurationSet example example\n```\n", "properties": { "arn": { "type": "string", @@ -382733,6 +383603,10 @@ "type": "string", "description": "Fully-qualified domain name to look up. If no domain name is found, an error will be returned.\n" }, + "domainNameId": { + "type": "string", + "description": "The identifier for the domain name resource. Supported only for private custom domain names.\n" + }, "tags": { "type": "object", "additionalProperties": { @@ -382776,6 +383650,9 @@ "domainName": { "type": "string" }, + "domainNameId": { + "type": "string" + }, "endpointConfigurations": { "description": "List of objects with the endpoint configuration of this domain name.\n", "items": { @@ -382787,6 +383664,10 @@ "description": "The provider-assigned unique ID for this managed resource.\n", "type": "string" }, + "policy": { + "description": "A stringified JSON policy document that applies to the execute-api service for this DomainName regardless of the caller and Method configuration. Supported only for private custom domain names.\n", + "type": "string" + }, "regionalCertificateArn": { "description": "ARN for an AWS-managed certificate that is used for validating the regional domain name.\n", "type": "string" @@ -382823,7 +383704,9 @@ "cloudfrontDomainName", "cloudfrontZoneId", "domainName", + "domainNameId", "endpointConfigurations", + "policy", "regionalCertificateArn", "regionalCertificateName", "regionalDomainName", @@ -386169,7 +387052,7 @@ } }, "aws:bedrock/getInferenceProfile:getInferenceProfile": { - "description": "Data source for managing an AWS Bedrock Inference Profile.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.bedrock.getInferenceProfiles({});\nconst testGetInferenceProfile = test.then(test =\u003e aws.bedrock.getInferenceProfile({\n inferenceProfileId: test.inferenceProfileSummaries?.[0]?.inferenceProfileId,\n}));\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.bedrock.get_inference_profiles()\ntest_get_inference_profile = aws.bedrock.get_inference_profile(inference_profile_id=test.inference_profile_summaries[0].inference_profile_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 test = Aws.Bedrock.GetInferenceProfiles.Invoke();\n\n var testGetInferenceProfile = Aws.Bedrock.GetInferenceProfile.Invoke(new()\n {\n InferenceProfileId = test.Apply(getInferenceProfilesResult =\u003e getInferenceProfilesResult.InferenceProfileSummaries[0]?.InferenceProfileId),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/bedrock\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := bedrock.GetInferenceProfiles(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = bedrock.GetInferenceProfile(ctx, \u0026bedrock.GetInferenceProfileArgs{\n\t\t\tInferenceProfileId: test.InferenceProfileSummaries[0].InferenceProfileId,\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.bedrock.BedrockFunctions;\nimport com.pulumi.aws.bedrock.inputs.GetInferenceProfileArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = BedrockFunctions.getInferenceProfiles();\n\n final var testGetInferenceProfile = BedrockFunctions.getInferenceProfile(GetInferenceProfileArgs.builder()\n .inferenceProfileId(test.applyValue(getInferenceProfilesResult -\u003e getInferenceProfilesResult.inferenceProfileSummaries()[0].inferenceProfileId()))\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n function: aws:bedrock:getInferenceProfiles\n arguments: {}\n testGetInferenceProfile:\n fn::invoke:\n function: aws:bedrock:getInferenceProfile\n arguments:\n inferenceProfileId: ${test.inferenceProfileSummaries[0].inferenceProfileId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Data source for managing an AWS Bedrock Inference Profile.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.bedrock.getInferenceProfiles({});\nconst testGetInferenceProfile = test.then(test =\u003e aws.bedrock.getInferenceProfile({\n inferenceProfileId: test.inferenceProfileSummaries?.[0]?.inferenceProfileId,\n}));\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.bedrock.get_inference_profiles()\ntest_get_inference_profile = aws.bedrock.get_inference_profile(inference_profile_id=test.inference_profile_summaries[0].inference_profile_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 test = Aws.Bedrock.GetInferenceProfiles.Invoke();\n\n var testGetInferenceProfile = Aws.Bedrock.GetInferenceProfile.Invoke(new()\n {\n InferenceProfileId = test.Apply(getInferenceProfilesResult =\u003e getInferenceProfilesResult.InferenceProfileSummaries[0]?.InferenceProfileId),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/bedrock\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := bedrock.GetInferenceProfiles(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = bedrock.LookupInferenceProfile(ctx, \u0026bedrock.LookupInferenceProfileArgs{\n\t\t\tInferenceProfileId: test.InferenceProfileSummaries[0].InferenceProfileId,\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.bedrock.BedrockFunctions;\nimport com.pulumi.aws.bedrock.inputs.GetInferenceProfileArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = BedrockFunctions.getInferenceProfiles();\n\n final var testGetInferenceProfile = BedrockFunctions.getInferenceProfile(GetInferenceProfileArgs.builder()\n .inferenceProfileId(test.applyValue(getInferenceProfilesResult -\u003e getInferenceProfilesResult.inferenceProfileSummaries()[0].inferenceProfileId()))\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n function: aws:bedrock:getInferenceProfiles\n arguments: {}\n testGetInferenceProfile:\n fn::invoke:\n function: aws:bedrock:getInferenceProfile\n arguments:\n inferenceProfileId: ${test.inferenceProfileSummaries[0].inferenceProfileId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getInferenceProfile.\n", "properties": { @@ -386221,7 +387104,7 @@ "type": "string" }, "type": { - "description": "The type of the inference profile. `SYSTEM_DEFINED` means that the inference profile is defined by Amazon Bedrock.\n", + "description": "The type of the inference profile. `SYSTEM_DEFINED` means that the inference profile is defined by Amazon Bedrock. `APPLICATION` means that the inference profile is defined by the user.\n", "type": "string" }, "updatedAt": { @@ -423495,6 +424378,13 @@ "name": { "description": "Name of the application.\n", "type": "string" + }, + "tags": { + "additionalProperties": { + "type": "string" + }, + "description": "A map of tags assigned to the Application. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.\n", + "type": "object" } }, "required": [ @@ -423502,7 +424392,67 @@ "arn", "description", "id", - "name" + "name", + "tags" + ], + "type": "object" + } + }, + "aws:servicecatalog/getAppregistryAttributeGroup:getAppregistryAttributeGroup": { + "description": "Data source for managing an AWS Service Catalog AppRegistry Attribute Group.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.servicecatalog.getAppregistryAttributeGroup({\n name: \"example_attribute_group\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.servicecatalog.get_appregistry_attribute_group(name=\"example_attribute_group\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.ServiceCatalog.GetAppregistryAttributeGroup.Invoke(new()\n {\n Name = \"example_attribute_group\",\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.LookupAppregistryAttributeGroup(ctx, \u0026servicecatalog.LookupAppregistryAttributeGroupArgs{\n\t\t\tName: pulumi.StringRef(\"example_attribute_group\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.servicecatalog.ServicecatalogFunctions;\nimport com.pulumi.aws.servicecatalog.inputs.GetAppregistryAttributeGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 = ServicecatalogFunctions.getAppregistryAttributeGroup(GetAppregistryAttributeGroupArgs.builder()\n .name(\"example_attribute_group\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n function: aws:servicecatalog:getAppregistryAttributeGroup\n arguments:\n name: example_attribute_group\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "inputs": { + "description": "A collection of arguments for invoking getAppregistryAttributeGroup.\n", + "properties": { + "arn": { + "type": "string", + "description": "ARN of the Attribute Group to find.\n" + }, + "id": { + "type": "string", + "description": "ID of the Attribute Group to find.\n" + }, + "name": { + "type": "string", + "description": "Name of the Attribute Group to find.\n" + } + }, + "type": "object" + }, + "outputs": { + "description": "A collection of values returned by getAppregistryAttributeGroup.\n", + "properties": { + "arn": { + "type": "string" + }, + "attributes": { + "description": "A JSON string of nested key-value pairs that represents the attributes of the group.\n", + "type": "string" + }, + "description": { + "description": "Description of the Attribute Group.\n", + "type": "string" + }, + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "tags": { + "additionalProperties": { + "type": "string" + }, + "description": "A map of tags assigned to the Attribute Group. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.\n", + "type": "object" + } + }, + "required": [ + "arn", + "attributes", + "description", + "id", + "name", + "tags" ], "type": "object" } diff --git a/provider/go.mod b/provider/go.mod index 4c78f30b0f9..d96d01bf5c1 100644 --- a/provider/go.mod +++ b/provider/go.mod @@ -78,13 +78,13 @@ require ( github.com/aws/aws-sdk-go-v2/service/appfabric v1.11.7 // indirect github.com/aws/aws-sdk-go-v2/service/appflow v1.45.8 // indirect github.com/aws/aws-sdk-go-v2/service/appintegrations v1.30.7 // indirect - github.com/aws/aws-sdk-go-v2/service/applicationautoscaling v1.34.1 // indirect + github.com/aws/aws-sdk-go-v2/service/applicationautoscaling v1.34.2 // indirect github.com/aws/aws-sdk-go-v2/service/applicationinsights v1.29.5 // indirect github.com/aws/aws-sdk-go-v2/service/applicationsignals v1.7.2 // indirect github.com/aws/aws-sdk-go-v2/service/appmesh v1.29.7 // indirect github.com/aws/aws-sdk-go-v2/service/apprunner v1.32.7 // indirect github.com/aws/aws-sdk-go-v2/service/appstream v1.41.7 // indirect - github.com/aws/aws-sdk-go-v2/service/appsync v1.40.1 // indirect + github.com/aws/aws-sdk-go-v2/service/appsync v1.40.2 // indirect github.com/aws/aws-sdk-go-v2/service/athena v1.49.0 // indirect github.com/aws/aws-sdk-go-v2/service/auditmanager v1.37.7 // indirect github.com/aws/aws-sdk-go-v2/service/autoscaling v1.51.1 // indirect @@ -92,9 +92,9 @@ require ( github.com/aws/aws-sdk-go-v2/service/backup v1.39.8 // indirect github.com/aws/aws-sdk-go-v2/service/batch v1.48.2 // indirect github.com/aws/aws-sdk-go-v2/service/bcmdataexports v1.7.7 // indirect - github.com/aws/aws-sdk-go-v2/service/bedrock v1.24.0 // indirect - github.com/aws/aws-sdk-go-v2/service/bedrockagent v1.31.0 // indirect - github.com/aws/aws-sdk-go-v2/service/budgets v1.28.7 // indirect + github.com/aws/aws-sdk-go-v2/service/bedrock v1.25.1 // indirect + github.com/aws/aws-sdk-go-v2/service/bedrockagent v1.32.0 // indirect + github.com/aws/aws-sdk-go-v2/service/budgets v1.28.8 // indirect github.com/aws/aws-sdk-go-v2/service/chatbot v1.9.1 // indirect github.com/aws/aws-sdk-go-v2/service/chime v1.34.7 // indirect github.com/aws/aws-sdk-go-v2/service/chimesdkmediapipelines v1.21.2 // indirect @@ -107,7 +107,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/cloudfrontkeyvaluestore v1.8.7 // indirect github.com/aws/aws-sdk-go-v2/service/cloudhsmv2 v1.27.8 // indirect github.com/aws/aws-sdk-go-v2/service/cloudsearch v1.26.6 // indirect - github.com/aws/aws-sdk-go-v2/service/cloudtrail v1.46.2 // indirect + github.com/aws/aws-sdk-go-v2/service/cloudtrail v1.46.3 // indirect github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.43.3 // indirect github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.45.0 // indirect github.com/aws/aws-sdk-go-v2/service/codeartifact v1.33.7 // indirect @@ -121,12 +121,12 @@ require ( github.com/aws/aws-sdk-go-v2/service/codepipeline v1.37.1 // indirect github.com/aws/aws-sdk-go-v2/service/codestarconnections v1.29.7 // indirect github.com/aws/aws-sdk-go-v2/service/codestarnotifications v1.26.7 // indirect - github.com/aws/aws-sdk-go-v2/service/cognitoidentity v1.27.7 // indirect - github.com/aws/aws-sdk-go-v2/service/cognitoidentityprovider v1.47.1 // indirect + github.com/aws/aws-sdk-go-v2/service/cognitoidentity v1.27.8 // indirect + github.com/aws/aws-sdk-go-v2/service/cognitoidentityprovider v1.48.1 // indirect github.com/aws/aws-sdk-go-v2/service/comprehend v1.35.7 // indirect github.com/aws/aws-sdk-go-v2/service/computeoptimizer v1.40.1 // indirect github.com/aws/aws-sdk-go-v2/service/configservice v1.51.1 // indirect - github.com/aws/aws-sdk-go-v2/service/connect v1.119.0 // indirect + github.com/aws/aws-sdk-go-v2/service/connect v1.120.0 // indirect github.com/aws/aws-sdk-go-v2/service/connectcases v1.21.7 // indirect github.com/aws/aws-sdk-go-v2/service/controltower v1.20.1 // indirect github.com/aws/aws-sdk-go-v2/service/costandusagereportservice v1.28.7 // indirect @@ -145,15 +145,15 @@ require ( github.com/aws/aws-sdk-go-v2/service/devopsguru v1.34.7 // indirect github.com/aws/aws-sdk-go-v2/service/directconnect v1.30.1 // indirect github.com/aws/aws-sdk-go-v2/service/directoryservice v1.30.8 // indirect - github.com/aws/aws-sdk-go-v2/service/dlm v1.28.8 // indirect + github.com/aws/aws-sdk-go-v2/service/dlm v1.28.9 // indirect github.com/aws/aws-sdk-go-v2/service/docdb v1.39.6 // indirect github.com/aws/aws-sdk-go-v2/service/docdbelastic v1.14.4 // indirect github.com/aws/aws-sdk-go-v2/service/drs v1.30.7 // indirect github.com/aws/aws-sdk-go-v2/service/dynamodb v1.38.0 // indirect - github.com/aws/aws-sdk-go-v2/service/ec2 v1.195.0 // indirect + github.com/aws/aws-sdk-go-v2/service/ec2 v1.196.0 // indirect github.com/aws/aws-sdk-go-v2/service/ecr v1.36.7 // indirect github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.27.7 // indirect - github.com/aws/aws-sdk-go-v2/service/ecs v1.52.1 // indirect + github.com/aws/aws-sdk-go-v2/service/ecs v1.52.2 // indirect github.com/aws/aws-sdk-go-v2/service/efs v1.34.1 // indirect github.com/aws/aws-sdk-go-v2/service/eks v1.53.0 // indirect github.com/aws/aws-sdk-go-v2/service/elasticache v1.44.1 // indirect @@ -163,7 +163,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/elastictranscoder v1.27.7 // indirect github.com/aws/aws-sdk-go-v2/service/emr v1.47.1 // indirect github.com/aws/aws-sdk-go-v2/service/emrcontainers v1.33.8 // indirect - github.com/aws/aws-sdk-go-v2/service/emrserverless v1.26.7 // indirect + github.com/aws/aws-sdk-go-v2/service/emrserverless v1.27.0 // indirect github.com/aws/aws-sdk-go-v2/service/eventbridge v1.36.0 // indirect github.com/aws/aws-sdk-go-v2/service/evidently v1.23.7 // indirect github.com/aws/aws-sdk-go-v2/service/finspace v1.28.7 // indirect @@ -198,8 +198,8 @@ require ( github.com/aws/aws-sdk-go-v2/service/ivschat v1.16.7 // indirect github.com/aws/aws-sdk-go-v2/service/kafka v1.38.7 // indirect github.com/aws/aws-sdk-go-v2/service/kafkaconnect v1.21.7 // indirect - github.com/aws/aws-sdk-go-v2/service/kendra v1.54.7 // indirect - github.com/aws/aws-sdk-go-v2/service/keyspaces v1.16.1 // indirect + github.com/aws/aws-sdk-go-v2/service/kendra v1.55.0 // indirect + github.com/aws/aws-sdk-go-v2/service/keyspaces v1.16.2 // indirect github.com/aws/aws-sdk-go-v2/service/kinesis v1.32.7 // indirect github.com/aws/aws-sdk-go-v2/service/kinesisanalytics v1.25.8 // indirect github.com/aws/aws-sdk-go-v2/service/kinesisanalyticsv2 v1.31.8 // indirect @@ -218,7 +218,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/macie2 v1.43.7 // indirect github.com/aws/aws-sdk-go-v2/service/mediaconnect v1.35.7 // indirect github.com/aws/aws-sdk-go-v2/service/mediaconvert v1.63.1 // indirect - github.com/aws/aws-sdk-go-v2/service/medialive v1.62.7 // indirect + github.com/aws/aws-sdk-go-v2/service/medialive v1.63.0 // indirect github.com/aws/aws-sdk-go-v2/service/mediapackage v1.34.7 // indirect github.com/aws/aws-sdk-go-v2/service/mediapackagev2 v1.20.1 // indirect github.com/aws/aws-sdk-go-v2/service/mediastore v1.24.7 // indirect @@ -245,7 +245,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/pipes v1.18.5 // indirect github.com/aws/aws-sdk-go-v2/service/polly v1.45.8 // indirect github.com/aws/aws-sdk-go-v2/service/pricing v1.32.7 // indirect - github.com/aws/aws-sdk-go-v2/service/qbusiness v1.18.0 // indirect + github.com/aws/aws-sdk-go-v2/service/qbusiness v1.19.0 // indirect github.com/aws/aws-sdk-go-v2/service/qldb v1.25.7 // indirect github.com/aws/aws-sdk-go-v2/service/quicksight v1.81.0 // indirect github.com/aws/aws-sdk-go-v2/service/ram v1.29.7 // indirect @@ -271,7 +271,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/s3control v1.52.0 // indirect github.com/aws/aws-sdk-go-v2/service/s3outposts v1.28.7 // indirect github.com/aws/aws-sdk-go-v2/service/s3tables v1.0.0 // indirect - github.com/aws/aws-sdk-go-v2/service/sagemaker v1.168.1 // indirect + github.com/aws/aws-sdk-go-v2/service/sagemaker v1.169.0 // indirect github.com/aws/aws-sdk-go-v2/service/scheduler v1.12.7 // indirect github.com/aws/aws-sdk-go-v2/service/schemas v1.28.8 // indirect github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.34.7 // indirect @@ -283,7 +283,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/servicediscovery v1.33.7 // indirect github.com/aws/aws-sdk-go-v2/service/servicequotas v1.25.7 // indirect github.com/aws/aws-sdk-go-v2/service/ses v1.29.1 // indirect - github.com/aws/aws-sdk-go-v2/service/sesv2 v1.38.4 // indirect + github.com/aws/aws-sdk-go-v2/service/sesv2 v1.40.0 // indirect github.com/aws/aws-sdk-go-v2/service/sfn v1.34.1 // indirect github.com/aws/aws-sdk-go-v2/service/shield v1.29.7 // indirect github.com/aws/aws-sdk-go-v2/service/signer v1.26.7 // indirect @@ -302,18 +302,18 @@ require ( github.com/aws/aws-sdk-go-v2/service/swf v1.27.8 // indirect github.com/aws/aws-sdk-go-v2/service/synthetics v1.30.2 // indirect github.com/aws/aws-sdk-go-v2/service/taxsettings v1.7.1 // indirect - github.com/aws/aws-sdk-go-v2/service/timestreaminfluxdb v1.6.7 // indirect + github.com/aws/aws-sdk-go-v2/service/timestreaminfluxdb v1.7.0 // indirect github.com/aws/aws-sdk-go-v2/service/timestreamwrite v1.29.8 // indirect github.com/aws/aws-sdk-go-v2/service/transcribe v1.41.7 // indirect github.com/aws/aws-sdk-go-v2/service/transfer v1.54.0 // indirect github.com/aws/aws-sdk-go-v2/service/verifiedpermissions v1.20.3 // indirect - github.com/aws/aws-sdk-go-v2/service/vpclattice v1.13.0 // indirect + github.com/aws/aws-sdk-go-v2/service/vpclattice v1.13.1 // indirect github.com/aws/aws-sdk-go-v2/service/waf v1.25.7 // indirect github.com/aws/aws-sdk-go-v2/service/wafregional v1.25.7 // indirect github.com/aws/aws-sdk-go-v2/service/wafv2 v1.55.6 // indirect github.com/aws/aws-sdk-go-v2/service/wellarchitected v1.34.7 // indirect github.com/aws/aws-sdk-go-v2/service/worklink v1.23.2 // indirect - github.com/aws/aws-sdk-go-v2/service/workspaces v1.50.2 // indirect + github.com/aws/aws-sdk-go-v2/service/workspaces v1.50.3 // indirect github.com/aws/aws-sdk-go-v2/service/workspacesweb v1.25.1 // indirect github.com/aws/aws-sdk-go-v2/service/xray v1.30.1 // indirect github.com/aws/smithy-go v1.22.1 // indirect @@ -472,23 +472,23 @@ require ( go.opentelemetry.io/otel/metric v1.32.0 // indirect go.opentelemetry.io/otel/trace v1.32.0 // indirect go.uber.org/atomic v1.9.0 // indirect - golang.org/x/crypto v0.29.0 // indirect + golang.org/x/crypto v0.31.0 // indirect golang.org/x/exp v0.0.0-20240604190554-fc45aab8b7f8 // indirect golang.org/x/mod v0.22.0 // indirect - golang.org/x/net v0.31.0 // indirect + golang.org/x/net v0.32.0 // indirect golang.org/x/oauth2 v0.23.0 // indirect - golang.org/x/sync v0.9.0 // indirect - golang.org/x/sys v0.27.0 // indirect - golang.org/x/term v0.26.0 // indirect - golang.org/x/text v0.20.0 // indirect + golang.org/x/sync v0.10.0 // indirect + golang.org/x/sys v0.28.0 // indirect + golang.org/x/term v0.27.0 // indirect + golang.org/x/text v0.21.0 // indirect golang.org/x/time v0.5.0 // indirect - golang.org/x/tools v0.27.0 // indirect + golang.org/x/tools v0.28.0 // indirect google.golang.org/api v0.169.0 // indirect google.golang.org/appengine v1.6.8 // indirect google.golang.org/genproto v0.0.0-20240311173647-c811ad7063a7 // indirect google.golang.org/genproto/googleapis/api v0.0.0-20240903143218-8af14fe29dc1 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20241202173237-19429a94021a // indirect - google.golang.org/grpc v1.68.0 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20241209162323-e6fa225c2576 // indirect + google.golang.org/grpc v1.68.1 // indirect google.golang.org/protobuf v1.35.2 // indirect gopkg.in/warnings.v0 v0.1.2 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect diff --git a/provider/go.sum b/provider/go.sum index 33e90bb88a7..0412607f73c 100644 --- a/provider/go.sum +++ b/provider/go.sum @@ -1280,8 +1280,8 @@ github.com/aws/aws-sdk-go-v2/service/appflow v1.45.8 h1:C4Ahu+vqQMgwcKfOaxdUgn0T github.com/aws/aws-sdk-go-v2/service/appflow v1.45.8/go.mod h1:m9n55ulVW0oYNVhczguWuVkoaWky0znzYCn1Is2Q4l0= github.com/aws/aws-sdk-go-v2/service/appintegrations v1.30.7 h1:LrYSdKQMAAJs8XpSfNba7Goc0m0hOEGWoNvrOWFasEw= github.com/aws/aws-sdk-go-v2/service/appintegrations v1.30.7/go.mod h1:GiSlb1fm4OJ1foTOhXcDziKm2Xre4+bcG8AnQAhjUIM= -github.com/aws/aws-sdk-go-v2/service/applicationautoscaling v1.34.1 h1:8EwNbY+A/Q5myYggLJ7v9v9f00UuWoh9S04y5kre8UQ= -github.com/aws/aws-sdk-go-v2/service/applicationautoscaling v1.34.1/go.mod h1:2mMP2R86zLPAUz0TpJdsKW8XawHgs9Nk97fYJomO3o8= +github.com/aws/aws-sdk-go-v2/service/applicationautoscaling v1.34.2 h1:2ikMzzun3sqemZqT96Q2I9ofTWEbFbEx9B1GLBMJmzk= +github.com/aws/aws-sdk-go-v2/service/applicationautoscaling v1.34.2/go.mod h1:2mMP2R86zLPAUz0TpJdsKW8XawHgs9Nk97fYJomO3o8= github.com/aws/aws-sdk-go-v2/service/applicationinsights v1.29.5 h1:dxVAH0LY3XmilHw4O4eB+kYKTu3SqujSYQlyKA6PqkM= github.com/aws/aws-sdk-go-v2/service/applicationinsights v1.29.5/go.mod h1:A+d2JfMEfDdWWMz3OfbK0IKtWjqoLaKlHt3ifC9pd04= github.com/aws/aws-sdk-go-v2/service/applicationsignals v1.7.2 h1:QL9Ak3hh3POYTr/DgOe4pn0naYOnARZ9Gy9/uIzW+Oo= @@ -1292,8 +1292,8 @@ github.com/aws/aws-sdk-go-v2/service/apprunner v1.32.7 h1:VlcGnZMtvyxACAPxWPPyWB github.com/aws/aws-sdk-go-v2/service/apprunner v1.32.7/go.mod h1:/lor1ybmbMZb2It700RSirZR8uIXzt6/EVv9b9qX3r0= github.com/aws/aws-sdk-go-v2/service/appstream v1.41.7 h1:9KTwRIeh67p4JjOtkAiUQ6Qbzui3igoFyCFGudRR9BY= github.com/aws/aws-sdk-go-v2/service/appstream v1.41.7/go.mod h1:YC50kSYeBhmjzeJKNf4CB85KN9Gdy+RKhtt4MvMx4ro= -github.com/aws/aws-sdk-go-v2/service/appsync v1.40.1 h1:+fJ03y/PaSNBw6ZrJZFnyix+hTOagn1/+iRLQbW/Crg= -github.com/aws/aws-sdk-go-v2/service/appsync v1.40.1/go.mod h1:YN/LhOApnQGAgb4AljjHkcpl+OmaLrkD6cGPL1dkajI= +github.com/aws/aws-sdk-go-v2/service/appsync v1.40.2 h1:NGExoL+9wUDfrQqX6xZavPb93IjFrKLG2b3r+suCfVY= +github.com/aws/aws-sdk-go-v2/service/appsync v1.40.2/go.mod h1:YN/LhOApnQGAgb4AljjHkcpl+OmaLrkD6cGPL1dkajI= github.com/aws/aws-sdk-go-v2/service/athena v1.49.0 h1:D+iatX9gV6gCuNd6BnUkfwfZJw/cXlEk+LwwDdSMdtw= github.com/aws/aws-sdk-go-v2/service/athena v1.49.0/go.mod h1:27ljwDsnZvfrZKsLzWD4WFjI4OZutEFIjvVtYfj9gHc= github.com/aws/aws-sdk-go-v2/service/auditmanager v1.37.7 h1:THLQzF9JZZthlhdf8i+rDCqO8K7sk2xmsgl/by0/4B4= @@ -1308,12 +1308,12 @@ github.com/aws/aws-sdk-go-v2/service/batch v1.48.2 h1:/BSZk0ywzZD4KKRt4qm33fIcXQ github.com/aws/aws-sdk-go-v2/service/batch v1.48.2/go.mod h1:5pxmENM3nBEAr2XrSs6c89Iwl6wAJk0/pkyFd3Gmav0= github.com/aws/aws-sdk-go-v2/service/bcmdataexports v1.7.7 h1:zrQ6zDzE5ohrLEpwaXGoF0PoBiSBo0oW6uW72iyF0ic= github.com/aws/aws-sdk-go-v2/service/bcmdataexports v1.7.7/go.mod h1:J+Zv3ekV1h3RyqVlxi1hCliEuI1SwugGAnmiOfwzNco= -github.com/aws/aws-sdk-go-v2/service/bedrock v1.24.0 h1:WyGNIAmXDXp59IAVi/US8K/rV6kA5F0wWg5he/BLx0M= -github.com/aws/aws-sdk-go-v2/service/bedrock v1.24.0/go.mod h1:BKSewSMuaeUidKqXArDlT06PWK/PP3wsgLWTXKeKgQw= -github.com/aws/aws-sdk-go-v2/service/bedrockagent v1.31.0 h1:Nm9+rGcx1CWDDbEiRcuQ4kwyFS24ajcxNn8ca/aqAw0= -github.com/aws/aws-sdk-go-v2/service/bedrockagent v1.31.0/go.mod h1:d+BIleA83BNMLQbwc1gYB/Kgrogwl4lzn2RN+XPIC0s= -github.com/aws/aws-sdk-go-v2/service/budgets v1.28.7 h1:MaBE1kMoZnJ7sxK7wtR7qVe4ggfMz9681DoQZtasgII= -github.com/aws/aws-sdk-go-v2/service/budgets v1.28.7/go.mod h1:jhUXdAWAOIKQReti3jcD8zaDjyayYBAuhmijh8+rYrk= +github.com/aws/aws-sdk-go-v2/service/bedrock v1.25.1 h1:zMEJeGsIuYpjO4Osdll4EdOemC01Fx1nmXOAjJzALLs= +github.com/aws/aws-sdk-go-v2/service/bedrock v1.25.1/go.mod h1:BKSewSMuaeUidKqXArDlT06PWK/PP3wsgLWTXKeKgQw= +github.com/aws/aws-sdk-go-v2/service/bedrockagent v1.32.0 h1:hnoHWrcuFtnhPcg0Cx0HtWsXcQGZe01Y0OqssMIBy9o= +github.com/aws/aws-sdk-go-v2/service/bedrockagent v1.32.0/go.mod h1:d+BIleA83BNMLQbwc1gYB/Kgrogwl4lzn2RN+XPIC0s= +github.com/aws/aws-sdk-go-v2/service/budgets v1.28.8 h1:o6Y4kxaKJmj30MzyfP9JBj86OncxIXuQBWhTrl2pCuA= +github.com/aws/aws-sdk-go-v2/service/budgets v1.28.8/go.mod h1:jhUXdAWAOIKQReti3jcD8zaDjyayYBAuhmijh8+rYrk= github.com/aws/aws-sdk-go-v2/service/chatbot v1.9.1 h1:g+Xnw4sHm/T5xDTlNvPBeM6gAAQSzj7EwOI0vBXscSE= github.com/aws/aws-sdk-go-v2/service/chatbot v1.9.1/go.mod h1:lpKKa8zv8/MTIHRh1JB24Y+R/RXLE6BWxnFCQ/b0W2M= github.com/aws/aws-sdk-go-v2/service/chime v1.34.7 h1:iHBLzHxZF2vRCQzm9fKp7yA6X2nnUzqeVF3TY60tqhQ= @@ -1338,8 +1338,8 @@ github.com/aws/aws-sdk-go-v2/service/cloudhsmv2 v1.27.8 h1:3WVykb3vPvTQ7Ht1LgUzc github.com/aws/aws-sdk-go-v2/service/cloudhsmv2 v1.27.8/go.mod h1:l9Gu/zoAKx1ww1ZtRlSj8qP80AV742bDP337N5NkY3o= github.com/aws/aws-sdk-go-v2/service/cloudsearch v1.26.6 h1:m1CAIBZzVi05OAocQs7SzY3gLsGGNBmg+qpHA7HQteU= github.com/aws/aws-sdk-go-v2/service/cloudsearch v1.26.6/go.mod h1:4ogUNAMmF9rtIYGYnFm21WXc/8+lcAuoNYUkS534MfI= -github.com/aws/aws-sdk-go-v2/service/cloudtrail v1.46.2 h1:DrN2vg75JseLCepYjMVav43e+v7+AhArtWlm2F0OJ6Y= -github.com/aws/aws-sdk-go-v2/service/cloudtrail v1.46.2/go.mod h1:WcTfALKgqv+VCMRCLtG4155sAwcfdYhFADc/yDJgSlc= +github.com/aws/aws-sdk-go-v2/service/cloudtrail v1.46.3 h1:DfrEQMWCfk0wkuv/r0zwcGoykCuYWCLoGolbax6O3sw= +github.com/aws/aws-sdk-go-v2/service/cloudtrail v1.46.3/go.mod h1:WcTfALKgqv+VCMRCLtG4155sAwcfdYhFADc/yDJgSlc= github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.43.3 h1:nQLG9irjDGUFXVPDHzjCGEEwh0hZ6BcxTvHOod1YsP4= github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.43.3/go.mod h1:URs8sqsyaxiAZkKP6tOEmhcs9j2ynFIomqOKY/CAHJc= github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.45.0 h1:j9rGKWaYglZpf9KbJCQVM/L85Y4UdGMgK80A1OddR24= @@ -1366,18 +1366,18 @@ github.com/aws/aws-sdk-go-v2/service/codestarconnections v1.29.7 h1:5bDPXYGWnZ9n github.com/aws/aws-sdk-go-v2/service/codestarconnections v1.29.7/go.mod h1:K9YY4T95yT7BVqHvDjSo8h9yxftqPvWYDFfuCxtHF/g= github.com/aws/aws-sdk-go-v2/service/codestarnotifications v1.26.7 h1:12UdLytB/DylaodJgGl0CUBT7Zz2xRskdlrHst29JVE= github.com/aws/aws-sdk-go-v2/service/codestarnotifications v1.26.7/go.mod h1:yDbe8Oh55gPuNdJzsv3CFbHV7d5wvUoLkFhql0p+y1U= -github.com/aws/aws-sdk-go-v2/service/cognitoidentity v1.27.7 h1:Mr0Fl/TJ1ZtkTOtX3wpgzqL6ZI+WOTnxHF0X0OlZyXo= -github.com/aws/aws-sdk-go-v2/service/cognitoidentity v1.27.7/go.mod h1:eVAaMRWHgjdGuTJCjlmcwYleskahesLPrGFV4MpQYvA= -github.com/aws/aws-sdk-go-v2/service/cognitoidentityprovider v1.47.1 h1:isjmZUmhAMzCLs38LnWVIKqWRSkItqZVGpdJowlmV/Y= -github.com/aws/aws-sdk-go-v2/service/cognitoidentityprovider v1.47.1/go.mod h1:U+GnB0KkXI5SgVMzW2J1FHMGbAiObr1XaIGZSMejLlI= +github.com/aws/aws-sdk-go-v2/service/cognitoidentity v1.27.8 h1:mgVSYWMnSZ6QTeCd84IXaxvw0cgAMxq4R6Weo9vejzU= +github.com/aws/aws-sdk-go-v2/service/cognitoidentity v1.27.8/go.mod h1:eVAaMRWHgjdGuTJCjlmcwYleskahesLPrGFV4MpQYvA= +github.com/aws/aws-sdk-go-v2/service/cognitoidentityprovider v1.48.1 h1:qMJk1I55avN/vN+51rPdE0dLgkhWrlU6Cw0Wg34eQvM= +github.com/aws/aws-sdk-go-v2/service/cognitoidentityprovider v1.48.1/go.mod h1:U+GnB0KkXI5SgVMzW2J1FHMGbAiObr1XaIGZSMejLlI= github.com/aws/aws-sdk-go-v2/service/comprehend v1.35.7 h1:z6WD4P7bvSJNlmNVDsfNP/e5o0Zmbz9oM2wOgFWCHRA= github.com/aws/aws-sdk-go-v2/service/comprehend v1.35.7/go.mod h1:M+Z8mhHoSWbr3Q1V8ZaINLLj0p1WGYWjCv/kO4IgUVw= github.com/aws/aws-sdk-go-v2/service/computeoptimizer v1.40.1 h1:iH/z1Q7WYbT2MoTkEIMvR32Ip+FFRuD74EKXUqYLP+k= github.com/aws/aws-sdk-go-v2/service/computeoptimizer v1.40.1/go.mod h1:Epb43KiHofSehPHq6PEQZ07hcl/Euv4vUi7kEcC7J7I= github.com/aws/aws-sdk-go-v2/service/configservice v1.51.1 h1:zA4KArT5FZ4ypJc8X+7MJNN3iv74K8ygmFhci64M4YI= github.com/aws/aws-sdk-go-v2/service/configservice v1.51.1/go.mod h1:2fOznUkaoZ2EtJimN0zizQRxQmkndSJz/SSd2x0goKo= -github.com/aws/aws-sdk-go-v2/service/connect v1.119.0 h1:uZ2hecASZoYuuGLHa252ss5SSbFYEhcS/SSWUa/u9kE= -github.com/aws/aws-sdk-go-v2/service/connect v1.119.0/go.mod h1:tuGtOUYMxcOObTcKDHKpzTG9EvjfXjOIEC74a6meGRk= +github.com/aws/aws-sdk-go-v2/service/connect v1.120.0 h1:ny7ogs5eNh369uhRNfjCD7EK3EgtMDbgYXDLh74juqk= +github.com/aws/aws-sdk-go-v2/service/connect v1.120.0/go.mod h1:tuGtOUYMxcOObTcKDHKpzTG9EvjfXjOIEC74a6meGRk= github.com/aws/aws-sdk-go-v2/service/connectcases v1.21.7 h1:uWiDzkr4L/KMlftI2OqmELmsv0ZGxeyi3YAo266wJzs= github.com/aws/aws-sdk-go-v2/service/connectcases v1.21.7/go.mod h1:/FZ+YQmJpAdZPR4Z1tA1mIxA/SmLmUlgrn3sZOAmnfQ= github.com/aws/aws-sdk-go-v2/service/controltower v1.20.1 h1:fpqsKm/4mA+oOn2IM62syUhcVZMU3Gc7tl8HTd4Ul+k= @@ -1414,8 +1414,8 @@ github.com/aws/aws-sdk-go-v2/service/directconnect v1.30.1 h1:U2VtqwmOzP7sZYWmrn github.com/aws/aws-sdk-go-v2/service/directconnect v1.30.1/go.mod h1:IVHMPfXzPHdq2JuZmnyreo2Dhhlu84Vel/tochYKgh8= github.com/aws/aws-sdk-go-v2/service/directoryservice v1.30.8 h1:o3yUhrImWkJuI42DyTJu7REWf1+EUNlwfmLpo2yXzb0= github.com/aws/aws-sdk-go-v2/service/directoryservice v1.30.8/go.mod h1:CxYqXrb08ko/psMpQ692AcEFXCuB+sVuWA2OZPB32t0= -github.com/aws/aws-sdk-go-v2/service/dlm v1.28.8 h1:Ez/XAeVo6h1hd4dk+r0JADhEqR3fhDPOIgzkWcbKPns= -github.com/aws/aws-sdk-go-v2/service/dlm v1.28.8/go.mod h1:SBPSK/ycAG4ET3JblaBP2Xt52RjNcg827EFgqN8W7AY= +github.com/aws/aws-sdk-go-v2/service/dlm v1.28.9 h1:orqq8yNI2QHyO5o6g7b+3JVZhA4pVVEit7F8/5ZGi/Q= +github.com/aws/aws-sdk-go-v2/service/dlm v1.28.9/go.mod h1:SBPSK/ycAG4ET3JblaBP2Xt52RjNcg827EFgqN8W7AY= github.com/aws/aws-sdk-go-v2/service/docdb v1.39.6 h1:N2iwdECLOQuClhv3XdTgGSY75N7QHF5nDekPGoFpRyY= github.com/aws/aws-sdk-go-v2/service/docdb v1.39.6/go.mod h1:pa9tid/NTUDjayagl5El0KVg9IiV3hJEKVxFmvyc+J8= github.com/aws/aws-sdk-go-v2/service/docdbelastic v1.14.4 h1:pT1NLJ04YA/05ZEbYBNhminfsbKBvHDlOh8ScoMZybA= @@ -1424,14 +1424,14 @@ github.com/aws/aws-sdk-go-v2/service/drs v1.30.7 h1:0jUZJqidFnPF9LlSSsYD9yQcbIYL github.com/aws/aws-sdk-go-v2/service/drs v1.30.7/go.mod h1:myL1h4VGyN3HU1B/7WBs2MsjKYX3FugwPJ09muIM8tE= github.com/aws/aws-sdk-go-v2/service/dynamodb v1.38.0 h1:isKhHsjpQR3CypQJ4G1g8QWx7zNpiC/xKw1zjgJYVno= github.com/aws/aws-sdk-go-v2/service/dynamodb v1.38.0/go.mod h1:xDvUyIkwBwNtVZJdHEwAuhFly3mezwdEWkbJ5oNYwIw= -github.com/aws/aws-sdk-go-v2/service/ec2 v1.195.0 h1:F3pFi50sK30DZ4IkkNpHwTLGeal5c3nlKuvTgv7xec4= -github.com/aws/aws-sdk-go-v2/service/ec2 v1.195.0/go.mod h1:00zqVNJFK6UASrTnuvjJHJuaqUdkVz5tW8Ip+VhzuNg= +github.com/aws/aws-sdk-go-v2/service/ec2 v1.196.0 h1:ZBtoihAqfT+5b1FwGHOubq8k10KwaIyKZd2/CRTucAU= +github.com/aws/aws-sdk-go-v2/service/ec2 v1.196.0/go.mod h1:00zqVNJFK6UASrTnuvjJHJuaqUdkVz5tW8Ip+VhzuNg= github.com/aws/aws-sdk-go-v2/service/ecr v1.36.7 h1:R+5XKIJga2K9Dkj0/iQ6fD/MBGo02oxGGFTc512lK/Q= github.com/aws/aws-sdk-go-v2/service/ecr v1.36.7/go.mod h1:fDPQV/6ONOQOjvtKhtypIy1wcGLcKYtoK/lvZ9fyDGQ= github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.27.7 h1:eddAe+FnCCLECUKHUHLM9/iAlqDkyRjZk/84+eo0ToE= github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.27.7/go.mod h1:lik3qEJ4TBnQrEKoZnFh8E8nn5oZSebnB/pydq8oQRQ= -github.com/aws/aws-sdk-go-v2/service/ecs v1.52.1 h1:85SGI/Db9I8PT2rvDLIRGxXdSzuyC4ZKDJwfzuv7WqQ= -github.com/aws/aws-sdk-go-v2/service/ecs v1.52.1/go.mod h1:Ghi1OWUv4+VMEULWiHsKH2gNA3KAcMoLWsvU0eRXvIA= +github.com/aws/aws-sdk-go-v2/service/ecs v1.52.2 h1:LRM6z+wmXqAgCvuH36RR+Wf8SZZhvOVjt6f5r38V2II= +github.com/aws/aws-sdk-go-v2/service/ecs v1.52.2/go.mod h1:Ghi1OWUv4+VMEULWiHsKH2gNA3KAcMoLWsvU0eRXvIA= github.com/aws/aws-sdk-go-v2/service/efs v1.34.1 h1:y2BaF/VBEQM5Gi27ZOX1jSKRQLNifOfvegkqKKDPNEM= github.com/aws/aws-sdk-go-v2/service/efs v1.34.1/go.mod h1:0c/j249PCFk5d/KHJsBIoCVdnZa9Or71J/fqC/n63BA= github.com/aws/aws-sdk-go-v2/service/eks v1.53.0 h1:ACTxnLwL6YNmuYbxtp/VR3HGL9SWXU6VZkXPjWST9ZQ= @@ -1452,8 +1452,8 @@ github.com/aws/aws-sdk-go-v2/service/emr v1.47.1 h1:7vjckLqynZflJB13FUfp1oWOvmAh github.com/aws/aws-sdk-go-v2/service/emr v1.47.1/go.mod h1:Bae8t4Qt9r5jnngv9coFhXIHvFBCzlplxsqzm2pOLTs= github.com/aws/aws-sdk-go-v2/service/emrcontainers v1.33.8 h1:tr2CAqQqNsOQqlQTNFJ0HW4o4A/era9mnq/9UnnVZng= github.com/aws/aws-sdk-go-v2/service/emrcontainers v1.33.8/go.mod h1:BAo50mn0HxLW1w5N96Y3KluxU//eaQkpQv2O0LLPsw4= -github.com/aws/aws-sdk-go-v2/service/emrserverless v1.26.7 h1:9mmljOULuO7Q0foAf32HWwyhgbm+oLGeVwaGadp08lY= -github.com/aws/aws-sdk-go-v2/service/emrserverless v1.26.7/go.mod h1:HAlr1TP57Lswg9mwg+5SyoeDRMMj98chLBn9BRq/SmE= +github.com/aws/aws-sdk-go-v2/service/emrserverless v1.27.0 h1:505TF4yWD2kbKrjKW5+QtrAb7Ow2AdkWRkvhhUG8lk8= +github.com/aws/aws-sdk-go-v2/service/emrserverless v1.27.0/go.mod h1:HAlr1TP57Lswg9mwg+5SyoeDRMMj98chLBn9BRq/SmE= github.com/aws/aws-sdk-go-v2/service/eventbridge v1.36.0 h1:UBCwgevYbPDbPb8LKyCmyBJ0Lk/gCPq4v85rZLe3vr4= github.com/aws/aws-sdk-go-v2/service/eventbridge v1.36.0/go.mod h1:ve9wzd6ToYjkZrF0nesNJxy14kU77QjrH5Rixrr4NJY= github.com/aws/aws-sdk-go-v2/service/evidently v1.23.7 h1:Y4KQFc4uXRZRUS0c8zauTd0t0vAMvQrAS06DqwyvWMg= @@ -1522,10 +1522,10 @@ github.com/aws/aws-sdk-go-v2/service/kafka v1.38.7 h1:RjCwdphB+wBtT/qQw6e7c6HOZ7 github.com/aws/aws-sdk-go-v2/service/kafka v1.38.7/go.mod h1:6ezJjIOpnDf+Q/BJ2CIITrcdXSvfUS1zwjnEHHPa8oU= github.com/aws/aws-sdk-go-v2/service/kafkaconnect v1.21.7 h1:OSj7D23vSCmeHSp8IQUuSvc57cUi6FwYQ634FgbMdOY= github.com/aws/aws-sdk-go-v2/service/kafkaconnect v1.21.7/go.mod h1:oy7uAjiwfudbkCbOW5nIBNhzPEsQbnbcNO18JgdVqZU= -github.com/aws/aws-sdk-go-v2/service/kendra v1.54.7 h1:tOVT7NRS+pv4o1/X8V8Abd/Pa+rVCvwfkdxCfPqofoI= -github.com/aws/aws-sdk-go-v2/service/kendra v1.54.7/go.mod h1:/HuziZyTc3mY3YW5DqgZAnyhFoK38EMCqnASuWrpYoo= -github.com/aws/aws-sdk-go-v2/service/keyspaces v1.16.1 h1:6H6WaX339sByRffHdcX7yCG7JeFM4Z/61+uvGLleQNw= -github.com/aws/aws-sdk-go-v2/service/keyspaces v1.16.1/go.mod h1:hW+Z1zESPAefZ33sgnMvY1ADVCiPI2e8v1vTQcz/MDY= +github.com/aws/aws-sdk-go-v2/service/kendra v1.55.0 h1:9I8Wi0EDviprTdQfgI75ax4mL/A9GAef/UqBst4rL2s= +github.com/aws/aws-sdk-go-v2/service/kendra v1.55.0/go.mod h1:/HuziZyTc3mY3YW5DqgZAnyhFoK38EMCqnASuWrpYoo= +github.com/aws/aws-sdk-go-v2/service/keyspaces v1.16.2 h1:uHvt8hkpzVedMpTDiLeH99Jsok2hQLk2SrRLUaSSIKQ= +github.com/aws/aws-sdk-go-v2/service/keyspaces v1.16.2/go.mod h1:hW+Z1zESPAefZ33sgnMvY1ADVCiPI2e8v1vTQcz/MDY= github.com/aws/aws-sdk-go-v2/service/kinesis v1.32.7 h1:QTtbqxI+i2gaWjcTwJZtm8/xEl9kiQXXbOatGabNuXA= github.com/aws/aws-sdk-go-v2/service/kinesis v1.32.7/go.mod h1:5aKZaOb2yfdeAOvfam0/6HoUXg01pN172bn7MqpM35c= github.com/aws/aws-sdk-go-v2/service/kinesisanalytics v1.25.8 h1:0h1EmAZ5VTdoteDEzE9OlTr7OXZGO56eMxOGGceioBE= @@ -1562,8 +1562,8 @@ github.com/aws/aws-sdk-go-v2/service/mediaconnect v1.35.7 h1:8fTYn2M9KBwvo/MN4S5 github.com/aws/aws-sdk-go-v2/service/mediaconnect v1.35.7/go.mod h1:NyaKp3HdG4vD6gNfnIwGsl68/4vneSu1cok7yZAOB/U= github.com/aws/aws-sdk-go-v2/service/mediaconvert v1.63.1 h1:O0PufOavkptAta6HE7q128zvKV4jcZ5PbyyIRbUsWI8= github.com/aws/aws-sdk-go-v2/service/mediaconvert v1.63.1/go.mod h1:4B8R+NlIvQUF77Rpqe2r4xQceaUVXCFYfbJ2ASlocbc= -github.com/aws/aws-sdk-go-v2/service/medialive v1.62.7 h1:BdMoauoIpEII5wAfLUnyTJpaiigoqzRctfTtQpdiYwE= -github.com/aws/aws-sdk-go-v2/service/medialive v1.62.7/go.mod h1:3941uJpLJirB+Xc5CM5rsVMeQuNkp0UMrdswdqvOelQ= +github.com/aws/aws-sdk-go-v2/service/medialive v1.63.0 h1:ruaE4sWsaXFjxpafxUDrPVXhxIK0V2gMAfpPpRZ0R1M= +github.com/aws/aws-sdk-go-v2/service/medialive v1.63.0/go.mod h1:3941uJpLJirB+Xc5CM5rsVMeQuNkp0UMrdswdqvOelQ= github.com/aws/aws-sdk-go-v2/service/mediapackage v1.34.7 h1:NEDXmP4JZxYVPcU+rvIcLUPM6kEhCS2lw09weM1a0WI= github.com/aws/aws-sdk-go-v2/service/mediapackage v1.34.7/go.mod h1:E4wTOblO64Lm0JHaNwxx1klyfyQ3rKje2J0CwQ6Q4XE= github.com/aws/aws-sdk-go-v2/service/mediapackagev2 v1.20.1 h1:F+do5xWXqiQhY4sVpYwzVxrER5h6IKfedgFJVuAfpF0= @@ -1616,8 +1616,8 @@ github.com/aws/aws-sdk-go-v2/service/polly v1.45.8 h1:qP67eGQ8myAxyd9+ZA6AZc0nYF github.com/aws/aws-sdk-go-v2/service/polly v1.45.8/go.mod h1:Bn1paZpSkDKa1vVJcx5DnDZOFMxMrgR7s74igJuhMTk= github.com/aws/aws-sdk-go-v2/service/pricing v1.32.7 h1:9UDHX1ZgcXUTAGcyxmw04r/6OVG/aUpQ7dZUziR+vTM= github.com/aws/aws-sdk-go-v2/service/pricing v1.32.7/go.mod h1:68s1DYctoo30LibzEY6gLajXbQEhxpn49+zYFy+Q5Xs= -github.com/aws/aws-sdk-go-v2/service/qbusiness v1.18.0 h1:Wazwv3/svgvNu31XSsX0fdcwAzuEDKklcMv/V5PNcFE= -github.com/aws/aws-sdk-go-v2/service/qbusiness v1.18.0/go.mod h1:cmW8VmRWKpSEhqy70H3+QCFfHcTguZMZphBIdqcWsIo= +github.com/aws/aws-sdk-go-v2/service/qbusiness v1.19.0 h1:Kso/qtJxdA8weHZiidLoeQDn5xYQhjRGd0QGtR637LE= +github.com/aws/aws-sdk-go-v2/service/qbusiness v1.19.0/go.mod h1:cmW8VmRWKpSEhqy70H3+QCFfHcTguZMZphBIdqcWsIo= github.com/aws/aws-sdk-go-v2/service/qldb v1.25.7 h1:TWJzwB7S/SBBVitz/0HtdB7pqyf1iv9OUCQ6qeYob5Q= github.com/aws/aws-sdk-go-v2/service/qldb v1.25.7/go.mod h1:8AyevnOHnUsSNTlqH723oxU2hGgIdhVsUjtDS6JIi8w= github.com/aws/aws-sdk-go-v2/service/quicksight v1.81.0 h1:U/ktIgrHh0l1Azkhl8sNxNvknhz1Ql6PtEgluc9R8GU= @@ -1668,8 +1668,8 @@ github.com/aws/aws-sdk-go-v2/service/s3outposts v1.28.7 h1:yUuN4xIlI/2bUqniq5OdI github.com/aws/aws-sdk-go-v2/service/s3outposts v1.28.7/go.mod h1:yCIumXPHLHsjmrD8P9UvXFVT0R9R+Wlqut71bW5+ZY4= github.com/aws/aws-sdk-go-v2/service/s3tables v1.0.0 h1:akXaBXvSIT3ca7Ojnc1TX+2pTK6lhyodZTYTrdUD6Vc= github.com/aws/aws-sdk-go-v2/service/s3tables v1.0.0/go.mod h1:X85zeZUOEsqLnH/CShIydM9ANVMwXHL1A/pvTMSQw6U= -github.com/aws/aws-sdk-go-v2/service/sagemaker v1.168.1 h1:Sz0HMK2/8itHAb9ABnMOEHfpOAIxk2a+f6EMsw7jn54= -github.com/aws/aws-sdk-go-v2/service/sagemaker v1.168.1/go.mod h1:LoIh7abCP1rQng1kxJVJOTux55TaYN2tVN7G+zNbhus= +github.com/aws/aws-sdk-go-v2/service/sagemaker v1.169.0 h1:keGexhxWOl6TmtE3QI+ofpgFIgdMLc3lfkwgjuSXe1o= +github.com/aws/aws-sdk-go-v2/service/sagemaker v1.169.0/go.mod h1:LoIh7abCP1rQng1kxJVJOTux55TaYN2tVN7G+zNbhus= github.com/aws/aws-sdk-go-v2/service/scheduler v1.12.7 h1:lRA+BvESWVoldCxaw3SG9UssITkVref8rlVy5xCsh0A= github.com/aws/aws-sdk-go-v2/service/scheduler v1.12.7/go.mod h1:hCwaxwoPRJmODF1jv6HvbUyT9q7Ak43LesgkvNvZ0PI= github.com/aws/aws-sdk-go-v2/service/schemas v1.28.8 h1:9TVRGRx70yb6sa0QHQiASkQJvi/7yyHjSgacjqtuoGs= @@ -1692,8 +1692,8 @@ github.com/aws/aws-sdk-go-v2/service/servicequotas v1.25.7 h1:MpCqFu4StEaeuKFfcf github.com/aws/aws-sdk-go-v2/service/servicequotas v1.25.7/go.mod h1:Idae0gtkk4euj6ncytZGgDkkyZKmkFasf1mbZZ0RA6s= github.com/aws/aws-sdk-go-v2/service/ses v1.29.1 h1:2e4bmSER1FF330Xu8p0nwnV4Ctdb0VzLQPUV15xs3iY= github.com/aws/aws-sdk-go-v2/service/ses v1.29.1/go.mod h1:axmD03yvc8MIBcQkETvptcdw+wySwdc8MpYzQixku2w= -github.com/aws/aws-sdk-go-v2/service/sesv2 v1.38.4 h1:6qEG7Ee2TgPtiCRMyK0VK5ZCh5GXdsyXSpcbE+tPjpA= -github.com/aws/aws-sdk-go-v2/service/sesv2 v1.38.4/go.mod h1:dI4OVSVcgeQXlqjRN8zspZVtYxmDis1rZwpopBeu3dc= +github.com/aws/aws-sdk-go-v2/service/sesv2 v1.40.0 h1:iZSAegNa3SPiSAtEdgk/YjkvxewlWZmFmeV5jRWKors= +github.com/aws/aws-sdk-go-v2/service/sesv2 v1.40.0/go.mod h1:3HwKVNBED+1798uQndpI+aYLKjw7gutYS3rur2GQEDY= github.com/aws/aws-sdk-go-v2/service/sfn v1.34.1 h1:EsBALm4m1lGz5riWufNKWguTFOt7Nze7m0wVIzIq8wU= github.com/aws/aws-sdk-go-v2/service/sfn v1.34.1/go.mod h1:svXjjW4/t8lsSJa4+AUxYPevCzfw3m+z8sk4XcSsosU= github.com/aws/aws-sdk-go-v2/service/shield v1.29.7 h1:S4nh0xUMZyNkhm7R5r2ITaa966JUYklMGug5LQHWefk= @@ -1730,8 +1730,8 @@ github.com/aws/aws-sdk-go-v2/service/synthetics v1.30.2 h1:k/jiEnfNxjWewwhKbdqkv github.com/aws/aws-sdk-go-v2/service/synthetics v1.30.2/go.mod h1:S/mI+GqL6A6JNbKqu0M9qKop3LOE6X96OzXdJX0rO6w= github.com/aws/aws-sdk-go-v2/service/taxsettings v1.7.1 h1:eJp5OnMaO41jYGwemZSOtmWf2g/TSAYfWEQDfZ6yBP4= github.com/aws/aws-sdk-go-v2/service/taxsettings v1.7.1/go.mod h1:izz7C90kWSbYfURLt+atG6pdCvOP3AFjGEznRf0YgGw= -github.com/aws/aws-sdk-go-v2/service/timestreaminfluxdb v1.6.7 h1:JQUps7DzFbYEAHZb6O9xJCAU1GVN396Vu0Pjj9VoGPc= -github.com/aws/aws-sdk-go-v2/service/timestreaminfluxdb v1.6.7/go.mod h1:oIpMQLOrjkZVCZl0ff5cDgE/zZuFE4PwVb61+2fkELk= +github.com/aws/aws-sdk-go-v2/service/timestreaminfluxdb v1.7.0 h1:Cqjh7UV5nW8VXuvpwtlpboGn7az0PjpQuaWdQbBMgzY= +github.com/aws/aws-sdk-go-v2/service/timestreaminfluxdb v1.7.0/go.mod h1:oIpMQLOrjkZVCZl0ff5cDgE/zZuFE4PwVb61+2fkELk= github.com/aws/aws-sdk-go-v2/service/timestreamwrite v1.29.8 h1:chzp64fl/hknlRR9jlstQDB4bYaf848v7KmzUB13omA= github.com/aws/aws-sdk-go-v2/service/timestreamwrite v1.29.8/go.mod h1:6r72p62vXJL+0VTgk9rVV7i9+C0qTcx+HuL56XT9Pus= github.com/aws/aws-sdk-go-v2/service/transcribe v1.41.7 h1:KJ5CkGw76hEoR66sJRZFgiRGxtybWGuQgvnJ+Q6qTtA= @@ -1740,8 +1740,8 @@ github.com/aws/aws-sdk-go-v2/service/transfer v1.54.0 h1:IA34IDWH2ooVUIPOidlQL1w github.com/aws/aws-sdk-go-v2/service/transfer v1.54.0/go.mod h1:UV0UI3xdWUkyarrq5gViMKtXx4EWBKQsSpPxc+rdJCA= github.com/aws/aws-sdk-go-v2/service/verifiedpermissions v1.20.3 h1:3HJY3Fym+WfG/BQmrrGq5hS80th6Vlx3VM2ZyaH41Lo= github.com/aws/aws-sdk-go-v2/service/verifiedpermissions v1.20.3/go.mod h1:myoi8VQCWyHnkfxRjkM1H5lFQilgGXbU2ulwAVqxeow= -github.com/aws/aws-sdk-go-v2/service/vpclattice v1.13.0 h1:UvZSATW4nNWJFzsBmgVvosdrlLTPgtpaDfra2afaSlk= -github.com/aws/aws-sdk-go-v2/service/vpclattice v1.13.0/go.mod h1:LLTXSn+ChGS/Ejt+akSlR0QBJ2VJVibiKQfp/IovK7Q= +github.com/aws/aws-sdk-go-v2/service/vpclattice v1.13.1 h1:i2NuSEXw9cKW4zCT57AsL6v4VnX86dsxz4d9GQc4FwU= +github.com/aws/aws-sdk-go-v2/service/vpclattice v1.13.1/go.mod h1:LLTXSn+ChGS/Ejt+akSlR0QBJ2VJVibiKQfp/IovK7Q= github.com/aws/aws-sdk-go-v2/service/waf v1.25.7 h1:QatDy5lb2iXs9GPxuPSRDogX2HesmmUXu0GCDCQ7exQ= github.com/aws/aws-sdk-go-v2/service/waf v1.25.7/go.mod h1:Jx83wxDXt4tq2UEhy4ODhqgpb6NBkQRs4TSkcHfBPcg= github.com/aws/aws-sdk-go-v2/service/wafregional v1.25.7 h1:9V+YZqYy+FvDzZF16xXE7IWYlNWJKurMay7HC+ZGm0A= @@ -1752,8 +1752,8 @@ github.com/aws/aws-sdk-go-v2/service/wellarchitected v1.34.7 h1:e4VW/f+S98RAKzHZ github.com/aws/aws-sdk-go-v2/service/wellarchitected v1.34.7/go.mod h1:X1zN/DRROy1bpTCMdQqVLd4/hLaM3GbMhVURUW8F8mA= github.com/aws/aws-sdk-go-v2/service/worklink v1.23.2 h1:VN3Qydtdl3UlJRHVxQxSP1d8I5gtvT5zdaCCAfZST7Y= github.com/aws/aws-sdk-go-v2/service/worklink v1.23.2/go.mod h1:Z3RLpIq4q49syd921XdsKeD584kPu89iKTEjluh7908= -github.com/aws/aws-sdk-go-v2/service/workspaces v1.50.2 h1:VfPamxDTVfbKWP3UPDt3iJ8msHkHfIvqZNUhLjtGD9Q= -github.com/aws/aws-sdk-go-v2/service/workspaces v1.50.2/go.mod h1:OX0I9k3wOSsRCrdqAUOVEDLHupani0n+UJ80TY0fIWc= +github.com/aws/aws-sdk-go-v2/service/workspaces v1.50.3 h1:gYpO2qaIaGoQp9TFjSl0ZENQpXIUEUNGT2AaByo4DKE= +github.com/aws/aws-sdk-go-v2/service/workspaces v1.50.3/go.mod h1:OX0I9k3wOSsRCrdqAUOVEDLHupani0n+UJ80TY0fIWc= github.com/aws/aws-sdk-go-v2/service/workspacesweb v1.25.1 h1:PrMt4dBsy0rdfuMcFYlqOQNSgHmF+gCGbV0M/8MbYd8= github.com/aws/aws-sdk-go-v2/service/workspacesweb v1.25.1/go.mod h1:pwgFCLPLVoTNXQxG6LZdpXBGMr2wmVZBDci+yfuGZi8= github.com/aws/aws-sdk-go-v2/service/xray v1.30.1 h1:BqsNRmYVd9CLJtcTwlJftM5oCsmuHcKm8ajJjYscP0Q= @@ -2653,8 +2653,8 @@ golang.org/x/crypto v0.15.0/go.mod h1:4ChreQoLWfG3xLDer1WdlH5NdlQ3+mwnQq1YTKY+72 golang.org/x/crypto v0.16.0/go.mod h1:gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq4= golang.org/x/crypto v0.17.0/go.mod h1:gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq4= golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU= -golang.org/x/crypto v0.29.0 h1:L5SG1JTTXupVV3n6sUqMTeWbjAyfPwoda2DLX8J8FrQ= -golang.org/x/crypto v0.29.0/go.mod h1:+F4F4N5hv6v38hfeYwTdx20oUvLLc+QfrE9Ax9HtgRg= +golang.org/x/crypto v0.31.0 h1:ihbySMvVjLAeSH1IbfcRTkD/iNscyz8rGzjF/E5hV6U= +golang.org/x/crypto v0.31.0/go.mod h1:kDsLvtWBEx7MV9tJOj9bnXsPbxwJQ6csT/x4KIN4Ssk= 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= @@ -2799,8 +2799,8 @@ golang.org/x/net v0.16.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE= golang.org/x/net v0.17.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE= golang.org/x/net v0.18.0/go.mod h1:/czyP5RqHAH4odGYxBJ1qz0+CE5WZ+2j1YgoEo8F2jQ= golang.org/x/net v0.19.0/go.mod h1:CfAk/cbD4CthTvqiEl8NpboMuiuOYsAr/7NOjZJtv1U= -golang.org/x/net v0.31.0 h1:68CPQngjLL0r2AlUKiSxtQFKvzRVbnzLwMUn5SzcLHo= -golang.org/x/net v0.31.0/go.mod h1:P4fl1q7dY2hnZFxEk4pPSkDHF+QqjitcnDjUQyMM+pM= +golang.org/x/net v0.32.0 h1:ZqPmj8Kzc+Y6e0+skZsuACbx+wzMgo5MQsJh9Qd6aYI= +golang.org/x/net v0.32.0/go.mod h1:CwU0IoeOlnQQWJ6ioyFrfRuomB8GKF6KbYXZVyeXNfs= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -2858,8 +2858,8 @@ golang.org/x/sync v0.2.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.3.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y= golang.org/x/sync v0.4.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y= golang.org/x/sync v0.5.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= -golang.org/x/sync v0.9.0 h1:fEo0HyrW1GIgZdpbhCRO0PkJajUS5H9IFUztCgEo2jQ= -golang.org/x/sync v0.9.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= +golang.org/x/sync v0.10.0 h1:3NQrjDixjgGwUOCaF8w2+VYHv0Ve/vGYSbdkTa98gmQ= +golang.org/x/sync v0.10.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -2969,8 +2969,8 @@ golang.org/x/sys v0.14.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.15.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.16.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/sys v0.27.0 h1:wBqf8DvsY9Y/2P8gAfPDEYNuS30J4lPHJxXSb/nJZ+s= -golang.org/x/sys v0.27.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA= +golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.0.0-20220722155259-a9ba230a4035/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= @@ -2990,8 +2990,8 @@ golang.org/x/term v0.13.0/go.mod h1:LTmsnFJwVN6bCy1rVCoS+qHT1HhALEFxKncY3WNNh4U= golang.org/x/term v0.14.0/go.mod h1:TySc+nGkYR6qt8km8wUhuFRTVSMIX3XPR58y2lC8vww= golang.org/x/term v0.15.0/go.mod h1:BDl952bC7+uMoWR75FIrCDx79TPU9oHkTZ9yRbYOrX0= golang.org/x/term v0.17.0/go.mod h1:lLRBjIVuehSbZlaOtGMbcMncT+aqLLLmKrsjNrUguwk= -golang.org/x/term v0.26.0 h1:WEQa6V3Gja/BhNxg540hBip/kkaYtRg3cxg4oXSw4AU= -golang.org/x/term v0.26.0/go.mod h1:Si5m1o57C5nBNQo5z1iq+XDijt21BDBDp2bK0QI8e3E= +golang.org/x/term v0.27.0 h1:WP60Sv1nlK1T6SupCHbXzSaN0b9wUmsPoRS9b61A23Q= +golang.org/x/term v0.27.0/go.mod h1:iMsnZpn0cago0GOrHO2+Y7u7JPn5AylBrcoWkElMTSM= 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= @@ -3013,8 +3013,8 @@ golang.org/x/text v0.11.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= golang.org/x/text v0.12.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= -golang.org/x/text v0.20.0 h1:gK/Kv2otX8gz+wn7Rmb3vT96ZwuoxnQlY+HlJVj7Qug= -golang.org/x/text v0.20.0/go.mod h1:D4IsuqiFMhST5bX19pQ9ikHC2GsaKyk/oF+pn3ducp4= +golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo= +golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= @@ -3096,8 +3096,8 @@ golang.org/x/tools v0.9.1/go.mod h1:owI94Op576fPu3cIGQeHs3joujW/2Oc6MtlxbF5dfNc= golang.org/x/tools v0.9.3/go.mod h1:owI94Op576fPu3cIGQeHs3joujW/2Oc6MtlxbF5dfNc= golang.org/x/tools v0.10.0/go.mod h1:UJwyiVBsOA2uwvK/e5OY3GTpDUJriEd+/YlqAwLPmyM= golang.org/x/tools v0.13.0/go.mod h1:HvlwmtVNQAhOuCjW7xxvovg8wbNq7LwfXh/k7wXUl58= -golang.org/x/tools v0.27.0 h1:qEKojBykQkQ4EynWy4S8Weg69NumxKdn40Fce3uc/8o= -golang.org/x/tools v0.27.0/go.mod h1:sUi0ZgbwW9ZPAq26Ekut+weQPR5eIM6GQLQ1Yjm1H0Q= +golang.org/x/tools v0.28.0 h1:WuB6qZ4RPCQo5aP3WdKZS7i595EdWqWR8vqJTlwTVK8= +golang.org/x/tools v0.28.0/go.mod h1:dcIOrVd3mfQKTgrDVQHqCPMWy6lnhfhtX3hLXYVLfRw= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= @@ -3385,8 +3385,8 @@ google.golang.org/genproto/googleapis/rpc v0.0.0-20231012201019-e917dd12ba7a/go. google.golang.org/genproto/googleapis/rpc v0.0.0-20231016165738-49dd2c1f3d0b/go.mod h1:swOH3j0KzcDDgGUWr+SNpyTen5YrXjS3eyPzFYKc6lc= google.golang.org/genproto/googleapis/rpc v0.0.0-20231030173426-d783a09b4405/go.mod h1:67X1fPuzjcrkymZzZV1vvkFeTn2Rvc6lYF9MYFGCcwE= google.golang.org/genproto/googleapis/rpc v0.0.0-20231106174013-bbf56f31fb17/go.mod h1:oQ5rr10WTTMvP4A36n8JpR1OrO1BEiV4f78CneXZxkA= -google.golang.org/genproto/googleapis/rpc v0.0.0-20241202173237-19429a94021a h1:hgh8P4EuoxpsuKMXX/To36nOFD7vixReXgn8lPGnt+o= -google.golang.org/genproto/googleapis/rpc v0.0.0-20241202173237-19429a94021a/go.mod h1:5uTbfoYQed2U9p3KIj2/Zzm02PYhndfdmML0qC3q3FU= +google.golang.org/genproto/googleapis/rpc v0.0.0-20241209162323-e6fa225c2576 h1:8ZmaLZE4XWrtU3MyClkYqqtl6Oegr3235h7jxsDyqCY= +google.golang.org/genproto/googleapis/rpc v0.0.0-20241209162323-e6fa225c2576/go.mod h1:5uTbfoYQed2U9p3KIj2/Zzm02PYhndfdmML0qC3q3FU= google.golang.org/grpc v1.14.0/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= @@ -3437,8 +3437,8 @@ google.golang.org/grpc v1.58.2/go.mod h1:tgX3ZQDlNJGU96V6yHh1T/JeoBQ2TXdr43YbYSs google.golang.org/grpc v1.58.3/go.mod h1:tgX3ZQDlNJGU96V6yHh1T/JeoBQ2TXdr43YbYSsCJk0= google.golang.org/grpc v1.59.0/go.mod h1:aUPDwccQo6OTjy7Hct4AfBPD1GptF4fyUjIkQ9YtF98= google.golang.org/grpc v1.61.1/go.mod h1:VUbo7IFqmF1QtCAstipjG0GIoq49KvMe9+h1jFLBNJs= -google.golang.org/grpc v1.68.0 h1:aHQeeJbo8zAkAa3pRzrVjZlbz6uSfeOXlJNQM0RAbz0= -google.golang.org/grpc v1.68.0/go.mod h1:fmSPC5AsjSBCK54MyHRx48kpOti1/jRfOlwEWywNjWA= +google.golang.org/grpc v1.68.1 h1:oI5oTa11+ng8r8XMMN7jAOmWfPZWbYpCFaMUTACxkM0= +google.golang.org/grpc v1.68.1/go.mod h1:+q1XYFJjShcqn0QZHvCyeR4CXPA+llXIeUIfIe00waw= google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= diff --git a/provider/replacements.json b/provider/replacements.json index d09eee1d3e0..2fe4e97e3ba 100644 --- a/provider/replacements.json +++ b/provider/replacements.json @@ -1709,6 +1709,10 @@ { "old": "When you upgrade the version of an `aws_rds_global_cluster`, Terraform will attempt to in-place upgrade the engine versions of all associated clusters. Since the `aws_rds_cluster` resource is being updated through the `aws_rds_global_cluster`, you are likely to get an error (`Provider produced inconsistent final plan`). To avoid this, use the `lifecycle` `ignore_changes` meta argument as shown below on the `aws_rds_cluster`.", "new": "When you upgrade the version of an `aws_rds_global_cluster`, the provider will attempt to in-place upgrade the engine versions of all associated clusters. Since the `aws_rds_cluster` resource is being updated through the `aws_rds_global_cluster`, you are likely to get an error (`Provider produced inconsistent final plan`). To avoid this, use the `lifecycle` `ignore_changes` meta argument as shown below on the `aws_rds_cluster`." + }, + { + "old": "* `database_name` - (Optional, Forces new resources) Name for an automatically created database on cluster creation. Terraform will only perform drift detection if a configuration value is provided.\n", + "new": "* `database_name` - (Optional, Forces new resources) Name for an automatically created database on cluster creation. Pulumi will only perform drift detection if a configuration value is provided.\n" } ], "route.html.markdown": [ diff --git a/provider/resources.go b/provider/resources.go index f319325095e..0213bdd1f58 100644 --- a/provider/resources.go +++ b/provider/resources.go @@ -5964,33 +5964,48 @@ func setupComputedIDs(prov *tfbridge.ProviderInfo) { ) (resource.ID, error) { return attrWithSeparator(state, "identifier"), nil } + prov.Resources["aws_s3tables_table_bucket"].ComputeID = func( ctx context.Context, state resource.PropertyMap, ) (resource.ID, error) { return attrWithSeparator(state, "arn"), nil } - prov.Resources["aws_s3tables_table_policy"].ComputeID = func( ctx context.Context, state resource.PropertyMap, ) (resource.ID, error) { return attrWithSeparator(state, ";", "tableBucketArn", "namespace", "name"), nil } - prov.Resources["aws_s3tables_table"].ComputeID = func( ctx context.Context, state resource.PropertyMap, ) (resource.ID, error) { return attrWithSeparator(state, ";", "tableBucketArn", "namespace", "name"), nil } - prov.Resources["aws_s3tables_namespace"].ComputeID = func( ctx context.Context, state resource.PropertyMap, ) (resource.ID, error) { return attrWithSeparator(state, ";", "tableBucketArn", "namespace"), nil } - prov.Resources["aws_s3tables_table_bucket_policy"].ComputeID = func( ctx context.Context, state resource.PropertyMap, ) (resource.ID, error) { return attrWithSeparator(state, "tableBucketArn"), nil } + + prov.Resources["aws_servicecatalogappregistry_attribute_group_association"].ComputeID = func( + ctx context.Context, state resource.PropertyMap, + ) (resource.ID, error) { + return attrWithSeparator(state, ",", "applicationId", "attributeGroupId"), nil + } + + prov.Resources["aws_ecr_account_setting"].ComputeID = func( + ctx context.Context, state resource.PropertyMap, + ) (resource.ID, error) { + return attr(state, "name"), nil + } + + prov.Resources["aws_cloudwatch_log_anomaly_detector"].ComputeID = func( + ctx context.Context, state resource.PropertyMap, + ) (resource.ID, error) { + return attr(state, "arn"), nil + } } diff --git a/sdk/dotnet/Alb/Listener.cs b/sdk/dotnet/Alb/Listener.cs index a2aa53ec409..14b10f09be8 100644 --- a/sdk/dotnet/Alb/Listener.cs +++ b/sdk/dotnet/Alb/Listener.cs @@ -403,6 +403,8 @@ public partial class Listener : global::Pulumi.CustomResource /// /// A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + /// + /// > **Note::** When a `Name` key is specified in the map, the AWS Console maps the value to the `Name Tag` column value inside the `Listener Rules` table within a specific load balancer listener page. Otherwise, the value resolves to `Default`. /// [Output("tags")] public Output?> Tags { get; private set; } = null!; @@ -530,6 +532,8 @@ public InputList DefaultActions /// /// A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + /// + /// > **Note::** When a `Name` key is specified in the map, the AWS Console maps the value to the `Name Tag` column value inside the `Listener Rules` table within a specific load balancer listener page. Otherwise, the value resolves to `Default`. /// public InputMap Tags { @@ -618,6 +622,8 @@ public InputList DefaultActions /// /// A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + /// + /// > **Note::** When a `Name` key is specified in the map, the AWS Console maps the value to the `Name Tag` column value inside the `Listener Rules` table within a specific load balancer listener page. Otherwise, the value resolves to `Default`. /// public InputMap Tags { diff --git a/sdk/dotnet/ApiGateway/BasePathMapping.cs b/sdk/dotnet/ApiGateway/BasePathMapping.cs index bb9fa417011..68e8e957dd3 100644 --- a/sdk/dotnet/ApiGateway/BasePathMapping.cs +++ b/sdk/dotnet/ApiGateway/BasePathMapping.cs @@ -18,7 +18,9 @@ namespace Pulumi.Aws.ApiGateway /// /// For a non-root `base_path`: /// - /// Using `pulumi import`, import `aws_api_gateway_base_path_mapping` using the domain name and base path. For example: + /// For a non-root `base_path` and a private custom domain name: + /// + /// Using `pulumi import`, import `aws_api_gateway_base_path_mapping` using the domain name and base path or domain name, base path and domain name ID (for private custom domain names). For example: /// /// For an empty `base_path` or, in other words, a root path (`/`): /// @@ -30,6 +32,11 @@ namespace Pulumi.Aws.ApiGateway /// ```sh /// $ pulumi import aws:apigateway/basePathMapping:BasePathMapping example example.com/base-path /// ``` + /// For a non-root `base_path` and a private custom domain name: + /// + /// ```sh + /// $ pulumi import aws:apigateway/basePathMapping:BasePathMapping example api.internal.example.com/base-path/abcde12345 + /// ``` /// [AwsResourceType("aws:apigateway/basePathMapping:BasePathMapping")] public partial class BasePathMapping : global::Pulumi.CustomResource @@ -46,6 +53,12 @@ public partial class BasePathMapping : global::Pulumi.CustomResource [Output("domainName")] public Output DomainName { get; private set; } = null!; + /// + /// The identifier for the domain name resource. Supported only for private custom domain names. + /// + [Output("domainNameId")] + public Output DomainNameId { get; private set; } = null!; + /// /// ID of the API to connect. /// @@ -116,6 +129,12 @@ public sealed class BasePathMappingArgs : global::Pulumi.ResourceArgs [Input("domainName", required: true)] public Input DomainName { get; set; } = null!; + /// + /// The identifier for the domain name resource. Supported only for private custom domain names. + /// + [Input("domainNameId")] + public Input? DomainNameId { get; set; } + /// /// ID of the API to connect. /// @@ -148,6 +167,12 @@ public sealed class BasePathMappingState : global::Pulumi.ResourceArgs [Input("domainName")] public Input? DomainName { get; set; } + /// + /// The identifier for the domain name resource. Supported only for private custom domain names. + /// + [Input("domainNameId")] + public Input? DomainNameId { get; set; } + /// /// ID of the API to connect. /// diff --git a/sdk/dotnet/ApiGateway/DomainName.cs b/sdk/dotnet/ApiGateway/DomainName.cs index 48b44fe286c..00162378a67 100644 --- a/sdk/dotnet/ApiGateway/DomainName.cs +++ b/sdk/dotnet/ApiGateway/DomainName.cs @@ -119,11 +119,18 @@ namespace Pulumi.Aws.ApiGateway /// /// ## Import /// - /// Using `pulumi import`, import API Gateway domain names using their `name`. For example: + /// For a private custom domain name: + /// + /// Using `pulumi import`, import API Gateway domain names using their `name` or `name` and `domain_name_id` (for private custom domain names). For example: /// /// ```sh /// $ pulumi import aws:apigateway/domainName:DomainName example dev.example.com /// ``` + /// For a private custom domain name: + /// + /// ```sh + /// $ pulumi import aws:apigateway/domainName:DomainName example dev.api.internal.example.com/abcde12345 + /// ``` /// [AwsResourceType("aws:apigateway/domainName:DomainName")] public partial class DomainName : global::Pulumi.CustomResource @@ -188,6 +195,12 @@ public partial class DomainName : global::Pulumi.CustomResource [Output("domainName")] public Output Domain { get; private set; } = null!; + /// + /// The identifier for the domain name resource. Supported only for private custom domain names. + /// + [Output("domainNameId")] + public Output DomainNameId { get; private set; } = null!; + /// /// Configuration block defining API endpoint information including type. See below. /// @@ -206,6 +219,12 @@ public partial class DomainName : global::Pulumi.CustomResource [Output("ownershipVerificationCertificateArn")] public Output OwnershipVerificationCertificateArn { get; private set; } = null!; + /// + /// A stringified JSON policy document that applies to the execute-api service for this DomainName regardless of the caller and Method configuration. Supported only for private custom domain names. + /// + [Output("policy")] + public Output Policy { get; private set; } = null!; + /// /// ARN for an AWS-managed certificate. AWS Certificate Manager is the only supported source. Used when a regional domain name is desired. Conflicts with `certificate_arn`, `certificate_name`, `certificate_body`, `certificate_chain`, and `certificate_private_key`. /// @@ -366,6 +385,12 @@ public Input? CertificatePrivateKey [Input("ownershipVerificationCertificateArn")] public Input? OwnershipVerificationCertificateArn { get; set; } + /// + /// A stringified JSON policy document that applies to the execute-api service for this DomainName regardless of the caller and Method configuration. Supported only for private custom domain names. + /// + [Input("policy")] + public Input? Policy { get; set; } + /// /// ARN for an AWS-managed certificate. AWS Certificate Manager is the only supported source. Used when a regional domain name is desired. Conflicts with `certificate_arn`, `certificate_name`, `certificate_body`, `certificate_chain`, and `certificate_private_key`. /// @@ -478,6 +503,12 @@ public Input? CertificatePrivateKey [Input("domainName")] public Input? Domain { get; set; } + /// + /// The identifier for the domain name resource. Supported only for private custom domain names. + /// + [Input("domainNameId")] + public Input? DomainNameId { get; set; } + /// /// Configuration block defining API endpoint information including type. See below. /// @@ -496,6 +527,12 @@ public Input? CertificatePrivateKey [Input("ownershipVerificationCertificateArn")] public Input? OwnershipVerificationCertificateArn { get; set; } + /// + /// A stringified JSON policy document that applies to the execute-api service for this DomainName regardless of the caller and Method configuration. Supported only for private custom domain names. + /// + [Input("policy")] + public Input? Policy { get; set; } + /// /// ARN for an AWS-managed certificate. AWS Certificate Manager is the only supported source. Used when a regional domain name is desired. Conflicts with `certificate_arn`, `certificate_name`, `certificate_body`, `certificate_chain`, and `certificate_private_key`. /// diff --git a/sdk/dotnet/ApiGateway/GetDomainName.cs b/sdk/dotnet/ApiGateway/GetDomainName.cs index 2ba1256dc72..9e5230da020 100644 --- a/sdk/dotnet/ApiGateway/GetDomainName.cs +++ b/sdk/dotnet/ApiGateway/GetDomainName.cs @@ -69,6 +69,12 @@ public sealed class GetDomainNameArgs : global::Pulumi.InvokeArgs [Input("domainName", required: true)] public string DomainName { get; set; } = null!; + /// + /// The identifier for the domain name resource. Supported only for private custom domain names. + /// + [Input("domainNameId")] + public string? DomainNameId { get; set; } + [Input("tags")] private Dictionary? _tags; @@ -95,6 +101,12 @@ public sealed class GetDomainNameInvokeArgs : global::Pulumi.InvokeArgs [Input("domainName", required: true)] public Input DomainName { get; set; } = null!; + /// + /// The identifier for the domain name resource. Supported only for private custom domain names. + /// + [Input("domainNameId")] + public Input? DomainNameId { get; set; } + [Input("tags")] private InputMap? _tags; @@ -142,6 +154,7 @@ public sealed class GetDomainNameResult /// public readonly string CloudfrontZoneId; public readonly string DomainName; + public readonly string DomainNameId; /// /// List of objects with the endpoint configuration of this domain name. /// @@ -151,6 +164,10 @@ public sealed class GetDomainNameResult /// public readonly string Id; /// + /// A stringified JSON policy document that applies to the execute-api service for this DomainName regardless of the caller and Method configuration. Supported only for private custom domain names. + /// + public readonly string Policy; + /// /// ARN for an AWS-managed certificate that is used for validating the regional domain name. /// public readonly string RegionalCertificateArn; @@ -191,10 +208,14 @@ private GetDomainNameResult( string domainName, + string domainNameId, + ImmutableArray endpointConfigurations, string id, + string policy, + string regionalCertificateArn, string regionalCertificateName, @@ -214,8 +235,10 @@ private GetDomainNameResult( CloudfrontDomainName = cloudfrontDomainName; CloudfrontZoneId = cloudfrontZoneId; DomainName = domainName; + DomainNameId = domainNameId; EndpointConfigurations = endpointConfigurations; Id = id; + Policy = policy; RegionalCertificateArn = regionalCertificateArn; RegionalCertificateName = regionalCertificateName; RegionalDomainName = regionalDomainName; diff --git a/sdk/dotnet/ApiGateway/Inputs/DomainNameEndpointConfigurationArgs.cs b/sdk/dotnet/ApiGateway/Inputs/DomainNameEndpointConfigurationArgs.cs index c1deed165db..b635bff028a 100644 --- a/sdk/dotnet/ApiGateway/Inputs/DomainNameEndpointConfigurationArgs.cs +++ b/sdk/dotnet/ApiGateway/Inputs/DomainNameEndpointConfigurationArgs.cs @@ -13,7 +13,7 @@ namespace Pulumi.Aws.ApiGateway.Inputs public sealed class DomainNameEndpointConfigurationArgs : global::Pulumi.ResourceArgs { /// - /// List of endpoint types. This resource currently only supports managing a single value. Valid values: `EDGE` or `REGIONAL`. If unspecified, defaults to `EDGE`. Must be declared as `REGIONAL` in non-Commercial partitions. Refer to the [documentation](https://docs.aws.amazon.com/apigateway/latest/developerguide/create-regional-api.html) for more information on the difference between edge-optimized and regional APIs. + /// A list of endpoint types of an API or its custom domain name. For an edge-optimized API and its custom domain name, the endpoint type is `EDGE`. For a regional API and its custom domain name, the endpoint type is `REGIONAL`. For a private API, the endpoint type is `PRIVATE`. /// [Input("types", required: true)] public Input Types { get; set; } = null!; diff --git a/sdk/dotnet/ApiGateway/Inputs/DomainNameEndpointConfigurationGetArgs.cs b/sdk/dotnet/ApiGateway/Inputs/DomainNameEndpointConfigurationGetArgs.cs index d911e41b5ea..3174cf06b3f 100644 --- a/sdk/dotnet/ApiGateway/Inputs/DomainNameEndpointConfigurationGetArgs.cs +++ b/sdk/dotnet/ApiGateway/Inputs/DomainNameEndpointConfigurationGetArgs.cs @@ -13,7 +13,7 @@ namespace Pulumi.Aws.ApiGateway.Inputs public sealed class DomainNameEndpointConfigurationGetArgs : global::Pulumi.ResourceArgs { /// - /// List of endpoint types. This resource currently only supports managing a single value. Valid values: `EDGE` or `REGIONAL`. If unspecified, defaults to `EDGE`. Must be declared as `REGIONAL` in non-Commercial partitions. Refer to the [documentation](https://docs.aws.amazon.com/apigateway/latest/developerguide/create-regional-api.html) for more information on the difference between edge-optimized and regional APIs. + /// A list of endpoint types of an API or its custom domain name. For an edge-optimized API and its custom domain name, the endpoint type is `EDGE`. For a regional API and its custom domain name, the endpoint type is `REGIONAL`. For a private API, the endpoint type is `PRIVATE`. /// [Input("types", required: true)] public Input Types { get; set; } = null!; diff --git a/sdk/dotnet/ApiGateway/Outputs/DomainNameEndpointConfiguration.cs b/sdk/dotnet/ApiGateway/Outputs/DomainNameEndpointConfiguration.cs index f28dc755f0a..efb08060b92 100644 --- a/sdk/dotnet/ApiGateway/Outputs/DomainNameEndpointConfiguration.cs +++ b/sdk/dotnet/ApiGateway/Outputs/DomainNameEndpointConfiguration.cs @@ -14,7 +14,7 @@ namespace Pulumi.Aws.ApiGateway.Outputs public sealed class DomainNameEndpointConfiguration { /// - /// List of endpoint types. This resource currently only supports managing a single value. Valid values: `EDGE` or `REGIONAL`. If unspecified, defaults to `EDGE`. Must be declared as `REGIONAL` in non-Commercial partitions. Refer to the [documentation](https://docs.aws.amazon.com/apigateway/latest/developerguide/create-regional-api.html) for more information on the difference between edge-optimized and regional APIs. + /// A list of endpoint types of an API or its custom domain name. For an edge-optimized API and its custom domain name, the endpoint type is `EDGE`. For a regional API and its custom domain name, the endpoint type is `REGIONAL`. For a private API, the endpoint type is `PRIVATE`. /// public readonly string Types; diff --git a/sdk/dotnet/Bedrock/GetInferenceProfile.cs b/sdk/dotnet/Bedrock/GetInferenceProfile.cs index eebbc9b3ff0..8d253322d4a 100644 --- a/sdk/dotnet/Bedrock/GetInferenceProfile.cs +++ b/sdk/dotnet/Bedrock/GetInferenceProfile.cs @@ -131,7 +131,7 @@ public sealed class GetInferenceProfileResult /// public readonly string Status; /// - /// The type of the inference profile. `SYSTEM_DEFINED` means that the inference profile is defined by Amazon Bedrock. + /// The type of the inference profile. `SYSTEM_DEFINED` means that the inference profile is defined by Amazon Bedrock. `APPLICATION` means that the inference profile is defined by the user. /// public readonly string Type; /// diff --git a/sdk/dotnet/Bedrock/InferenceProfile.cs b/sdk/dotnet/Bedrock/InferenceProfile.cs new file mode 100644 index 00000000000..bcd985514a5 --- /dev/null +++ b/sdk/dotnet/Bedrock/InferenceProfile.cs @@ -0,0 +1,305 @@ +// *** 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.Bedrock +{ + /// + /// Resource for managing an AWS Bedrock Inference Profile. + /// + /// ## Example Usage + /// + /// ### Basic Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Aws = Pulumi.Aws; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var current = Aws.GetCallerIdentity.Invoke(); + /// + /// var example = new Aws.Bedrock.InferenceProfile("example", new() + /// { + /// Name = "Claude Sonnet for Project 123", + /// Description = "Profile with tag for cost allocation tracking", + /// ModelSource = new Aws.Bedrock.Inputs.InferenceProfileModelSourceArgs + /// { + /// CopyFrom = "arn:aws:bedrock:us-west-2::foundation-model/anthropic.claude-3-5-sonnet-20241022-v2:0", + /// }, + /// Tags = + /// { + /// { "ProjectID", "123" }, + /// }, + /// }); + /// + /// }); + /// ``` + /// + /// ## Import + /// + /// Using `pulumi import`, import Bedrock Inference Profile using the `example_id_arg`. For example: + /// + /// ```sh + /// $ pulumi import aws:bedrock/inferenceProfile:InferenceProfile example inference_profile-id-12345678 + /// ``` + /// + [AwsResourceType("aws:bedrock/inferenceProfile:InferenceProfile")] + public partial class InferenceProfile : global::Pulumi.CustomResource + { + /// + /// The Amazon Resource Name (ARN) of the inference profile. + /// + [Output("arn")] + public Output Arn { get; private set; } = null!; + + /// + /// The time at which the inference profile was created. + /// + [Output("createdAt")] + public Output CreatedAt { get; private set; } = null!; + + /// + /// The description of the inference profile. + /// + [Output("description")] + public Output Description { get; private set; } = null!; + + /// + /// The source of the model this inference profile will track metrics and cost for. See `model_source`. + /// + /// The following arguments are optional: + /// + [Output("modelSource")] + public Output ModelSource { get; private set; } = null!; + + /// + /// A list of information about each model in the inference profile. See `models`. + /// + [Output("models")] + public Output> Models { get; private set; } = null!; + + /// + /// The name of the inference profile. + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// The status of the inference profile. `ACTIVE` means that the inference profile is available to use. + /// + [Output("status")] + public Output Status { get; private set; } = null!; + + /// + /// Key-value mapping of resource tags for the inference profile. + /// + [Output("tags")] + public Output?> Tags { get; private set; } = null!; + + [Output("tagsAll")] + public Output> TagsAll { get; private set; } = null!; + + [Output("timeouts")] + public Output Timeouts { get; private set; } = null!; + + /// + /// The type of the inference profile. `SYSTEM_DEFINED` means that the inference profile is defined by Amazon Bedrock. `APPLICATION` means that the inference profile is defined by the user. + /// + [Output("type")] + public Output Type { get; private set; } = null!; + + /// + /// The time at which the inference profile was last updated. + /// + [Output("updatedAt")] + public Output UpdatedAt { get; private set; } = null!; + + + /// + /// Create a InferenceProfile 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 InferenceProfile(string name, InferenceProfileArgs? args = null, CustomResourceOptions? options = null) + : base("aws:bedrock/inferenceProfile:InferenceProfile", name, args ?? new InferenceProfileArgs(), MakeResourceOptions(options, "")) + { + } + + private InferenceProfile(string name, Input id, InferenceProfileState? state = null, CustomResourceOptions? options = null) + : base("aws:bedrock/inferenceProfile:InferenceProfile", 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 InferenceProfile 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 InferenceProfile Get(string name, Input id, InferenceProfileState? state = null, CustomResourceOptions? options = null) + { + return new InferenceProfile(name, id, state, options); + } + } + + public sealed class InferenceProfileArgs : global::Pulumi.ResourceArgs + { + /// + /// The description of the inference profile. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// The source of the model this inference profile will track metrics and cost for. See `model_source`. + /// + /// The following arguments are optional: + /// + [Input("modelSource")] + public Input? ModelSource { get; set; } + + /// + /// The name of the inference profile. + /// + [Input("name")] + public Input? Name { get; set; } + + [Input("tags")] + private InputMap? _tags; + + /// + /// Key-value mapping of resource tags for the inference profile. + /// + public InputMap Tags + { + get => _tags ?? (_tags = new InputMap()); + set => _tags = value; + } + + [Input("timeouts")] + public Input? Timeouts { get; set; } + + public InferenceProfileArgs() + { + } + public static new InferenceProfileArgs Empty => new InferenceProfileArgs(); + } + + public sealed class InferenceProfileState : global::Pulumi.ResourceArgs + { + /// + /// The Amazon Resource Name (ARN) of the inference profile. + /// + [Input("arn")] + public Input? Arn { get; set; } + + /// + /// The time at which the inference profile was created. + /// + [Input("createdAt")] + public Input? CreatedAt { get; set; } + + /// + /// The description of the inference profile. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// The source of the model this inference profile will track metrics and cost for. See `model_source`. + /// + /// The following arguments are optional: + /// + [Input("modelSource")] + public Input? ModelSource { get; set; } + + [Input("models")] + private InputList? _models; + + /// + /// A list of information about each model in the inference profile. See `models`. + /// + public InputList Models + { + get => _models ?? (_models = new InputList()); + set => _models = value; + } + + /// + /// The name of the inference profile. + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// The status of the inference profile. `ACTIVE` means that the inference profile is available to use. + /// + [Input("status")] + public Input? Status { get; set; } + + [Input("tags")] + private InputMap? _tags; + + /// + /// Key-value mapping of resource tags for the inference profile. + /// + public InputMap Tags + { + get => _tags ?? (_tags = new InputMap()); + set => _tags = value; + } + + [Input("tagsAll")] + private InputMap? _tagsAll; + [Obsolete(@"Please use `tags` instead.")] + public InputMap TagsAll + { + get => _tagsAll ?? (_tagsAll = new InputMap()); + set => _tagsAll = value; + } + + [Input("timeouts")] + public Input? Timeouts { get; set; } + + /// + /// The type of the inference profile. `SYSTEM_DEFINED` means that the inference profile is defined by Amazon Bedrock. `APPLICATION` means that the inference profile is defined by the user. + /// + [Input("type")] + public Input? Type { get; set; } + + /// + /// The time at which the inference profile was last updated. + /// + [Input("updatedAt")] + public Input? UpdatedAt { get; set; } + + public InferenceProfileState() + { + } + public static new InferenceProfileState Empty => new InferenceProfileState(); + } +} diff --git a/sdk/dotnet/Bedrock/Inputs/InferenceProfileModelArgs.cs b/sdk/dotnet/Bedrock/Inputs/InferenceProfileModelArgs.cs new file mode 100644 index 00000000000..ed3c7819224 --- /dev/null +++ b/sdk/dotnet/Bedrock/Inputs/InferenceProfileModelArgs.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.Bedrock.Inputs +{ + + public sealed class InferenceProfileModelArgs : global::Pulumi.ResourceArgs + { + /// + /// The Amazon Resource Name (ARN) of the model. + /// + [Input("modelArn", required: true)] + public Input ModelArn { get; set; } = null!; + + public InferenceProfileModelArgs() + { + } + public static new InferenceProfileModelArgs Empty => new InferenceProfileModelArgs(); + } +} diff --git a/sdk/dotnet/Bedrock/Inputs/InferenceProfileModelGetArgs.cs b/sdk/dotnet/Bedrock/Inputs/InferenceProfileModelGetArgs.cs new file mode 100644 index 00000000000..3869f4086d5 --- /dev/null +++ b/sdk/dotnet/Bedrock/Inputs/InferenceProfileModelGetArgs.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.Bedrock.Inputs +{ + + public sealed class InferenceProfileModelGetArgs : global::Pulumi.ResourceArgs + { + /// + /// The Amazon Resource Name (ARN) of the model. + /// + [Input("modelArn", required: true)] + public Input ModelArn { get; set; } = null!; + + public InferenceProfileModelGetArgs() + { + } + public static new InferenceProfileModelGetArgs Empty => new InferenceProfileModelGetArgs(); + } +} diff --git a/sdk/dotnet/Bedrock/Inputs/InferenceProfileModelSourceArgs.cs b/sdk/dotnet/Bedrock/Inputs/InferenceProfileModelSourceArgs.cs new file mode 100644 index 00000000000..be9ee31a328 --- /dev/null +++ b/sdk/dotnet/Bedrock/Inputs/InferenceProfileModelSourceArgs.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.Bedrock.Inputs +{ + + public sealed class InferenceProfileModelSourceArgs : global::Pulumi.ResourceArgs + { + /// + /// The Amazon Resource Name (ARN) of the model. + /// + [Input("copyFrom", required: true)] + public Input CopyFrom { get; set; } = null!; + + public InferenceProfileModelSourceArgs() + { + } + public static new InferenceProfileModelSourceArgs Empty => new InferenceProfileModelSourceArgs(); + } +} diff --git a/sdk/dotnet/Bedrock/Inputs/InferenceProfileModelSourceGetArgs.cs b/sdk/dotnet/Bedrock/Inputs/InferenceProfileModelSourceGetArgs.cs new file mode 100644 index 00000000000..cbef8ab4d0f --- /dev/null +++ b/sdk/dotnet/Bedrock/Inputs/InferenceProfileModelSourceGetArgs.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.Bedrock.Inputs +{ + + public sealed class InferenceProfileModelSourceGetArgs : global::Pulumi.ResourceArgs + { + /// + /// The Amazon Resource Name (ARN) of the model. + /// + [Input("copyFrom", required: true)] + public Input CopyFrom { get; set; } = null!; + + public InferenceProfileModelSourceGetArgs() + { + } + public static new InferenceProfileModelSourceGetArgs Empty => new InferenceProfileModelSourceGetArgs(); + } +} diff --git a/sdk/dotnet/Bedrock/Inputs/InferenceProfileTimeoutsArgs.cs b/sdk/dotnet/Bedrock/Inputs/InferenceProfileTimeoutsArgs.cs new file mode 100644 index 00000000000..23e25f435b1 --- /dev/null +++ b/sdk/dotnet/Bedrock/Inputs/InferenceProfileTimeoutsArgs.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Bedrock.Inputs +{ + + public sealed class InferenceProfileTimeoutsArgs : global::Pulumi.ResourceArgs + { + /// + /// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + /// + [Input("create")] + public Input? Create { get; set; } + + /// + /// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. + /// + [Input("delete")] + public Input? Delete { get; set; } + + /// + /// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + /// + [Input("update")] + public Input? Update { get; set; } + + public InferenceProfileTimeoutsArgs() + { + } + public static new InferenceProfileTimeoutsArgs Empty => new InferenceProfileTimeoutsArgs(); + } +} diff --git a/sdk/dotnet/Bedrock/Inputs/InferenceProfileTimeoutsGetArgs.cs b/sdk/dotnet/Bedrock/Inputs/InferenceProfileTimeoutsGetArgs.cs new file mode 100644 index 00000000000..362ad7626ec --- /dev/null +++ b/sdk/dotnet/Bedrock/Inputs/InferenceProfileTimeoutsGetArgs.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Bedrock.Inputs +{ + + public sealed class InferenceProfileTimeoutsGetArgs : global::Pulumi.ResourceArgs + { + /// + /// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + /// + [Input("create")] + public Input? Create { get; set; } + + /// + /// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. + /// + [Input("delete")] + public Input? Delete { get; set; } + + /// + /// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + /// + [Input("update")] + public Input? Update { get; set; } + + public InferenceProfileTimeoutsGetArgs() + { + } + public static new InferenceProfileTimeoutsGetArgs Empty => new InferenceProfileTimeoutsGetArgs(); + } +} diff --git a/sdk/dotnet/Bedrock/Outputs/InferenceProfileModel.cs b/sdk/dotnet/Bedrock/Outputs/InferenceProfileModel.cs new file mode 100644 index 00000000000..365eff74ae6 --- /dev/null +++ b/sdk/dotnet/Bedrock/Outputs/InferenceProfileModel.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.Bedrock.Outputs +{ + + [OutputType] + public sealed class InferenceProfileModel + { + /// + /// The Amazon Resource Name (ARN) of the model. + /// + public readonly string ModelArn; + + [OutputConstructor] + private InferenceProfileModel(string modelArn) + { + ModelArn = modelArn; + } + } +} diff --git a/sdk/dotnet/Bedrock/Outputs/InferenceProfileModelSource.cs b/sdk/dotnet/Bedrock/Outputs/InferenceProfileModelSource.cs new file mode 100644 index 00000000000..5f9ebc01fc7 --- /dev/null +++ b/sdk/dotnet/Bedrock/Outputs/InferenceProfileModelSource.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.Bedrock.Outputs +{ + + [OutputType] + public sealed class InferenceProfileModelSource + { + /// + /// The Amazon Resource Name (ARN) of the model. + /// + public readonly string CopyFrom; + + [OutputConstructor] + private InferenceProfileModelSource(string copyFrom) + { + CopyFrom = copyFrom; + } + } +} diff --git a/sdk/dotnet/Bedrock/Outputs/InferenceProfileTimeouts.cs b/sdk/dotnet/Bedrock/Outputs/InferenceProfileTimeouts.cs new file mode 100644 index 00000000000..e8c79773720 --- /dev/null +++ b/sdk/dotnet/Bedrock/Outputs/InferenceProfileTimeouts.cs @@ -0,0 +1,42 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Bedrock.Outputs +{ + + [OutputType] + public sealed class InferenceProfileTimeouts + { + /// + /// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + /// + public readonly string? Create; + /// + /// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. + /// + public readonly string? Delete; + /// + /// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + /// + public readonly string? Update; + + [OutputConstructor] + private InferenceProfileTimeouts( + string? create, + + string? delete, + + string? update) + { + Create = create; + Delete = delete; + Update = update; + } + } +} diff --git a/sdk/dotnet/CloudWatch/LogAnomalyDetector.cs b/sdk/dotnet/CloudWatch/LogAnomalyDetector.cs new file mode 100644 index 00000000000..43dd1fcde60 --- /dev/null +++ b/sdk/dotnet/CloudWatch/LogAnomalyDetector.cs @@ -0,0 +1,299 @@ +// *** 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.CloudWatch +{ + /// + /// Resource for managing an AWS CloudWatch Logs Log Anomaly Detector. + /// + /// ## Example Usage + /// + /// ### Basic Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Aws = Pulumi.Aws; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var test = new List<Aws.CloudWatch.LogGroup>(); + /// for (var rangeIndex = 0; rangeIndex < 2; rangeIndex++) + /// { + /// var range = new { Value = rangeIndex }; + /// test.Add(new Aws.CloudWatch.LogGroup($"test-{range.Value}", new() + /// { + /// Name = $"testing-{range.Value}", + /// })); + /// } + /// var testLogAnomalyDetector = new Aws.CloudWatch.LogAnomalyDetector("test", new() + /// { + /// DetectorName = "testing", + /// LogGroupArnLists = new[] + /// { + /// test[0].Arn, + /// }, + /// AnomalyVisibilityTime = 7, + /// EvaluationFrequency = "TEN_MIN", + /// Enabled = false, + /// }); + /// + /// }); + /// ``` + /// + /// ## Import + /// + /// Using `pulumi import`, import CloudWatch Log Anomaly Detector using the `example_id_arg`. For example: + /// + /// ```sh + /// $ pulumi import aws:cloudwatch/logAnomalyDetector:LogAnomalyDetector example log_anomaly_detector-arn-12345678 + /// ``` + /// + [AwsResourceType("aws:cloudwatch/logAnomalyDetector:LogAnomalyDetector")] + public partial class LogAnomalyDetector : global::Pulumi.CustomResource + { + /// + /// Number of days to have visibility on an anomaly. After this time period has elapsed for an anomaly, it will be automatically baselined and the anomaly detector will treat new occurrences of a similar anomaly as normal. Therefore, if you do not correct the cause of an anomaly during the time period specified in `anomaly_visibility_time`, it will be considered normal going forward and will not be detected as an anomaly. Valid Range: Minimum value of 7. Maximum value of 90. + /// + [Output("anomalyVisibilityTime")] + public Output AnomalyVisibilityTime { get; private set; } = null!; + + /// + /// ARN of the log anomaly detector that you just created. + /// + [Output("arn")] + public Output Arn { get; private set; } = null!; + + /// + /// Name for this anomaly detector. + /// + [Output("detectorName")] + public Output DetectorName { get; private set; } = null!; + + [Output("enabled")] + public Output Enabled { get; private set; } = null!; + + /// + /// Specifies how often the anomaly detector is to run and look for anomalies. Set this value according to the frequency that the log group receives new logs. For example, if the log group receives new log events every 10 minutes, then 15 minutes might be a good setting for `evaluation_frequency`. Valid Values: `ONE_MIN | FIVE_MIN | TEN_MIN | FIFTEEN_MIN | THIRTY_MIN | ONE_HOUR`. + /// + [Output("evaluationFrequency")] + public Output EvaluationFrequency { get; private set; } = null!; + + /// + /// You can use this parameter to limit the anomaly detection model to examine only log events that match the pattern you specify here. For more information, see [Filter and Pattern Syntax](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/FilterAndPatternSyntax.html). + /// + [Output("filterPattern")] + public Output FilterPattern { get; private set; } = null!; + + /// + /// Optionally assigns a AWS KMS key to secure this anomaly detector and its findings. If a key is assigned, the anomalies found and the model used by this detector are encrypted at rest with the key. If a key is assigned to an anomaly detector, a user must have permissions for both this key and for the anomaly detector to retrieve information about the anomalies that it finds. + /// + [Output("kmsKeyId")] + public Output KmsKeyId { get; private set; } = null!; + + /// + /// Array containing the ARN of the log group that this anomaly detector will watch. You can specify only one log group ARN. + /// + /// The following arguments are optional: + /// + [Output("logGroupArnLists")] + public Output> LogGroupArnLists { get; private set; } = null!; + + [Output("tags")] + public Output?> Tags { get; private set; } = null!; + + [Output("tagsAll")] + public Output> TagsAll { get; private set; } = null!; + + + /// + /// Create a LogAnomalyDetector 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 LogAnomalyDetector(string name, LogAnomalyDetectorArgs args, CustomResourceOptions? options = null) + : base("aws:cloudwatch/logAnomalyDetector:LogAnomalyDetector", name, args ?? new LogAnomalyDetectorArgs(), MakeResourceOptions(options, "")) + { + } + + private LogAnomalyDetector(string name, Input id, LogAnomalyDetectorState? state = null, CustomResourceOptions? options = null) + : base("aws:cloudwatch/logAnomalyDetector:LogAnomalyDetector", 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 LogAnomalyDetector 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 LogAnomalyDetector Get(string name, Input id, LogAnomalyDetectorState? state = null, CustomResourceOptions? options = null) + { + return new LogAnomalyDetector(name, id, state, options); + } + } + + public sealed class LogAnomalyDetectorArgs : global::Pulumi.ResourceArgs + { + /// + /// Number of days to have visibility on an anomaly. After this time period has elapsed for an anomaly, it will be automatically baselined and the anomaly detector will treat new occurrences of a similar anomaly as normal. Therefore, if you do not correct the cause of an anomaly during the time period specified in `anomaly_visibility_time`, it will be considered normal going forward and will not be detected as an anomaly. Valid Range: Minimum value of 7. Maximum value of 90. + /// + [Input("anomalyVisibilityTime")] + public Input? AnomalyVisibilityTime { get; set; } + + /// + /// Name for this anomaly detector. + /// + [Input("detectorName")] + public Input? DetectorName { get; set; } + + [Input("enabled", required: true)] + public Input Enabled { get; set; } = null!; + + /// + /// Specifies how often the anomaly detector is to run and look for anomalies. Set this value according to the frequency that the log group receives new logs. For example, if the log group receives new log events every 10 minutes, then 15 minutes might be a good setting for `evaluation_frequency`. Valid Values: `ONE_MIN | FIVE_MIN | TEN_MIN | FIFTEEN_MIN | THIRTY_MIN | ONE_HOUR`. + /// + [Input("evaluationFrequency")] + public Input? EvaluationFrequency { get; set; } + + /// + /// You can use this parameter to limit the anomaly detection model to examine only log events that match the pattern you specify here. For more information, see [Filter and Pattern Syntax](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/FilterAndPatternSyntax.html). + /// + [Input("filterPattern")] + public Input? FilterPattern { get; set; } + + /// + /// Optionally assigns a AWS KMS key to secure this anomaly detector and its findings. If a key is assigned, the anomalies found and the model used by this detector are encrypted at rest with the key. If a key is assigned to an anomaly detector, a user must have permissions for both this key and for the anomaly detector to retrieve information about the anomalies that it finds. + /// + [Input("kmsKeyId")] + public Input? KmsKeyId { get; set; } + + [Input("logGroupArnLists", required: true)] + private InputList? _logGroupArnLists; + + /// + /// Array containing the ARN of the log group that this anomaly detector will watch. You can specify only one log group ARN. + /// + /// The following arguments are optional: + /// + public InputList LogGroupArnLists + { + get => _logGroupArnLists ?? (_logGroupArnLists = new InputList()); + set => _logGroupArnLists = value; + } + + [Input("tags")] + private InputMap? _tags; + public InputMap Tags + { + get => _tags ?? (_tags = new InputMap()); + set => _tags = value; + } + + public LogAnomalyDetectorArgs() + { + } + public static new LogAnomalyDetectorArgs Empty => new LogAnomalyDetectorArgs(); + } + + public sealed class LogAnomalyDetectorState : global::Pulumi.ResourceArgs + { + /// + /// Number of days to have visibility on an anomaly. After this time period has elapsed for an anomaly, it will be automatically baselined and the anomaly detector will treat new occurrences of a similar anomaly as normal. Therefore, if you do not correct the cause of an anomaly during the time period specified in `anomaly_visibility_time`, it will be considered normal going forward and will not be detected as an anomaly. Valid Range: Minimum value of 7. Maximum value of 90. + /// + [Input("anomalyVisibilityTime")] + public Input? AnomalyVisibilityTime { get; set; } + + /// + /// ARN of the log anomaly detector that you just created. + /// + [Input("arn")] + public Input? Arn { get; set; } + + /// + /// Name for this anomaly detector. + /// + [Input("detectorName")] + public Input? DetectorName { get; set; } + + [Input("enabled")] + public Input? Enabled { get; set; } + + /// + /// Specifies how often the anomaly detector is to run and look for anomalies. Set this value according to the frequency that the log group receives new logs. For example, if the log group receives new log events every 10 minutes, then 15 minutes might be a good setting for `evaluation_frequency`. Valid Values: `ONE_MIN | FIVE_MIN | TEN_MIN | FIFTEEN_MIN | THIRTY_MIN | ONE_HOUR`. + /// + [Input("evaluationFrequency")] + public Input? EvaluationFrequency { get; set; } + + /// + /// You can use this parameter to limit the anomaly detection model to examine only log events that match the pattern you specify here. For more information, see [Filter and Pattern Syntax](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/FilterAndPatternSyntax.html). + /// + [Input("filterPattern")] + public Input? FilterPattern { get; set; } + + /// + /// Optionally assigns a AWS KMS key to secure this anomaly detector and its findings. If a key is assigned, the anomalies found and the model used by this detector are encrypted at rest with the key. If a key is assigned to an anomaly detector, a user must have permissions for both this key and for the anomaly detector to retrieve information about the anomalies that it finds. + /// + [Input("kmsKeyId")] + public Input? KmsKeyId { get; set; } + + [Input("logGroupArnLists")] + private InputList? _logGroupArnLists; + + /// + /// Array containing the ARN of the log group that this anomaly detector will watch. You can specify only one log group ARN. + /// + /// The following arguments are optional: + /// + public InputList LogGroupArnLists + { + get => _logGroupArnLists ?? (_logGroupArnLists = new InputList()); + set => _logGroupArnLists = value; + } + + [Input("tags")] + private InputMap? _tags; + public InputMap Tags + { + get => _tags ?? (_tags = new InputMap()); + set => _tags = value; + } + + [Input("tagsAll")] + private InputMap? _tagsAll; + [Obsolete(@"Please use `tags` instead.")] + public InputMap TagsAll + { + get => _tagsAll ?? (_tagsAll = new InputMap()); + set => _tagsAll = value; + } + + public LogAnomalyDetectorState() + { + } + public static new LogAnomalyDetectorState Empty => new LogAnomalyDetectorState(); + } +} diff --git a/sdk/dotnet/Cognito/UserPoolDomain.cs b/sdk/dotnet/Cognito/UserPoolDomain.cs index 01dac716ff2..748563922f6 100644 --- a/sdk/dotnet/Cognito/UserPoolDomain.cs +++ b/sdk/dotnet/Cognito/UserPoolDomain.cs @@ -55,7 +55,7 @@ namespace Pulumi.Aws.Cognito /// /// var main = new Aws.Cognito.UserPoolDomain("main", new() /// { - /// Domain = "example-domain", + /// Domain = "auth.example.com", /// CertificateArn = cert.Arn, /// UserPoolId = exampleUserPool.Id, /// }); diff --git a/sdk/dotnet/Ebs/SnapshotCopy.cs b/sdk/dotnet/Ebs/SnapshotCopy.cs index 9e150f70792..10582be72ba 100644 --- a/sdk/dotnet/Ebs/SnapshotCopy.cs +++ b/sdk/dotnet/Ebs/SnapshotCopy.cs @@ -63,6 +63,12 @@ public partial class SnapshotCopy : global::Pulumi.CustomResource [Output("arn")] public Output Arn { get; private set; } = null!; + /// + /// Specifies a completion duration to initiate a time-based snapshot copy. Time-based snapshot copy operations complete within the specified duration. Value must be between 15 and 2880 minutes, in 15 minute increments only. + /// + [Output("completionDurationMinutes")] + public Output CompletionDurationMinutes { get; private set; } = null!; + /// /// The data encryption key identifier for the snapshot. /// @@ -199,6 +205,12 @@ public static SnapshotCopy Get(string name, Input id, SnapshotCopyState? public sealed class SnapshotCopyArgs : global::Pulumi.ResourceArgs { + /// + /// Specifies a completion duration to initiate a time-based snapshot copy. Time-based snapshot copy operations complete within the specified duration. Value must be between 15 and 2880 minutes, in 15 minute increments only. + /// + [Input("completionDurationMinutes")] + public Input? CompletionDurationMinutes { get; set; } + /// /// A description of what the snapshot is. /// @@ -273,6 +285,12 @@ public sealed class SnapshotCopyState : global::Pulumi.ResourceArgs [Input("arn")] public Input? Arn { get; set; } + /// + /// Specifies a completion duration to initiate a time-based snapshot copy. Time-based snapshot copy operations complete within the specified duration. Value must be between 15 and 2880 minutes, in 15 minute increments only. + /// + [Input("completionDurationMinutes")] + public Input? CompletionDurationMinutes { get; set; } + /// /// The data encryption key identifier for the snapshot. /// diff --git a/sdk/dotnet/Ec2/Inputs/LaunchTemplateNetworkInterfaceArgs.cs b/sdk/dotnet/Ec2/Inputs/LaunchTemplateNetworkInterfaceArgs.cs index 8a0298a7e87..898e213d1d4 100644 --- a/sdk/dotnet/Ec2/Inputs/LaunchTemplateNetworkInterfaceArgs.cs +++ b/sdk/dotnet/Ec2/Inputs/LaunchTemplateNetworkInterfaceArgs.cs @@ -13,16 +13,13 @@ namespace Pulumi.Aws.Ec2.Inputs public sealed class LaunchTemplateNetworkInterfaceArgs : global::Pulumi.ResourceArgs { /// - /// Associate a Carrier IP address with `eth0` for a new network interface. - /// Use this option when you launch an instance in a Wavelength Zone and want to associate a Carrier IP address with the network interface. - /// Boolean value, can be left unset. + /// Associate a Carrier IP address with `eth0` for a new network interface. Use this option when you launch an instance in a Wavelength Zone and want to associate a Carrier IP address with the network interface. Boolean value, can be left unset. /// [Input("associateCarrierIpAddress")] public Input? AssociateCarrierIpAddress { get; set; } /// - /// Associate a public ip address with the network interface. - /// Boolean value, can be left unset. + /// Associate a public ip address with the network interface. Boolean value, can be left unset. /// [Input("associatePublicIpAddress")] public Input? AssociatePublicIpAddress { get; set; } diff --git a/sdk/dotnet/Ec2/Inputs/LaunchTemplateNetworkInterfaceGetArgs.cs b/sdk/dotnet/Ec2/Inputs/LaunchTemplateNetworkInterfaceGetArgs.cs index 48ce868ce10..647c851822c 100644 --- a/sdk/dotnet/Ec2/Inputs/LaunchTemplateNetworkInterfaceGetArgs.cs +++ b/sdk/dotnet/Ec2/Inputs/LaunchTemplateNetworkInterfaceGetArgs.cs @@ -13,16 +13,13 @@ namespace Pulumi.Aws.Ec2.Inputs public sealed class LaunchTemplateNetworkInterfaceGetArgs : global::Pulumi.ResourceArgs { /// - /// Associate a Carrier IP address with `eth0` for a new network interface. - /// Use this option when you launch an instance in a Wavelength Zone and want to associate a Carrier IP address with the network interface. - /// Boolean value, can be left unset. + /// Associate a Carrier IP address with `eth0` for a new network interface. Use this option when you launch an instance in a Wavelength Zone and want to associate a Carrier IP address with the network interface. Boolean value, can be left unset. /// [Input("associateCarrierIpAddress")] public Input? AssociateCarrierIpAddress { get; set; } /// - /// Associate a public ip address with the network interface. - /// Boolean value, can be left unset. + /// Associate a public ip address with the network interface. Boolean value, can be left unset. /// [Input("associatePublicIpAddress")] public Input? AssociatePublicIpAddress { get; set; } diff --git a/sdk/dotnet/Ec2/Instance.cs b/sdk/dotnet/Ec2/Instance.cs index 9808b729dac..3483d97f06e 100644 --- a/sdk/dotnet/Ec2/Instance.cs +++ b/sdk/dotnet/Ec2/Instance.cs @@ -385,6 +385,12 @@ public partial class Instance : global::Pulumi.CustomResource [Output("ebsOptimized")] public Output EbsOptimized { get; private set; } = null!; + /// + /// Whether to assign a primary IPv6 Global Unicast Address (GUA) to the instance when launched in a dual-stack or IPv6-only subnet. A primary IPv6 address ensures a consistent IPv6 address for the instance and is automatically assigned by AWS to the ENI. Once enabled, the first IPv6 GUA becomes the primary IPv6 address and cannot be disabled. The primary IPv6 address remains until the instance is terminated or the ENI is detached. Disabling `enable_primary_ipv6` after it has been enabled forces recreation of the instance. + /// + [Output("enablePrimaryIpv6")] + public Output EnablePrimaryIpv6 { get; private set; } = null!; + /// /// Enable Nitro Enclaves on launched instances. See Enclave Options below for more details. /// @@ -779,6 +785,12 @@ public InputList EbsBlockDevices [Input("ebsOptimized")] public Input? EbsOptimized { get; set; } + /// + /// Whether to assign a primary IPv6 Global Unicast Address (GUA) to the instance when launched in a dual-stack or IPv6-only subnet. A primary IPv6 address ensures a consistent IPv6 address for the instance and is automatically assigned by AWS to the ENI. Once enabled, the first IPv6 GUA becomes the primary IPv6 address and cannot be disabled. The primary IPv6 address remains until the instance is terminated or the ENI is detached. Disabling `enable_primary_ipv6` after it has been enabled forces recreation of the instance. + /// + [Input("enablePrimaryIpv6")] + public Input? EnablePrimaryIpv6 { get; set; } + /// /// Enable Nitro Enclaves on launched instances. See Enclave Options below for more details. /// @@ -1130,6 +1142,12 @@ public InputList EbsBlockDevices [Input("ebsOptimized")] public Input? EbsOptimized { get; set; } + /// + /// Whether to assign a primary IPv6 Global Unicast Address (GUA) to the instance when launched in a dual-stack or IPv6-only subnet. A primary IPv6 address ensures a consistent IPv6 address for the instance and is automatically assigned by AWS to the ENI. Once enabled, the first IPv6 GUA becomes the primary IPv6 address and cannot be disabled. The primary IPv6 address remains until the instance is terminated or the ENI is detached. Disabling `enable_primary_ipv6` after it has been enabled forces recreation of the instance. + /// + [Input("enablePrimaryIpv6")] + public Input? EnablePrimaryIpv6 { get; set; } + /// /// Enable Nitro Enclaves on launched instances. See Enclave Options below for more details. /// diff --git a/sdk/dotnet/Ec2/NetworkInterface.cs b/sdk/dotnet/Ec2/NetworkInterface.cs index 75560a5172f..20f55adc2de 100644 --- a/sdk/dotnet/Ec2/NetworkInterface.cs +++ b/sdk/dotnet/Ec2/NetworkInterface.cs @@ -92,6 +92,12 @@ public partial class NetworkInterface : global::Pulumi.CustomResource [Output("description")] public Output Description { get; private set; } = null!; + /// + /// Enables assigning a primary IPv6 Global Unicast Address (GUA) to the network interface (ENI) in dual-stack or IPv6-only subnets. This ensures the instance attached to the ENI retains a consistent IPv6 address. Once enabled, the first IPv6 GUA becomes the primary IPv6 address and cannot be disabled. The primary IPv6 address remains assigned until the instance is terminated or the ENI is detached. Enabling and subsequent disabling forces recreation of the ENI. + /// + [Output("enablePrimaryIpv6")] + public Output EnablePrimaryIpv6 { get; private set; } = null!; + /// /// Type of network interface to create. Set to `efa` for Elastic Fabric Adapter. Changing `interface_type` will cause the resource to be destroyed and re-created. /// @@ -117,7 +123,7 @@ public partial class NetworkInterface : global::Pulumi.CustomResource public Output Ipv6AddressCount { get; private set; } = null!; /// - /// Whether `ipv6_address_list` is allowed and controls the IPs to assign to the ENI and `ipv6_addresses` and `ipv6_address_count` become read-only. Default false. + /// Whether `ipv6_address_list` is allowed and controls the IPs to assign to the ENI and `ipv6_addresses` and `ipv6_address_count` become read-only. Default is `false`. /// [Output("ipv6AddressListEnabled")] public Output Ipv6AddressListEnabled { get; private set; } = null!; @@ -171,7 +177,7 @@ public partial class NetworkInterface : global::Pulumi.CustomResource public Output PrivateIp { get; private set; } = null!; /// - /// Whether `private_ip_list` is allowed and controls the IPs to assign to the ENI and `private_ips` and `private_ips_count` become read-only. Default false. + /// Whether `private_ip_list` is allowed and controls the IPs to assign to the ENI and `private_ips` and `private_ips_count` become read-only. Default is `false`. /// [Output("privateIpListEnabled")] public Output PrivateIpListEnabled { get; private set; } = null!; @@ -290,6 +296,12 @@ public InputList Attachments [Input("description")] public Input? Description { get; set; } + /// + /// Enables assigning a primary IPv6 Global Unicast Address (GUA) to the network interface (ENI) in dual-stack or IPv6-only subnets. This ensures the instance attached to the ENI retains a consistent IPv6 address. Once enabled, the first IPv6 GUA becomes the primary IPv6 address and cannot be disabled. The primary IPv6 address remains assigned until the instance is terminated or the ENI is detached. Enabling and subsequent disabling forces recreation of the ENI. + /// + [Input("enablePrimaryIpv6")] + public Input? EnablePrimaryIpv6 { get; set; } + /// /// Type of network interface to create. Set to `efa` for Elastic Fabric Adapter. Changing `interface_type` will cause the resource to be destroyed and re-created. /// @@ -321,7 +333,7 @@ public InputList Ipv4Prefixes public Input? Ipv6AddressCount { get; set; } /// - /// Whether `ipv6_address_list` is allowed and controls the IPs to assign to the ENI and `ipv6_addresses` and `ipv6_address_count` become read-only. Default false. + /// Whether `ipv6_address_list` is allowed and controls the IPs to assign to the ENI and `ipv6_addresses` and `ipv6_address_count` become read-only. Default is `false`. /// [Input("ipv6AddressListEnabled")] public Input? Ipv6AddressListEnabled { get; set; } @@ -372,7 +384,7 @@ public InputList Ipv6Prefixes public Input? PrivateIp { get; set; } /// - /// Whether `private_ip_list` is allowed and controls the IPs to assign to the ENI and `private_ips` and `private_ips_count` become read-only. Default false. + /// Whether `private_ip_list` is allowed and controls the IPs to assign to the ENI and `private_ips` and `private_ips_count` become read-only. Default is `false`. /// [Input("privateIpListEnabled")] public Input? PrivateIpListEnabled { get; set; } @@ -477,6 +489,12 @@ public InputList Attachments [Input("description")] public Input? Description { get; set; } + /// + /// Enables assigning a primary IPv6 Global Unicast Address (GUA) to the network interface (ENI) in dual-stack or IPv6-only subnets. This ensures the instance attached to the ENI retains a consistent IPv6 address. Once enabled, the first IPv6 GUA becomes the primary IPv6 address and cannot be disabled. The primary IPv6 address remains assigned until the instance is terminated or the ENI is detached. Enabling and subsequent disabling forces recreation of the ENI. + /// + [Input("enablePrimaryIpv6")] + public Input? EnablePrimaryIpv6 { get; set; } + /// /// Type of network interface to create. Set to `efa` for Elastic Fabric Adapter. Changing `interface_type` will cause the resource to be destroyed and re-created. /// @@ -508,7 +526,7 @@ public InputList Ipv4Prefixes public Input? Ipv6AddressCount { get; set; } /// - /// Whether `ipv6_address_list` is allowed and controls the IPs to assign to the ENI and `ipv6_addresses` and `ipv6_address_count` become read-only. Default false. + /// Whether `ipv6_address_list` is allowed and controls the IPs to assign to the ENI and `ipv6_addresses` and `ipv6_address_count` become read-only. Default is `false`. /// [Input("ipv6AddressListEnabled")] public Input? Ipv6AddressListEnabled { get; set; } @@ -580,7 +598,7 @@ public InputList Ipv6Prefixes public Input? PrivateIp { get; set; } /// - /// Whether `private_ip_list` is allowed and controls the IPs to assign to the ENI and `private_ips` and `private_ips_count` become read-only. Default false. + /// Whether `private_ip_list` is allowed and controls the IPs to assign to the ENI and `private_ips` and `private_ips_count` become read-only. Default is `false`. /// [Input("privateIpListEnabled")] public Input? PrivateIpListEnabled { get; set; } diff --git a/sdk/dotnet/Ec2/Outputs/LaunchTemplateNetworkInterface.cs b/sdk/dotnet/Ec2/Outputs/LaunchTemplateNetworkInterface.cs index 34ebc47a032..d534bbce0a6 100644 --- a/sdk/dotnet/Ec2/Outputs/LaunchTemplateNetworkInterface.cs +++ b/sdk/dotnet/Ec2/Outputs/LaunchTemplateNetworkInterface.cs @@ -14,14 +14,11 @@ namespace Pulumi.Aws.Ec2.Outputs public sealed class LaunchTemplateNetworkInterface { /// - /// Associate a Carrier IP address with `eth0` for a new network interface. - /// Use this option when you launch an instance in a Wavelength Zone and want to associate a Carrier IP address with the network interface. - /// Boolean value, can be left unset. + /// Associate a Carrier IP address with `eth0` for a new network interface. Use this option when you launch an instance in a Wavelength Zone and want to associate a Carrier IP address with the network interface. Boolean value, can be left unset. /// public readonly string? AssociateCarrierIpAddress; /// - /// Associate a public ip address with the network interface. - /// Boolean value, can be left unset. + /// Associate a public ip address with the network interface. Boolean value, can be left unset. /// public readonly string? AssociatePublicIpAddress; /// diff --git a/sdk/dotnet/Ec2/SpotInstanceRequest.cs b/sdk/dotnet/Ec2/SpotInstanceRequest.cs index 6b417594231..025b80d5a7f 100644 --- a/sdk/dotnet/Ec2/SpotInstanceRequest.cs +++ b/sdk/dotnet/Ec2/SpotInstanceRequest.cs @@ -149,6 +149,12 @@ public partial class SpotInstanceRequest : global::Pulumi.CustomResource [Output("ebsOptimized")] public Output EbsOptimized { get; private set; } = null!; + /// + /// Whether to assign a primary IPv6 Global Unicast Address (GUA) to the instance when launched in a dual-stack or IPv6-only subnet. A primary IPv6 address ensures a consistent IPv6 address for the instance and is automatically assigned by AWS to the ENI. Once enabled, the first IPv6 GUA becomes the primary IPv6 address and cannot be disabled. The primary IPv6 address remains until the instance is terminated or the ENI is detached. Disabling `enable_primary_ipv6` after it has been enabled forces recreation of the instance. + /// + [Output("enablePrimaryIpv6")] + public Output EnablePrimaryIpv6 { get; private set; } = null!; + /// /// Enable Nitro Enclaves on launched instances. See Enclave Options below for more details. /// @@ -593,6 +599,12 @@ public InputList EbsBlockDevices [Input("ebsOptimized")] public Input? EbsOptimized { get; set; } + /// + /// Whether to assign a primary IPv6 Global Unicast Address (GUA) to the instance when launched in a dual-stack or IPv6-only subnet. A primary IPv6 address ensures a consistent IPv6 address for the instance and is automatically assigned by AWS to the ENI. Once enabled, the first IPv6 GUA becomes the primary IPv6 address and cannot be disabled. The primary IPv6 address remains until the instance is terminated or the ENI is detached. Disabling `enable_primary_ipv6` after it has been enabled forces recreation of the instance. + /// + [Input("enablePrimaryIpv6")] + public Input? EnablePrimaryIpv6 { get; set; } + /// /// Enable Nitro Enclaves on launched instances. See Enclave Options below for more details. /// @@ -988,6 +1000,12 @@ public InputList EbsBlockDevice [Input("ebsOptimized")] public Input? EbsOptimized { get; set; } + /// + /// Whether to assign a primary IPv6 Global Unicast Address (GUA) to the instance when launched in a dual-stack or IPv6-only subnet. A primary IPv6 address ensures a consistent IPv6 address for the instance and is automatically assigned by AWS to the ENI. Once enabled, the first IPv6 GUA becomes the primary IPv6 address and cannot be disabled. The primary IPv6 address remains until the instance is terminated or the ENI is detached. Disabling `enable_primary_ipv6` after it has been enabled forces recreation of the instance. + /// + [Input("enablePrimaryIpv6")] + public Input? EnablePrimaryIpv6 { get; set; } + /// /// Enable Nitro Enclaves on launched instances. See Enclave Options below for more details. /// diff --git a/sdk/dotnet/Ecr/AccountSetting.cs b/sdk/dotnet/Ecr/AccountSetting.cs new file mode 100644 index 00000000000..7eaf22a50a2 --- /dev/null +++ b/sdk/dotnet/Ecr/AccountSetting.cs @@ -0,0 +1,140 @@ +// *** 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.Ecr +{ + /// + /// Provides a resource to manage AWS ECR Basic Scan Type + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Aws = Pulumi.Aws; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var foo = new Aws.Ecr.AccountSetting("foo", new() + /// { + /// Name = "BASIC_SCAN_TYPE_VERSION", + /// Value = "CLAIR", + /// }); + /// + /// }); + /// ``` + /// + /// ## Import + /// + /// Using `pulumi import`, import EMR Security Configurations using the `name`. For example: + /// + /// ```sh + /// $ pulumi import aws:ecr/accountSetting:AccountSetting foo BASIC_SCAN_TYPE_VERSION + /// ``` + /// + [AwsResourceType("aws:ecr/accountSetting:AccountSetting")] + public partial class AccountSetting : global::Pulumi.CustomResource + { + /// + /// The name of the ECR Scan Type. This should be `BASIC_SCAN_TYPE_VERSION`. + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// The value of the ECR Scan Type. This can be `AWS_NATIVE` or `CLAIR`. + /// + [Output("value")] + public Output Value { get; private set; } = null!; + + + /// + /// Create a AccountSetting 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 AccountSetting(string name, AccountSettingArgs args, CustomResourceOptions? options = null) + : base("aws:ecr/accountSetting:AccountSetting", name, args ?? new AccountSettingArgs(), MakeResourceOptions(options, "")) + { + } + + private AccountSetting(string name, Input id, AccountSettingState? state = null, CustomResourceOptions? options = null) + : base("aws:ecr/accountSetting:AccountSetting", 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 AccountSetting 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 AccountSetting Get(string name, Input id, AccountSettingState? state = null, CustomResourceOptions? options = null) + { + return new AccountSetting(name, id, state, options); + } + } + + public sealed class AccountSettingArgs : global::Pulumi.ResourceArgs + { + /// + /// The name of the ECR Scan Type. This should be `BASIC_SCAN_TYPE_VERSION`. + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// The value of the ECR Scan Type. This can be `AWS_NATIVE` or `CLAIR`. + /// + [Input("value", required: true)] + public Input Value { get; set; } = null!; + + public AccountSettingArgs() + { + } + public static new AccountSettingArgs Empty => new AccountSettingArgs(); + } + + public sealed class AccountSettingState : global::Pulumi.ResourceArgs + { + /// + /// The name of the ECR Scan Type. This should be `BASIC_SCAN_TYPE_VERSION`. + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// The value of the ECR Scan Type. This can be `AWS_NATIVE` or `CLAIR`. + /// + [Input("value")] + public Input? Value { get; set; } + + public AccountSettingState() + { + } + public static new AccountSettingState Empty => new AccountSettingState(); + } +} diff --git a/sdk/dotnet/Ecs/Inputs/ClusterSettingArgs.cs b/sdk/dotnet/Ecs/Inputs/ClusterSettingArgs.cs index b5ec442b5cc..bb2b294745d 100644 --- a/sdk/dotnet/Ecs/Inputs/ClusterSettingArgs.cs +++ b/sdk/dotnet/Ecs/Inputs/ClusterSettingArgs.cs @@ -19,7 +19,7 @@ public sealed class ClusterSettingArgs : global::Pulumi.ResourceArgs public Input Name { get; set; } = null!; /// - /// Value to assign to the setting. Valid values: `enabled`, `disabled`. + /// Value to assign to the setting. Valid values: `enhanced`, `enabled`, `disabled`. /// [Input("value", required: true)] public Input Value { get; set; } = null!; diff --git a/sdk/dotnet/Ecs/Inputs/ClusterSettingGetArgs.cs b/sdk/dotnet/Ecs/Inputs/ClusterSettingGetArgs.cs index 7081bd7102d..7cd2470c5a0 100644 --- a/sdk/dotnet/Ecs/Inputs/ClusterSettingGetArgs.cs +++ b/sdk/dotnet/Ecs/Inputs/ClusterSettingGetArgs.cs @@ -19,7 +19,7 @@ public sealed class ClusterSettingGetArgs : global::Pulumi.ResourceArgs public Input Name { get; set; } = null!; /// - /// Value to assign to the setting. Valid values: `enabled`, `disabled`. + /// Value to assign to the setting. Valid values: `enhanced`, `enabled`, `disabled`. /// [Input("value", required: true)] public Input Value { get; set; } = null!; diff --git a/sdk/dotnet/Ecs/Outputs/ClusterSetting.cs b/sdk/dotnet/Ecs/Outputs/ClusterSetting.cs index fb89c918927..0a022e9555a 100644 --- a/sdk/dotnet/Ecs/Outputs/ClusterSetting.cs +++ b/sdk/dotnet/Ecs/Outputs/ClusterSetting.cs @@ -18,7 +18,7 @@ public sealed class ClusterSetting /// public readonly string Name; /// - /// Value to assign to the setting. Valid values: `enabled`, `disabled`. + /// Value to assign to the setting. Valid values: `enhanced`, `enabled`, `disabled`. /// public readonly string Value; diff --git a/sdk/dotnet/Eks/AccessPolicyAssociation.cs b/sdk/dotnet/Eks/AccessPolicyAssociation.cs index dc900bfb9fd..515de001f72 100644 --- a/sdk/dotnet/Eks/AccessPolicyAssociation.cs +++ b/sdk/dotnet/Eks/AccessPolicyAssociation.cs @@ -42,7 +42,7 @@ namespace Pulumi.Aws.Eks /// /// ## Import /// - /// Using `pulumi import`, import EKS access entry using the `cluster_name` `principal_arn` and `policy_arn` separated by a colon (`#`). For example: + /// Using `pulumi import`, import EKS access entry using the `cluster_name` `principal_arn` and `policy_arn` separated by an octothorp (`#`). For example: /// /// ```sh /// $ pulumi import aws:eks/accessPolicyAssociation:AccessPolicyAssociation my_eks_access_entry my_cluster_name#my_principal_arn#my_policy_arn diff --git a/sdk/dotnet/Fsx/WindowsFileSystem.cs b/sdk/dotnet/Fsx/WindowsFileSystem.cs index 87b79cc9883..33f6a924859 100644 --- a/sdk/dotnet/Fsx/WindowsFileSystem.cs +++ b/sdk/dotnet/Fsx/WindowsFileSystem.cs @@ -249,7 +249,7 @@ public partial class WindowsFileSystem : global::Pulumi.CustomResource public Output> TagsAll { get; private set; } = null!; /// - /// Throughput (megabytes per second) of the file system in power of 2 increments. Minimum of `8` and maximum of `2048`. + /// Throughput (megabytes per second) of the file system. For valid values, refer to the [AWS documentation](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/performance.html). /// /// The following arguments are optional: /// @@ -459,7 +459,7 @@ public InputMap Tags } /// - /// Throughput (megabytes per second) of the file system in power of 2 increments. Minimum of `8` and maximum of `2048`. + /// Throughput (megabytes per second) of the file system. For valid values, refer to the [AWS documentation](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/performance.html). /// /// The following arguments are optional: /// @@ -680,7 +680,7 @@ public InputMap TagsAll } /// - /// Throughput (megabytes per second) of the file system in power of 2 increments. Minimum of `8` and maximum of `2048`. + /// Throughput (megabytes per second) of the file system. For valid values, refer to the [AWS documentation](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/performance.html). /// /// The following arguments are optional: /// diff --git a/sdk/dotnet/Glue/CatalogTableOptimizer.cs b/sdk/dotnet/Glue/CatalogTableOptimizer.cs index 1395fa63cac..2d129ea7346 100644 --- a/sdk/dotnet/Glue/CatalogTableOptimizer.cs +++ b/sdk/dotnet/Glue/CatalogTableOptimizer.cs @@ -14,7 +14,7 @@ namespace Pulumi.Aws.Glue /// /// ## Example Usage /// - /// ### Basic Usage + /// ### Compaction Optimizer /// /// ```csharp /// using System.Collections.Generic; @@ -40,6 +40,75 @@ namespace Pulumi.Aws.Glue /// }); /// ``` /// + /// ### Snapshot Retention Optimizer + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Aws = Pulumi.Aws; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var example = new Aws.Glue.CatalogTableOptimizer("example", new() + /// { + /// CatalogId = "123456789012", + /// DatabaseName = "example_database", + /// TableName = "example_table", + /// Configuration = new Aws.Glue.Inputs.CatalogTableOptimizerConfigurationArgs + /// { + /// RoleArn = "arn:aws:iam::123456789012:role/example-role", + /// Enabled = true, + /// RetentionConfiguration = new Aws.Glue.Inputs.CatalogTableOptimizerConfigurationRetentionConfigurationArgs + /// { + /// IcebergConfiguration = new Aws.Glue.Inputs.CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationArgs + /// { + /// SnapshotRetentionPeriodInDays = 7, + /// NumberOfSnapshotsToRetain = 3, + /// CleanExpiredFiles = true, + /// }, + /// }, + /// }, + /// Type = "retention", + /// }); + /// + /// }); + /// ``` + /// + /// ### Orphan File Deletion Optimizer + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Aws = Pulumi.Aws; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var example = new Aws.Glue.CatalogTableOptimizer("example", new() + /// { + /// CatalogId = "123456789012", + /// DatabaseName = "example_database", + /// TableName = "example_table", + /// Configuration = new Aws.Glue.Inputs.CatalogTableOptimizerConfigurationArgs + /// { + /// RoleArn = "arn:aws:iam::123456789012:role/example-role", + /// Enabled = true, + /// OrphanFileDeletionConfiguration = new Aws.Glue.Inputs.CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationArgs + /// { + /// IcebergConfiguration = new Aws.Glue.Inputs.CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationArgs + /// { + /// OrphanFileRetentionPeriodInDays = 7, + /// Location = "s3://example-bucket/example_table/", + /// }, + /// }, + /// }, + /// Type = "orphan_file_deletion", + /// }); + /// + /// }); + /// ``` + /// /// ## Import /// /// Using `pulumi import`, import Glue Catalog Table Optimizer using the `catalog_id,database_name,table_name,type`. For example: @@ -58,7 +127,7 @@ public partial class CatalogTableOptimizer : global::Pulumi.CustomResource public Output CatalogId { get; private set; } = null!; /// - /// A configuration block that defines the table optimizer settings. The block contains: + /// A configuration block that defines the table optimizer settings. See Configuration for additional details. /// [Output("configuration")] public Output Configuration { get; private set; } = null!; @@ -76,7 +145,7 @@ public partial class CatalogTableOptimizer : global::Pulumi.CustomResource public Output TableName { get; private set; } = null!; /// - /// The type of table optimizer. Currently, the only valid value is compaction. + /// The type of table optimizer. Valid values are `compaction`, `retention`, and `orphan_file_deletion`. /// [Output("type")] public Output Type { get; private set; } = null!; @@ -134,7 +203,7 @@ public sealed class CatalogTableOptimizerArgs : global::Pulumi.ResourceArgs public Input CatalogId { get; set; } = null!; /// - /// A configuration block that defines the table optimizer settings. The block contains: + /// A configuration block that defines the table optimizer settings. See Configuration for additional details. /// [Input("configuration")] public Input? Configuration { get; set; } @@ -152,7 +221,7 @@ public sealed class CatalogTableOptimizerArgs : global::Pulumi.ResourceArgs public Input TableName { get; set; } = null!; /// - /// The type of table optimizer. Currently, the only valid value is compaction. + /// The type of table optimizer. Valid values are `compaction`, `retention`, and `orphan_file_deletion`. /// [Input("type", required: true)] public Input Type { get; set; } = null!; @@ -172,7 +241,7 @@ public sealed class CatalogTableOptimizerState : global::Pulumi.ResourceArgs public Input? CatalogId { get; set; } /// - /// A configuration block that defines the table optimizer settings. The block contains: + /// A configuration block that defines the table optimizer settings. See Configuration for additional details. /// [Input("configuration")] public Input? Configuration { get; set; } @@ -190,7 +259,7 @@ public sealed class CatalogTableOptimizerState : global::Pulumi.ResourceArgs public Input? TableName { get; set; } /// - /// The type of table optimizer. Currently, the only valid value is compaction. + /// The type of table optimizer. Valid values are `compaction`, `retention`, and `orphan_file_deletion`. /// [Input("type")] public Input? Type { get; set; } diff --git a/sdk/dotnet/Glue/Inputs/CatalogTableOptimizerConfigurationArgs.cs b/sdk/dotnet/Glue/Inputs/CatalogTableOptimizerConfigurationArgs.cs index 86f9c6c2233..fd6fedadf25 100644 --- a/sdk/dotnet/Glue/Inputs/CatalogTableOptimizerConfigurationArgs.cs +++ b/sdk/dotnet/Glue/Inputs/CatalogTableOptimizerConfigurationArgs.cs @@ -18,6 +18,18 @@ public sealed class CatalogTableOptimizerConfigurationArgs : global::Pulumi.Reso [Input("enabled", required: true)] public Input Enabled { get; set; } = null!; + /// + /// The configuration block for an orphan file deletion optimizer. See Orphan File Deletion Configuration for additional details. + /// + [Input("orphanFileDeletionConfiguration")] + public Input? OrphanFileDeletionConfiguration { get; set; } + + /// + /// The configuration block for a snapshot retention optimizer. See Retention Configuration for additional details. + /// + [Input("retentionConfiguration")] + public Input? RetentionConfiguration { get; set; } + /// /// The ARN of the IAM role to use for the table optimizer. /// diff --git a/sdk/dotnet/Glue/Inputs/CatalogTableOptimizerConfigurationGetArgs.cs b/sdk/dotnet/Glue/Inputs/CatalogTableOptimizerConfigurationGetArgs.cs index a392985484b..f152654f02d 100644 --- a/sdk/dotnet/Glue/Inputs/CatalogTableOptimizerConfigurationGetArgs.cs +++ b/sdk/dotnet/Glue/Inputs/CatalogTableOptimizerConfigurationGetArgs.cs @@ -18,6 +18,18 @@ public sealed class CatalogTableOptimizerConfigurationGetArgs : global::Pulumi.R [Input("enabled", required: true)] public Input Enabled { get; set; } = null!; + /// + /// The configuration block for an orphan file deletion optimizer. See Orphan File Deletion Configuration for additional details. + /// + [Input("orphanFileDeletionConfiguration")] + public Input? OrphanFileDeletionConfiguration { get; set; } + + /// + /// The configuration block for a snapshot retention optimizer. See Retention Configuration for additional details. + /// + [Input("retentionConfiguration")] + public Input? RetentionConfiguration { get; set; } + /// /// The ARN of the IAM role to use for the table optimizer. /// diff --git a/sdk/dotnet/Glue/Inputs/CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationArgs.cs b/sdk/dotnet/Glue/Inputs/CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationArgs.cs new file mode 100644 index 00000000000..d064316a1f6 --- /dev/null +++ b/sdk/dotnet/Glue/Inputs/CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationArgs.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 CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationArgs : global::Pulumi.ResourceArgs + { + /// + /// The configuration for an Iceberg orphan file deletion optimizer. + /// + [Input("icebergConfiguration")] + public Input? IcebergConfiguration { get; set; } + + public CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationArgs() + { + } + public static new CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationArgs Empty => new CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationArgs(); + } +} diff --git a/sdk/dotnet/Glue/Inputs/CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationGetArgs.cs b/sdk/dotnet/Glue/Inputs/CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationGetArgs.cs new file mode 100644 index 00000000000..25307dd4759 --- /dev/null +++ b/sdk/dotnet/Glue/Inputs/CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationGetArgs.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 CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationGetArgs : global::Pulumi.ResourceArgs + { + /// + /// The configuration for an Iceberg orphan file deletion optimizer. + /// + [Input("icebergConfiguration")] + public Input? IcebergConfiguration { get; set; } + + public CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationGetArgs() + { + } + public static new CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationGetArgs Empty => new CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationGetArgs(); + } +} diff --git a/sdk/dotnet/Glue/Inputs/CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationArgs.cs b/sdk/dotnet/Glue/Inputs/CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationArgs.cs new file mode 100644 index 00000000000..cb1444ebdf7 --- /dev/null +++ b/sdk/dotnet/Glue/Inputs/CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationArgs.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 CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationArgs : global::Pulumi.ResourceArgs + { + /// + /// Specifies a directory in which to look for files. You may choose a sub-directory rather than the top-level table location. Defaults to the table's location. + /// + [Input("location")] + public Input? Location { get; set; } + + /// + /// The number of days that orphan files should be retained before file deletion. Defaults to `3`. + /// + [Input("orphanFileRetentionPeriodInDays")] + public Input? OrphanFileRetentionPeriodInDays { get; set; } + + public CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationArgs() + { + } + public static new CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationArgs Empty => new CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationArgs(); + } +} diff --git a/sdk/dotnet/Glue/Inputs/CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationGetArgs.cs b/sdk/dotnet/Glue/Inputs/CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationGetArgs.cs new file mode 100644 index 00000000000..5b51e82f4e8 --- /dev/null +++ b/sdk/dotnet/Glue/Inputs/CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationGetArgs.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 CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Specifies a directory in which to look for files. You may choose a sub-directory rather than the top-level table location. Defaults to the table's location. + /// + [Input("location")] + public Input? Location { get; set; } + + /// + /// The number of days that orphan files should be retained before file deletion. Defaults to `3`. + /// + [Input("orphanFileRetentionPeriodInDays")] + public Input? OrphanFileRetentionPeriodInDays { get; set; } + + public CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationGetArgs() + { + } + public static new CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationGetArgs Empty => new CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationGetArgs(); + } +} diff --git a/sdk/dotnet/Glue/Inputs/CatalogTableOptimizerConfigurationRetentionConfigurationArgs.cs b/sdk/dotnet/Glue/Inputs/CatalogTableOptimizerConfigurationRetentionConfigurationArgs.cs new file mode 100644 index 00000000000..d0aef8c3872 --- /dev/null +++ b/sdk/dotnet/Glue/Inputs/CatalogTableOptimizerConfigurationRetentionConfigurationArgs.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 CatalogTableOptimizerConfigurationRetentionConfigurationArgs : global::Pulumi.ResourceArgs + { + /// + /// The configuration for an Iceberg snapshot retention optimizer. + /// + [Input("icebergConfiguration")] + public Input? IcebergConfiguration { get; set; } + + public CatalogTableOptimizerConfigurationRetentionConfigurationArgs() + { + } + public static new CatalogTableOptimizerConfigurationRetentionConfigurationArgs Empty => new CatalogTableOptimizerConfigurationRetentionConfigurationArgs(); + } +} diff --git a/sdk/dotnet/Glue/Inputs/CatalogTableOptimizerConfigurationRetentionConfigurationGetArgs.cs b/sdk/dotnet/Glue/Inputs/CatalogTableOptimizerConfigurationRetentionConfigurationGetArgs.cs new file mode 100644 index 00000000000..7c694b30b21 --- /dev/null +++ b/sdk/dotnet/Glue/Inputs/CatalogTableOptimizerConfigurationRetentionConfigurationGetArgs.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 CatalogTableOptimizerConfigurationRetentionConfigurationGetArgs : global::Pulumi.ResourceArgs + { + /// + /// The configuration for an Iceberg snapshot retention optimizer. + /// + [Input("icebergConfiguration")] + public Input? IcebergConfiguration { get; set; } + + public CatalogTableOptimizerConfigurationRetentionConfigurationGetArgs() + { + } + public static new CatalogTableOptimizerConfigurationRetentionConfigurationGetArgs Empty => new CatalogTableOptimizerConfigurationRetentionConfigurationGetArgs(); + } +} diff --git a/sdk/dotnet/Glue/Inputs/CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationArgs.cs b/sdk/dotnet/Glue/Inputs/CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationArgs.cs new file mode 100644 index 00000000000..ebebd288bd8 --- /dev/null +++ b/sdk/dotnet/Glue/Inputs/CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationArgs.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Glue.Inputs +{ + + public sealed class CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationArgs : global::Pulumi.ResourceArgs + { + /// + /// If set to `false`, snapshots are only deleted from table metadata, and the underlying data and metadata files are not deleted. Defaults to `false`. + /// + [Input("cleanExpiredFiles")] + public Input? CleanExpiredFiles { get; set; } + + /// + /// The number of Iceberg snapshots to retain within the retention period. Defaults to `1` or the corresponding Iceberg table configuration field if it exists. + /// + [Input("numberOfSnapshotsToRetain")] + public Input? NumberOfSnapshotsToRetain { get; set; } + + /// + /// The number of days to retain the Iceberg snapshots. Defaults to `5`, or the corresponding Iceberg table configuration field if it exists. + /// + [Input("snapshotRetentionPeriodInDays")] + public Input? SnapshotRetentionPeriodInDays { get; set; } + + public CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationArgs() + { + } + public static new CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationArgs Empty => new CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationArgs(); + } +} diff --git a/sdk/dotnet/Glue/Inputs/CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationGetArgs.cs b/sdk/dotnet/Glue/Inputs/CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationGetArgs.cs new file mode 100644 index 00000000000..b42933e72b7 --- /dev/null +++ b/sdk/dotnet/Glue/Inputs/CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationGetArgs.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Glue.Inputs +{ + + public sealed class CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationGetArgs : global::Pulumi.ResourceArgs + { + /// + /// If set to `false`, snapshots are only deleted from table metadata, and the underlying data and metadata files are not deleted. Defaults to `false`. + /// + [Input("cleanExpiredFiles")] + public Input? CleanExpiredFiles { get; set; } + + /// + /// The number of Iceberg snapshots to retain within the retention period. Defaults to `1` or the corresponding Iceberg table configuration field if it exists. + /// + [Input("numberOfSnapshotsToRetain")] + public Input? NumberOfSnapshotsToRetain { get; set; } + + /// + /// The number of days to retain the Iceberg snapshots. Defaults to `5`, or the corresponding Iceberg table configuration field if it exists. + /// + [Input("snapshotRetentionPeriodInDays")] + public Input? SnapshotRetentionPeriodInDays { get; set; } + + public CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationGetArgs() + { + } + public static new CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationGetArgs Empty => new CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationGetArgs(); + } +} diff --git a/sdk/dotnet/Glue/Outputs/CatalogTableOptimizerConfiguration.cs b/sdk/dotnet/Glue/Outputs/CatalogTableOptimizerConfiguration.cs index 31a7be5dd5a..c65cf01061e 100644 --- a/sdk/dotnet/Glue/Outputs/CatalogTableOptimizerConfiguration.cs +++ b/sdk/dotnet/Glue/Outputs/CatalogTableOptimizerConfiguration.cs @@ -18,6 +18,14 @@ public sealed class CatalogTableOptimizerConfiguration /// public readonly bool Enabled; /// + /// The configuration block for an orphan file deletion optimizer. See Orphan File Deletion Configuration for additional details. + /// + public readonly Outputs.CatalogTableOptimizerConfigurationOrphanFileDeletionConfiguration? OrphanFileDeletionConfiguration; + /// + /// The configuration block for a snapshot retention optimizer. See Retention Configuration for additional details. + /// + public readonly Outputs.CatalogTableOptimizerConfigurationRetentionConfiguration? RetentionConfiguration; + /// /// The ARN of the IAM role to use for the table optimizer. /// public readonly string RoleArn; @@ -26,9 +34,15 @@ public sealed class CatalogTableOptimizerConfiguration private CatalogTableOptimizerConfiguration( bool enabled, + Outputs.CatalogTableOptimizerConfigurationOrphanFileDeletionConfiguration? orphanFileDeletionConfiguration, + + Outputs.CatalogTableOptimizerConfigurationRetentionConfiguration? retentionConfiguration, + string roleArn) { Enabled = enabled; + OrphanFileDeletionConfiguration = orphanFileDeletionConfiguration; + RetentionConfiguration = retentionConfiguration; RoleArn = roleArn; } } diff --git a/sdk/dotnet/Glue/Outputs/CatalogTableOptimizerConfigurationOrphanFileDeletionConfiguration.cs b/sdk/dotnet/Glue/Outputs/CatalogTableOptimizerConfigurationOrphanFileDeletionConfiguration.cs new file mode 100644 index 00000000000..d441de1ad86 --- /dev/null +++ b/sdk/dotnet/Glue/Outputs/CatalogTableOptimizerConfigurationOrphanFileDeletionConfiguration.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 CatalogTableOptimizerConfigurationOrphanFileDeletionConfiguration + { + /// + /// The configuration for an Iceberg orphan file deletion optimizer. + /// + public readonly Outputs.CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfiguration? IcebergConfiguration; + + [OutputConstructor] + private CatalogTableOptimizerConfigurationOrphanFileDeletionConfiguration(Outputs.CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfiguration? icebergConfiguration) + { + IcebergConfiguration = icebergConfiguration; + } + } +} diff --git a/sdk/dotnet/Glue/Outputs/CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfiguration.cs b/sdk/dotnet/Glue/Outputs/CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfiguration.cs new file mode 100644 index 00000000000..5074353eaf9 --- /dev/null +++ b/sdk/dotnet/Glue/Outputs/CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfiguration.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 CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfiguration + { + /// + /// Specifies a directory in which to look for files. You may choose a sub-directory rather than the top-level table location. Defaults to the table's location. + /// + public readonly string? Location; + /// + /// The number of days that orphan files should be retained before file deletion. Defaults to `3`. + /// + public readonly double? OrphanFileRetentionPeriodInDays; + + [OutputConstructor] + private CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfiguration( + string? location, + + double? orphanFileRetentionPeriodInDays) + { + Location = location; + OrphanFileRetentionPeriodInDays = orphanFileRetentionPeriodInDays; + } + } +} diff --git a/sdk/dotnet/Glue/Outputs/CatalogTableOptimizerConfigurationRetentionConfiguration.cs b/sdk/dotnet/Glue/Outputs/CatalogTableOptimizerConfigurationRetentionConfiguration.cs new file mode 100644 index 00000000000..6472e5d8264 --- /dev/null +++ b/sdk/dotnet/Glue/Outputs/CatalogTableOptimizerConfigurationRetentionConfiguration.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 CatalogTableOptimizerConfigurationRetentionConfiguration + { + /// + /// The configuration for an Iceberg snapshot retention optimizer. + /// + public readonly Outputs.CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfiguration? IcebergConfiguration; + + [OutputConstructor] + private CatalogTableOptimizerConfigurationRetentionConfiguration(Outputs.CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfiguration? icebergConfiguration) + { + IcebergConfiguration = icebergConfiguration; + } + } +} diff --git a/sdk/dotnet/Glue/Outputs/CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfiguration.cs b/sdk/dotnet/Glue/Outputs/CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfiguration.cs new file mode 100644 index 00000000000..4917931c46b --- /dev/null +++ b/sdk/dotnet/Glue/Outputs/CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfiguration.cs @@ -0,0 +1,42 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Glue.Outputs +{ + + [OutputType] + public sealed class CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfiguration + { + /// + /// If set to `false`, snapshots are only deleted from table metadata, and the underlying data and metadata files are not deleted. Defaults to `false`. + /// + public readonly bool? CleanExpiredFiles; + /// + /// The number of Iceberg snapshots to retain within the retention period. Defaults to `1` or the corresponding Iceberg table configuration field if it exists. + /// + public readonly double? NumberOfSnapshotsToRetain; + /// + /// The number of days to retain the Iceberg snapshots. Defaults to `5`, or the corresponding Iceberg table configuration field if it exists. + /// + public readonly double? SnapshotRetentionPeriodInDays; + + [OutputConstructor] + private CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfiguration( + bool? cleanExpiredFiles, + + double? numberOfSnapshotsToRetain, + + double? snapshotRetentionPeriodInDays) + { + CleanExpiredFiles = cleanExpiredFiles; + NumberOfSnapshotsToRetain = numberOfSnapshotsToRetain; + SnapshotRetentionPeriodInDays = snapshotRetentionPeriodInDays; + } + } +} diff --git a/sdk/dotnet/Iam/OpenIdConnectProvider.cs b/sdk/dotnet/Iam/OpenIdConnectProvider.cs index 0bbdd5efa34..3d1ecf50aab 100644 --- a/sdk/dotnet/Iam/OpenIdConnectProvider.cs +++ b/sdk/dotnet/Iam/OpenIdConnectProvider.cs @@ -14,6 +14,8 @@ namespace Pulumi.Aws.Iam /// /// ## Example Usage /// + /// ### Basic Usage + /// /// ```csharp /// using System.Collections.Generic; /// using System.Linq; @@ -38,6 +40,28 @@ namespace Pulumi.Aws.Iam /// }); /// ``` /// + /// ### Without A Thumbprint + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Aws = Pulumi.Aws; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var @default = new Aws.Iam.OpenIdConnectProvider("default", new() + /// { + /// Url = "https://accounts.google.com", + /// ClientIdLists = new[] + /// { + /// "266362248691-342342xasdasdasda-apps.googleusercontent.com", + /// }, + /// }); + /// + /// }); + /// ``` + /// /// ## Import /// /// Using `pulumi import`, import IAM OpenID Connect Providers using the `arn`. For example: @@ -50,13 +74,13 @@ namespace Pulumi.Aws.Iam public partial class OpenIdConnectProvider : global::Pulumi.CustomResource { /// - /// The ARN assigned by AWS for this provider. + /// ARN assigned by AWS for this provider. /// [Output("arn")] public Output Arn { get; private set; } = null!; /// - /// A list of client IDs (also known as audiences). When a mobile or web app registers with an OpenID Connect provider, they establish a value that identifies the application. (This is the value that's sent as the client_id parameter on OAuth requests.) + /// List of client IDs (audiences) that identify the application registered with the OpenID Connect provider. This is the value sent as the `client_id` parameter in OAuth requests. /// [Output("clientIdLists")] public Output> ClientIdLists { get; private set; } = null!; @@ -68,19 +92,16 @@ public partial class OpenIdConnectProvider : global::Pulumi.CustomResource public Output?> Tags { get; private set; } = null!; /// - /// A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + /// Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. /// [Output("tagsAll")] public Output> TagsAll { get; private set; } = null!; - /// - /// A list of server certificate thumbprints for the OpenID Connect (OIDC) identity provider's server certificate(s). - /// [Output("thumbprintLists")] public Output> ThumbprintLists { get; private set; } = null!; /// - /// The URL of the identity provider. Corresponds to the _iss_ claim. + /// URL of the identity provider, corresponding to the `iss` claim. /// [Output("url")] public Output Url { get; private set; } = null!; @@ -135,7 +156,7 @@ public sealed class OpenIdConnectProviderArgs : global::Pulumi.ResourceArgs private InputList? _clientIdLists; /// - /// A list of client IDs (also known as audiences). When a mobile or web app registers with an OpenID Connect provider, they establish a value that identifies the application. (This is the value that's sent as the client_id parameter on OAuth requests.) + /// List of client IDs (audiences) that identify the application registered with the OpenID Connect provider. This is the value sent as the `client_id` parameter in OAuth requests. /// public InputList ClientIdLists { @@ -155,12 +176,8 @@ public InputMap Tags set => _tags = value; } - [Input("thumbprintLists", required: true)] + [Input("thumbprintLists")] private InputList? _thumbprintLists; - - /// - /// A list of server certificate thumbprints for the OpenID Connect (OIDC) identity provider's server certificate(s). - /// public InputList ThumbprintLists { get => _thumbprintLists ?? (_thumbprintLists = new InputList()); @@ -168,7 +185,7 @@ public InputList ThumbprintLists } /// - /// The URL of the identity provider. Corresponds to the _iss_ claim. + /// URL of the identity provider, corresponding to the `iss` claim. /// [Input("url", required: true)] public Input Url { get; set; } = null!; @@ -182,7 +199,7 @@ public OpenIdConnectProviderArgs() public sealed class OpenIdConnectProviderState : global::Pulumi.ResourceArgs { /// - /// The ARN assigned by AWS for this provider. + /// ARN assigned by AWS for this provider. /// [Input("arn")] public Input? Arn { get; set; } @@ -191,7 +208,7 @@ public sealed class OpenIdConnectProviderState : global::Pulumi.ResourceArgs private InputList? _clientIdLists; /// - /// A list of client IDs (also known as audiences). When a mobile or web app registers with an OpenID Connect provider, they establish a value that identifies the application. (This is the value that's sent as the client_id parameter on OAuth requests.) + /// List of client IDs (audiences) that identify the application registered with the OpenID Connect provider. This is the value sent as the `client_id` parameter in OAuth requests. /// public InputList ClientIdLists { @@ -215,7 +232,7 @@ public InputMap Tags private InputMap? _tagsAll; /// - /// A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + /// Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. /// [Obsolete(@"Please use `tags` instead.")] public InputMap TagsAll @@ -226,10 +243,6 @@ public InputMap TagsAll [Input("thumbprintLists")] private InputList? _thumbprintLists; - - /// - /// A list of server certificate thumbprints for the OpenID Connect (OIDC) identity provider's server certificate(s). - /// public InputList ThumbprintLists { get => _thumbprintLists ?? (_thumbprintLists = new InputList()); @@ -237,7 +250,7 @@ public InputList ThumbprintLists } /// - /// The URL of the identity provider. Corresponds to the _iss_ claim. + /// URL of the identity provider, corresponding to the `iss` claim. /// [Input("url")] public Input? Url { get; set; } diff --git a/sdk/dotnet/LB/Listener.cs b/sdk/dotnet/LB/Listener.cs index c8b8b322244..75e824bf0dc 100644 --- a/sdk/dotnet/LB/Listener.cs +++ b/sdk/dotnet/LB/Listener.cs @@ -403,6 +403,8 @@ public partial class Listener : global::Pulumi.CustomResource /// /// A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + /// + /// > **Note::** When a `Name` key is specified in the map, the AWS Console maps the value to the `Name Tag` column value inside the `Listener Rules` table within a specific load balancer listener page. Otherwise, the value resolves to `Default`. /// [Output("tags")] public Output?> Tags { get; private set; } = null!; @@ -530,6 +532,8 @@ public InputList DefaultActions /// /// A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + /// + /// > **Note::** When a `Name` key is specified in the map, the AWS Console maps the value to the `Name Tag` column value inside the `Listener Rules` table within a specific load balancer listener page. Otherwise, the value resolves to `Default`. /// public InputMap Tags { @@ -618,6 +622,8 @@ public InputList DefaultActions /// /// A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + /// + /// > **Note::** When a `Name` key is specified in the map, the AWS Console maps the value to the `Name Tag` column value inside the `Listener Rules` table within a specific load balancer listener page. Otherwise, the value resolves to `Default`. /// public InputMap Tags { diff --git a/sdk/dotnet/Msk/Inputs/ReplicatorReplicationInfoListTopicReplicationArgs.cs b/sdk/dotnet/Msk/Inputs/ReplicatorReplicationInfoListTopicReplicationArgs.cs index 4c2011683ab..c4cfe4e6b67 100644 --- a/sdk/dotnet/Msk/Inputs/ReplicatorReplicationInfoListTopicReplicationArgs.cs +++ b/sdk/dotnet/Msk/Inputs/ReplicatorReplicationInfoListTopicReplicationArgs.cs @@ -36,6 +36,9 @@ public sealed class ReplicatorReplicationInfoListTopicReplicationArgs : global:: [Input("startingPosition")] public Input? StartingPosition { get; set; } + [Input("topicNameConfiguration")] + public Input? TopicNameConfiguration { get; set; } + [Input("topicsToExcludes")] private InputList? _topicsToExcludes; diff --git a/sdk/dotnet/Msk/Inputs/ReplicatorReplicationInfoListTopicReplicationGetArgs.cs b/sdk/dotnet/Msk/Inputs/ReplicatorReplicationInfoListTopicReplicationGetArgs.cs index 11ce4045ab1..9b0a941162a 100644 --- a/sdk/dotnet/Msk/Inputs/ReplicatorReplicationInfoListTopicReplicationGetArgs.cs +++ b/sdk/dotnet/Msk/Inputs/ReplicatorReplicationInfoListTopicReplicationGetArgs.cs @@ -36,6 +36,9 @@ public sealed class ReplicatorReplicationInfoListTopicReplicationGetArgs : globa [Input("startingPosition")] public Input? StartingPosition { get; set; } + [Input("topicNameConfiguration")] + public Input? TopicNameConfiguration { get; set; } + [Input("topicsToExcludes")] private InputList? _topicsToExcludes; diff --git a/sdk/dotnet/Msk/Inputs/ReplicatorReplicationInfoListTopicReplicationTopicNameConfigurationArgs.cs b/sdk/dotnet/Msk/Inputs/ReplicatorReplicationInfoListTopicReplicationTopicNameConfigurationArgs.cs new file mode 100644 index 00000000000..d6f7376c867 --- /dev/null +++ b/sdk/dotnet/Msk/Inputs/ReplicatorReplicationInfoListTopicReplicationTopicNameConfigurationArgs.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.Msk.Inputs +{ + + public sealed class ReplicatorReplicationInfoListTopicReplicationTopicNameConfigurationArgs : global::Pulumi.ResourceArgs + { + [Input("type")] + public Input? Type { get; set; } + + public ReplicatorReplicationInfoListTopicReplicationTopicNameConfigurationArgs() + { + } + public static new ReplicatorReplicationInfoListTopicReplicationTopicNameConfigurationArgs Empty => new ReplicatorReplicationInfoListTopicReplicationTopicNameConfigurationArgs(); + } +} diff --git a/sdk/dotnet/Msk/Inputs/ReplicatorReplicationInfoListTopicReplicationTopicNameConfigurationGetArgs.cs b/sdk/dotnet/Msk/Inputs/ReplicatorReplicationInfoListTopicReplicationTopicNameConfigurationGetArgs.cs new file mode 100644 index 00000000000..334ebfd958a --- /dev/null +++ b/sdk/dotnet/Msk/Inputs/ReplicatorReplicationInfoListTopicReplicationTopicNameConfigurationGetArgs.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.Msk.Inputs +{ + + public sealed class ReplicatorReplicationInfoListTopicReplicationTopicNameConfigurationGetArgs : global::Pulumi.ResourceArgs + { + [Input("type")] + public Input? Type { get; set; } + + public ReplicatorReplicationInfoListTopicReplicationTopicNameConfigurationGetArgs() + { + } + public static new ReplicatorReplicationInfoListTopicReplicationTopicNameConfigurationGetArgs Empty => new ReplicatorReplicationInfoListTopicReplicationTopicNameConfigurationGetArgs(); + } +} diff --git a/sdk/dotnet/Msk/Outputs/ReplicatorReplicationInfoListTopicReplication.cs b/sdk/dotnet/Msk/Outputs/ReplicatorReplicationInfoListTopicReplication.cs index 3418c698aad..e356874dc08 100644 --- a/sdk/dotnet/Msk/Outputs/ReplicatorReplicationInfoListTopicReplication.cs +++ b/sdk/dotnet/Msk/Outputs/ReplicatorReplicationInfoListTopicReplication.cs @@ -29,6 +29,7 @@ public sealed class ReplicatorReplicationInfoListTopicReplication /// Configuration for specifying the position in the topics to start replicating from. /// public readonly Outputs.ReplicatorReplicationInfoListTopicReplicationStartingPosition? StartingPosition; + public readonly Outputs.ReplicatorReplicationInfoListTopicReplicationTopicNameConfiguration? TopicNameConfiguration; /// /// List of regular expression patterns indicating the topics that should not be replica. /// @@ -48,6 +49,8 @@ private ReplicatorReplicationInfoListTopicReplication( Outputs.ReplicatorReplicationInfoListTopicReplicationStartingPosition? startingPosition, + Outputs.ReplicatorReplicationInfoListTopicReplicationTopicNameConfiguration? topicNameConfiguration, + ImmutableArray topicsToExcludes, ImmutableArray topicsToReplicates) @@ -56,6 +59,7 @@ private ReplicatorReplicationInfoListTopicReplication( CopyTopicConfigurations = copyTopicConfigurations; DetectAndCopyNewTopics = detectAndCopyNewTopics; StartingPosition = startingPosition; + TopicNameConfiguration = topicNameConfiguration; TopicsToExcludes = topicsToExcludes; TopicsToReplicates = topicsToReplicates; } diff --git a/sdk/dotnet/Msk/Outputs/ReplicatorReplicationInfoListTopicReplicationTopicNameConfiguration.cs b/sdk/dotnet/Msk/Outputs/ReplicatorReplicationInfoListTopicReplicationTopicNameConfiguration.cs new file mode 100644 index 00000000000..cb76435e3e8 --- /dev/null +++ b/sdk/dotnet/Msk/Outputs/ReplicatorReplicationInfoListTopicReplicationTopicNameConfiguration.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.Msk.Outputs +{ + + [OutputType] + public sealed class ReplicatorReplicationInfoListTopicReplicationTopicNameConfiguration + { + public readonly string? Type; + + [OutputConstructor] + private ReplicatorReplicationInfoListTopicReplicationTopicNameConfiguration(string? type) + { + Type = type; + } + } +} diff --git a/sdk/dotnet/Msk/Replicator.cs b/sdk/dotnet/Msk/Replicator.cs index b4f76aa8682..50e7a00ca02 100644 --- a/sdk/dotnet/Msk/Replicator.cs +++ b/sdk/dotnet/Msk/Replicator.cs @@ -14,89 +14,6 @@ namespace Pulumi.Aws.Msk /// /// ## Example Usage /// - /// ### Basic Usage - /// - /// ```csharp - /// using System.Collections.Generic; - /// using System.Linq; - /// using Pulumi; - /// using Aws = Pulumi.Aws; - /// - /// return await Deployment.RunAsync(() => - /// { - /// var test = new Aws.Msk.Replicator("test", new() - /// { - /// ReplicatorName = "test-name", - /// Description = "test-description", - /// ServiceExecutionRoleArn = sourceAwsIamRole.Arn, - /// KafkaClusters = new[] - /// { - /// new Aws.Msk.Inputs.ReplicatorKafkaClusterArgs - /// { - /// AmazonMskCluster = new Aws.Msk.Inputs.ReplicatorKafkaClusterAmazonMskClusterArgs - /// { - /// MskClusterArn = source.Arn, - /// }, - /// VpcConfig = new Aws.Msk.Inputs.ReplicatorKafkaClusterVpcConfigArgs - /// { - /// SubnetIds = sourceAwsSubnet.Select(__item => __item.Id).ToList(), - /// SecurityGroupsIds = new[] - /// { - /// sourceAwsSecurityGroup.Id, - /// }, - /// }, - /// }, - /// new Aws.Msk.Inputs.ReplicatorKafkaClusterArgs - /// { - /// AmazonMskCluster = new Aws.Msk.Inputs.ReplicatorKafkaClusterAmazonMskClusterArgs - /// { - /// MskClusterArn = target.Arn, - /// }, - /// VpcConfig = new Aws.Msk.Inputs.ReplicatorKafkaClusterVpcConfigArgs - /// { - /// SubnetIds = targetAwsSubnet.Select(__item => __item.Id).ToList(), - /// SecurityGroupsIds = new[] - /// { - /// targetAwsSecurityGroup.Id, - /// }, - /// }, - /// }, - /// }, - /// ReplicationInfoList = new Aws.Msk.Inputs.ReplicatorReplicationInfoListArgs - /// { - /// SourceKafkaClusterArn = source.Arn, - /// TargetKafkaClusterArn = target.Arn, - /// TargetCompressionType = "NONE", - /// TopicReplications = new[] - /// { - /// new Aws.Msk.Inputs.ReplicatorReplicationInfoListTopicReplicationArgs - /// { - /// TopicsToReplicates = new[] - /// { - /// ".*", - /// }, - /// StartingPosition = new Aws.Msk.Inputs.ReplicatorReplicationInfoListTopicReplicationStartingPositionArgs - /// { - /// Type = "LATEST", - /// }, - /// }, - /// }, - /// ConsumerGroupReplications = new[] - /// { - /// new Aws.Msk.Inputs.ReplicatorReplicationInfoListConsumerGroupReplicationArgs - /// { - /// ConsumerGroupsToReplicates = new[] - /// { - /// ".*", - /// }, - /// }, - /// }, - /// }, - /// }); - /// - /// }); - /// ``` - /// /// ## Import /// /// Using `pulumi import`, import MSK replicators using the replicator ARN. For example: diff --git a/sdk/dotnet/Msk/ScramSecretAssociation.cs b/sdk/dotnet/Msk/ScramSecretAssociation.cs index 752910f1727..ff3dd5273ae 100644 --- a/sdk/dotnet/Msk/ScramSecretAssociation.cs +++ b/sdk/dotnet/Msk/ScramSecretAssociation.cs @@ -12,6 +12,8 @@ namespace Pulumi.Aws.Msk /// /// Associates SCRAM secrets stored in the Secrets Manager service with a Managed Streaming for Kafka (MSK) cluster. /// + /// !> This resource takes exclusive ownership over SCRAM secrets associated with a cluster. This includes removal of SCRAM secrets which are not explicitly configured. To prevent persistent drift, ensure any `aws.msk.SingleScramSecretAssociation` resources managed alongside this resource are included in the `secret_arn_list` argument. + /// /// > **Note:** The following assumes the MSK cluster has SASL/SCRAM authentication enabled. See below for example usage or refer to the [Username/Password Authentication](https://docs.aws.amazon.com/msk/latest/developerguide/msk-password.html) section of the MSK Developer Guide for more details. /// /// To set up username and password authentication for a cluster, create an `aws.secretsmanager.Secret` resource and associate diff --git a/sdk/dotnet/Msk/SingleScramSecretAssociation.cs b/sdk/dotnet/Msk/SingleScramSecretAssociation.cs new file mode 100644 index 00000000000..3c10bb29e3e --- /dev/null +++ b/sdk/dotnet/Msk/SingleScramSecretAssociation.cs @@ -0,0 +1,140 @@ +// *** 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.Msk +{ + /// + /// Associates a single SCRAM secret with a Managed Streaming for Kafka (MSK) cluster. + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Aws = Pulumi.Aws; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var example = new Aws.Msk.SingleScramSecretAssociation("example", new() + /// { + /// ClusterArn = exampleAwsMskCluster.Arn, + /// SecretArn = exampleAwsSecretsmanagerSecret.Arn, + /// }); + /// + /// }); + /// ``` + /// + /// ## Import + /// + /// Using `pulumi import`, import an MSK SCRAM Secret Association using the `cluster_arn` and `secret_arn`. For example: + /// + /// ```sh + /// $ pulumi import aws:msk/singleScramSecretAssociation:SingleScramSecretAssociation example arn:aws:kafka:us-west-2:123456789012:cluster/example/279c0212-d057-4dba-9aa9-1c4e5a25bfc7-3,arn:aws:secretsmanager:us-east-1:123456789012:secret:example-123456 + /// ``` + /// + [AwsResourceType("aws:msk/singleScramSecretAssociation:SingleScramSecretAssociation")] + public partial class SingleScramSecretAssociation : global::Pulumi.CustomResource + { + /// + /// Amazon Resource Name (ARN) of the MSK cluster. + /// + [Output("clusterArn")] + public Output ClusterArn { get; private set; } = null!; + + /// + /// AWS Secrets Manager secret ARN. + /// + [Output("secretArn")] + public Output SecretArn { get; private set; } = null!; + + + /// + /// Create a SingleScramSecretAssociation 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 SingleScramSecretAssociation(string name, SingleScramSecretAssociationArgs args, CustomResourceOptions? options = null) + : base("aws:msk/singleScramSecretAssociation:SingleScramSecretAssociation", name, args ?? new SingleScramSecretAssociationArgs(), MakeResourceOptions(options, "")) + { + } + + private SingleScramSecretAssociation(string name, Input id, SingleScramSecretAssociationState? state = null, CustomResourceOptions? options = null) + : base("aws:msk/singleScramSecretAssociation:SingleScramSecretAssociation", 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 SingleScramSecretAssociation 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 SingleScramSecretAssociation Get(string name, Input id, SingleScramSecretAssociationState? state = null, CustomResourceOptions? options = null) + { + return new SingleScramSecretAssociation(name, id, state, options); + } + } + + public sealed class SingleScramSecretAssociationArgs : global::Pulumi.ResourceArgs + { + /// + /// Amazon Resource Name (ARN) of the MSK cluster. + /// + [Input("clusterArn", required: true)] + public Input ClusterArn { get; set; } = null!; + + /// + /// AWS Secrets Manager secret ARN. + /// + [Input("secretArn", required: true)] + public Input SecretArn { get; set; } = null!; + + public SingleScramSecretAssociationArgs() + { + } + public static new SingleScramSecretAssociationArgs Empty => new SingleScramSecretAssociationArgs(); + } + + public sealed class SingleScramSecretAssociationState : global::Pulumi.ResourceArgs + { + /// + /// Amazon Resource Name (ARN) of the MSK cluster. + /// + [Input("clusterArn")] + public Input? ClusterArn { get; set; } + + /// + /// AWS Secrets Manager secret ARN. + /// + [Input("secretArn")] + public Input? SecretArn { get; set; } + + public SingleScramSecretAssociationState() + { + } + public static new SingleScramSecretAssociationState Empty => new SingleScramSecretAssociationState(); + } +} diff --git a/sdk/dotnet/NetworkFirewall/Inputs/FirewallPolicyFirewallPolicyStatefulEngineOptionsArgs.cs b/sdk/dotnet/NetworkFirewall/Inputs/FirewallPolicyFirewallPolicyStatefulEngineOptionsArgs.cs index ca1fec9c6f0..b3bc8abcfc1 100644 --- a/sdk/dotnet/NetworkFirewall/Inputs/FirewallPolicyFirewallPolicyStatefulEngineOptionsArgs.cs +++ b/sdk/dotnet/NetworkFirewall/Inputs/FirewallPolicyFirewallPolicyStatefulEngineOptionsArgs.cs @@ -12,6 +12,12 @@ namespace Pulumi.Aws.NetworkFirewall.Inputs public sealed class FirewallPolicyFirewallPolicyStatefulEngineOptionsArgs : global::Pulumi.ResourceArgs { + /// + /// Amount of time that can pass without any traffic sent through the firewall before the firewall determines that the connection is idle. + /// + [Input("flowTimeouts")] + public Input? FlowTimeouts { get; set; } + /// /// Indicates how to manage the order of stateful rule evaluation for the policy. Default value: `DEFAULT_ACTION_ORDER`. Valid values: `DEFAULT_ACTION_ORDER`, `STRICT_ORDER`. /// diff --git a/sdk/dotnet/NetworkFirewall/Inputs/FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsArgs.cs b/sdk/dotnet/NetworkFirewall/Inputs/FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsArgs.cs new file mode 100644 index 00000000000..9acd930f273 --- /dev/null +++ b/sdk/dotnet/NetworkFirewall/Inputs/FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsArgs.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.NetworkFirewall.Inputs +{ + + public sealed class FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsArgs : global::Pulumi.ResourceArgs + { + /// + /// Number of seconds that can pass without any TCP traffic sent through the firewall before the firewall determines that the connection is idle. After the idle timeout passes, data packets are dropped, however, the next TCP SYN packet is considered a new flow and is processed by the firewall. Clients or targets can use TCP keepalive packets to reset the idle timeout. Default value: `350`. + /// + [Input("tcpIdleTimeoutSeconds")] + public Input? TcpIdleTimeoutSeconds { get; set; } + + public FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsArgs() + { + } + public static new FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsArgs Empty => new FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsArgs(); + } +} diff --git a/sdk/dotnet/NetworkFirewall/Inputs/FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsGetArgs.cs b/sdk/dotnet/NetworkFirewall/Inputs/FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsGetArgs.cs new file mode 100644 index 00000000000..74f5ccc7e7d --- /dev/null +++ b/sdk/dotnet/NetworkFirewall/Inputs/FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsGetArgs.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.NetworkFirewall.Inputs +{ + + public sealed class FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Number of seconds that can pass without any TCP traffic sent through the firewall before the firewall determines that the connection is idle. After the idle timeout passes, data packets are dropped, however, the next TCP SYN packet is considered a new flow and is processed by the firewall. Clients or targets can use TCP keepalive packets to reset the idle timeout. Default value: `350`. + /// + [Input("tcpIdleTimeoutSeconds")] + public Input? TcpIdleTimeoutSeconds { get; set; } + + public FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsGetArgs() + { + } + public static new FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsGetArgs Empty => new FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsGetArgs(); + } +} diff --git a/sdk/dotnet/NetworkFirewall/Inputs/FirewallPolicyFirewallPolicyStatefulEngineOptionsGetArgs.cs b/sdk/dotnet/NetworkFirewall/Inputs/FirewallPolicyFirewallPolicyStatefulEngineOptionsGetArgs.cs index e1c38723d1a..2cf4b72ae09 100644 --- a/sdk/dotnet/NetworkFirewall/Inputs/FirewallPolicyFirewallPolicyStatefulEngineOptionsGetArgs.cs +++ b/sdk/dotnet/NetworkFirewall/Inputs/FirewallPolicyFirewallPolicyStatefulEngineOptionsGetArgs.cs @@ -12,6 +12,12 @@ namespace Pulumi.Aws.NetworkFirewall.Inputs public sealed class FirewallPolicyFirewallPolicyStatefulEngineOptionsGetArgs : global::Pulumi.ResourceArgs { + /// + /// Amount of time that can pass without any traffic sent through the firewall before the firewall determines that the connection is idle. + /// + [Input("flowTimeouts")] + public Input? FlowTimeouts { get; set; } + /// /// Indicates how to manage the order of stateful rule evaluation for the policy. Default value: `DEFAULT_ACTION_ORDER`. Valid values: `DEFAULT_ACTION_ORDER`, `STRICT_ORDER`. /// diff --git a/sdk/dotnet/NetworkFirewall/Inputs/LoggingConfigurationLoggingConfigurationLogDestinationConfigArgs.cs b/sdk/dotnet/NetworkFirewall/Inputs/LoggingConfigurationLoggingConfigurationLogDestinationConfigArgs.cs index ced5d89eea7..dc1f8642074 100644 --- a/sdk/dotnet/NetworkFirewall/Inputs/LoggingConfigurationLoggingConfigurationLogDestinationConfigArgs.cs +++ b/sdk/dotnet/NetworkFirewall/Inputs/LoggingConfigurationLoggingConfigurationLogDestinationConfigArgs.cs @@ -17,7 +17,7 @@ public sealed class LoggingConfigurationLoggingConfigurationLogDestinationConfig /// /// A map describing the logging destination for the chosen `log_destination_type`. - /// * For an Amazon S3 bucket, specify the key `bucketName` with the name of the bucket and optionally specify the key `prefix` with a path. + /// * For an Amazon S3 bucket, specify the key `bucketName` with the name of the bucket and optionally specify the key `prefix` with a path (Do not add a leading / in the `prefix` as the configuration will have two // when applied). /// * For a CloudWatch log group, specify the key `logGroup` with the name of the CloudWatch log group. /// * For a Kinesis Data Firehose delivery stream, specify the key `deliveryStream` with the name of the delivery stream. /// diff --git a/sdk/dotnet/NetworkFirewall/Inputs/LoggingConfigurationLoggingConfigurationLogDestinationConfigGetArgs.cs b/sdk/dotnet/NetworkFirewall/Inputs/LoggingConfigurationLoggingConfigurationLogDestinationConfigGetArgs.cs index 8579d48bcba..a15bd033b70 100644 --- a/sdk/dotnet/NetworkFirewall/Inputs/LoggingConfigurationLoggingConfigurationLogDestinationConfigGetArgs.cs +++ b/sdk/dotnet/NetworkFirewall/Inputs/LoggingConfigurationLoggingConfigurationLogDestinationConfigGetArgs.cs @@ -17,7 +17,7 @@ public sealed class LoggingConfigurationLoggingConfigurationLogDestinationConfig /// /// A map describing the logging destination for the chosen `log_destination_type`. - /// * For an Amazon S3 bucket, specify the key `bucketName` with the name of the bucket and optionally specify the key `prefix` with a path. + /// * For an Amazon S3 bucket, specify the key `bucketName` with the name of the bucket and optionally specify the key `prefix` with a path (Do not add a leading / in the `prefix` as the configuration will have two // when applied). /// * For a CloudWatch log group, specify the key `logGroup` with the name of the CloudWatch log group. /// * For a Kinesis Data Firehose delivery stream, specify the key `deliveryStream` with the name of the delivery stream. /// diff --git a/sdk/dotnet/NetworkFirewall/LoggingConfiguration.cs b/sdk/dotnet/NetworkFirewall/LoggingConfiguration.cs index 5c3c29523a2..273330328bc 100644 --- a/sdk/dotnet/NetworkFirewall/LoggingConfiguration.cs +++ b/sdk/dotnet/NetworkFirewall/LoggingConfiguration.cs @@ -36,7 +36,7 @@ namespace Pulumi.Aws.NetworkFirewall /// LogDestination = /// { /// { "bucketName", exampleAwsS3Bucket.Bucket }, - /// { "prefix", "/example" }, + /// { "prefix", "example" }, /// }, /// LogDestinationType = "S3", /// LogType = "FLOW", diff --git a/sdk/dotnet/NetworkFirewall/Outputs/FirewallPolicyFirewallPolicyStatefulEngineOptions.cs b/sdk/dotnet/NetworkFirewall/Outputs/FirewallPolicyFirewallPolicyStatefulEngineOptions.cs index 6f9b8259861..29183bc1a4c 100644 --- a/sdk/dotnet/NetworkFirewall/Outputs/FirewallPolicyFirewallPolicyStatefulEngineOptions.cs +++ b/sdk/dotnet/NetworkFirewall/Outputs/FirewallPolicyFirewallPolicyStatefulEngineOptions.cs @@ -13,6 +13,10 @@ namespace Pulumi.Aws.NetworkFirewall.Outputs [OutputType] public sealed class FirewallPolicyFirewallPolicyStatefulEngineOptions { + /// + /// Amount of time that can pass without any traffic sent through the firewall before the firewall determines that the connection is idle. + /// + public readonly Outputs.FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeouts? FlowTimeouts; /// /// Indicates how to manage the order of stateful rule evaluation for the policy. Default value: `DEFAULT_ACTION_ORDER`. Valid values: `DEFAULT_ACTION_ORDER`, `STRICT_ORDER`. /// @@ -24,10 +28,13 @@ public sealed class FirewallPolicyFirewallPolicyStatefulEngineOptions [OutputConstructor] private FirewallPolicyFirewallPolicyStatefulEngineOptions( + Outputs.FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeouts? flowTimeouts, + string? ruleOrder, string? streamExceptionPolicy) { + FlowTimeouts = flowTimeouts; RuleOrder = ruleOrder; StreamExceptionPolicy = streamExceptionPolicy; } diff --git a/sdk/dotnet/NetworkFirewall/Outputs/FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeouts.cs b/sdk/dotnet/NetworkFirewall/Outputs/FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeouts.cs new file mode 100644 index 00000000000..ce20276bc5b --- /dev/null +++ b/sdk/dotnet/NetworkFirewall/Outputs/FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeouts.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.NetworkFirewall.Outputs +{ + + [OutputType] + public sealed class FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeouts + { + /// + /// Number of seconds that can pass without any TCP traffic sent through the firewall before the firewall determines that the connection is idle. After the idle timeout passes, data packets are dropped, however, the next TCP SYN packet is considered a new flow and is processed by the firewall. Clients or targets can use TCP keepalive packets to reset the idle timeout. Default value: `350`. + /// + public readonly int? TcpIdleTimeoutSeconds; + + [OutputConstructor] + private FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeouts(int? tcpIdleTimeoutSeconds) + { + TcpIdleTimeoutSeconds = tcpIdleTimeoutSeconds; + } + } +} diff --git a/sdk/dotnet/NetworkFirewall/Outputs/LoggingConfigurationLoggingConfigurationLogDestinationConfig.cs b/sdk/dotnet/NetworkFirewall/Outputs/LoggingConfigurationLoggingConfigurationLogDestinationConfig.cs index d649afbcd08..dc1edecbd46 100644 --- a/sdk/dotnet/NetworkFirewall/Outputs/LoggingConfigurationLoggingConfigurationLogDestinationConfig.cs +++ b/sdk/dotnet/NetworkFirewall/Outputs/LoggingConfigurationLoggingConfigurationLogDestinationConfig.cs @@ -15,7 +15,7 @@ public sealed class LoggingConfigurationLoggingConfigurationLogDestinationConfig { /// /// A map describing the logging destination for the chosen `log_destination_type`. - /// * For an Amazon S3 bucket, specify the key `bucketName` with the name of the bucket and optionally specify the key `prefix` with a path. + /// * For an Amazon S3 bucket, specify the key `bucketName` with the name of the bucket and optionally specify the key `prefix` with a path (Do not add a leading / in the `prefix` as the configuration will have two // when applied). /// * For a CloudWatch log group, specify the key `logGroup` with the name of the CloudWatch log group. /// * For a Kinesis Data Firehose delivery stream, specify the key `deliveryStream` with the name of the delivery stream. /// diff --git a/sdk/dotnet/Rds/Cluster.cs b/sdk/dotnet/Rds/Cluster.cs index e8e50b1be7e..3b2b3c11ca7 100644 --- a/sdk/dotnet/Rds/Cluster.cs +++ b/sdk/dotnet/Rds/Cluster.cs @@ -182,7 +182,8 @@ namespace Pulumi.Aws.Rds /// Serverlessv2ScalingConfiguration = new Aws.Rds.Inputs.ClusterServerlessv2ScalingConfigurationArgs /// { /// MaxCapacity = 1, - /// MinCapacity = 0.5, + /// MinCapacity = 0, + /// SecondsUntilAutoPause = 3600, /// }, /// }); /// diff --git a/sdk/dotnet/Rds/GlobalCluster.cs b/sdk/dotnet/Rds/GlobalCluster.cs index e1dafa3e54d..5bdd2efea87 100644 --- a/sdk/dotnet/Rds/GlobalCluster.cs +++ b/sdk/dotnet/Rds/GlobalCluster.cs @@ -236,16 +236,16 @@ namespace Pulumi.Aws.Rds public partial class GlobalCluster : global::Pulumi.CustomResource { /// - /// RDS Global Cluster Amazon Resource Name (ARN) + /// RDS Global Cluster Amazon Resource Name (ARN). /// [Output("arn")] public Output Arn { get; private set; } = null!; /// - /// Name for an automatically created database on cluster creation. + /// Name for an automatically created database on cluster creation. Pulumi will only perform drift detection if a configuration value is provided. /// [Output("databaseName")] - public Output DatabaseName { get; private set; } = null!; + public Output DatabaseName { get; private set; } = null!; /// /// If the Global Cluster should have deletion protection enabled. The database can't be deleted when this value is set to `true`. The default is `false`. @@ -299,7 +299,7 @@ public partial class GlobalCluster : global::Pulumi.CustomResource public Output> GlobalClusterMembers { get; private set; } = null!; /// - /// AWS Region-unique, immutable identifier for the global database cluster. This identifier is found in AWS CloudTrail log entries whenever the AWS KMS key for the DB cluster is accessed + /// AWS Region-unique, immutable identifier for the global database cluster. This identifier is found in AWS CloudTrail log entries whenever the AWS KMS key for the DB cluster is accessed. /// [Output("globalClusterResourceId")] public Output GlobalClusterResourceId { get; private set; } = null!; @@ -316,6 +316,18 @@ public partial class GlobalCluster : global::Pulumi.CustomResource [Output("storageEncrypted")] public Output StorageEncrypted { get; private set; } = null!; + /// + /// A map of tags to assign to the DB cluster. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + /// + [Output("tags")] + public Output?> Tags { get; private set; } = null!; + + /// + /// Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + /// + [Output("tagsAll")] + public Output> TagsAll { get; private set; } = null!; + /// /// Create a GlobalCluster resource with the given unique name, arguments, and options. @@ -363,7 +375,7 @@ public static GlobalCluster Get(string name, Input id, GlobalClusterStat public sealed class GlobalClusterArgs : global::Pulumi.ResourceArgs { /// - /// Name for an automatically created database on cluster creation. + /// Name for an automatically created database on cluster creation. Pulumi will only perform drift detection if a configuration value is provided. /// [Input("databaseName")] public Input? DatabaseName { get; set; } @@ -416,6 +428,18 @@ public sealed class GlobalClusterArgs : global::Pulumi.ResourceArgs [Input("storageEncrypted")] public Input? StorageEncrypted { get; set; } + [Input("tags")] + private InputMap? _tags; + + /// + /// A map of tags to assign to the DB cluster. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + /// + public InputMap Tags + { + get => _tags ?? (_tags = new InputMap()); + set => _tags = value; + } + public GlobalClusterArgs() { } @@ -425,13 +449,13 @@ public GlobalClusterArgs() public sealed class GlobalClusterState : global::Pulumi.ResourceArgs { /// - /// RDS Global Cluster Amazon Resource Name (ARN) + /// RDS Global Cluster Amazon Resource Name (ARN). /// [Input("arn")] public Input? Arn { get; set; } /// - /// Name for an automatically created database on cluster creation. + /// Name for an automatically created database on cluster creation. Pulumi will only perform drift detection if a configuration value is provided. /// [Input("databaseName")] public Input? DatabaseName { get; set; } @@ -494,7 +518,7 @@ public InputList GlobalClusterMe } /// - /// AWS Region-unique, immutable identifier for the global database cluster. This identifier is found in AWS CloudTrail log entries whenever the AWS KMS key for the DB cluster is accessed + /// AWS Region-unique, immutable identifier for the global database cluster. This identifier is found in AWS CloudTrail log entries whenever the AWS KMS key for the DB cluster is accessed. /// [Input("globalClusterResourceId")] public Input? GlobalClusterResourceId { get; set; } @@ -511,6 +535,31 @@ public InputList GlobalClusterMe [Input("storageEncrypted")] public Input? StorageEncrypted { get; set; } + [Input("tags")] + private InputMap? _tags; + + /// + /// A map of tags to assign to the DB cluster. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + /// + public InputMap Tags + { + get => _tags ?? (_tags = new InputMap()); + set => _tags = value; + } + + [Input("tagsAll")] + private InputMap? _tagsAll; + + /// + /// Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + /// + [Obsolete(@"Please use `tags` instead.")] + public InputMap TagsAll + { + get => _tagsAll ?? (_tagsAll = new InputMap()); + set => _tagsAll = value; + } + public GlobalClusterState() { } diff --git a/sdk/dotnet/Rds/Inputs/ClusterServerlessv2ScalingConfigurationArgs.cs b/sdk/dotnet/Rds/Inputs/ClusterServerlessv2ScalingConfigurationArgs.cs index 3d265eedc2b..3ebd5fdebee 100644 --- a/sdk/dotnet/Rds/Inputs/ClusterServerlessv2ScalingConfigurationArgs.cs +++ b/sdk/dotnet/Rds/Inputs/ClusterServerlessv2ScalingConfigurationArgs.cs @@ -24,6 +24,12 @@ public sealed class ClusterServerlessv2ScalingConfigurationArgs : global::Pulumi [Input("minCapacity", required: true)] public Input MinCapacity { get; set; } = null!; + /// + /// Time, in seconds, before an Aurora DB cluster in `provisioned` DB engine mode is paused. Valid values are `300` through `86400`. + /// + [Input("secondsUntilAutoPause")] + public Input? SecondsUntilAutoPause { get; set; } + public ClusterServerlessv2ScalingConfigurationArgs() { } diff --git a/sdk/dotnet/Rds/Inputs/ClusterServerlessv2ScalingConfigurationGetArgs.cs b/sdk/dotnet/Rds/Inputs/ClusterServerlessv2ScalingConfigurationGetArgs.cs index d429dcc7fa9..49b5937edac 100644 --- a/sdk/dotnet/Rds/Inputs/ClusterServerlessv2ScalingConfigurationGetArgs.cs +++ b/sdk/dotnet/Rds/Inputs/ClusterServerlessv2ScalingConfigurationGetArgs.cs @@ -24,6 +24,12 @@ public sealed class ClusterServerlessv2ScalingConfigurationGetArgs : global::Pul [Input("minCapacity", required: true)] public Input MinCapacity { get; set; } = null!; + /// + /// Time, in seconds, before an Aurora DB cluster in `provisioned` DB engine mode is paused. Valid values are `300` through `86400`. + /// + [Input("secondsUntilAutoPause")] + public Input? SecondsUntilAutoPause { get; set; } + public ClusterServerlessv2ScalingConfigurationGetArgs() { } diff --git a/sdk/dotnet/Rds/Inputs/GlobalClusterGlobalClusterMemberArgs.cs b/sdk/dotnet/Rds/Inputs/GlobalClusterGlobalClusterMemberArgs.cs index b73bc6c6eff..fc54ec7b512 100644 --- a/sdk/dotnet/Rds/Inputs/GlobalClusterGlobalClusterMemberArgs.cs +++ b/sdk/dotnet/Rds/Inputs/GlobalClusterGlobalClusterMemberArgs.cs @@ -13,13 +13,13 @@ namespace Pulumi.Aws.Rds.Inputs public sealed class GlobalClusterGlobalClusterMemberArgs : global::Pulumi.ResourceArgs { /// - /// Amazon Resource Name (ARN) of member DB Cluster + /// Amazon Resource Name (ARN) of member DB Cluster. /// [Input("dbClusterArn")] public Input? DbClusterArn { get; set; } /// - /// Whether the member is the primary DB Cluster + /// Whether the member is the primary DB Cluster. /// [Input("isWriter")] public Input? IsWriter { get; set; } diff --git a/sdk/dotnet/Rds/Inputs/GlobalClusterGlobalClusterMemberGetArgs.cs b/sdk/dotnet/Rds/Inputs/GlobalClusterGlobalClusterMemberGetArgs.cs index d54ae5b6e6b..54c65a82b45 100644 --- a/sdk/dotnet/Rds/Inputs/GlobalClusterGlobalClusterMemberGetArgs.cs +++ b/sdk/dotnet/Rds/Inputs/GlobalClusterGlobalClusterMemberGetArgs.cs @@ -13,13 +13,13 @@ namespace Pulumi.Aws.Rds.Inputs public sealed class GlobalClusterGlobalClusterMemberGetArgs : global::Pulumi.ResourceArgs { /// - /// Amazon Resource Name (ARN) of member DB Cluster + /// Amazon Resource Name (ARN) of member DB Cluster. /// [Input("dbClusterArn")] public Input? DbClusterArn { get; set; } /// - /// Whether the member is the primary DB Cluster + /// Whether the member is the primary DB Cluster. /// [Input("isWriter")] public Input? IsWriter { get; set; } diff --git a/sdk/dotnet/Rds/Instance.cs b/sdk/dotnet/Rds/Instance.cs index a38611cc25b..2015e2b58a0 100644 --- a/sdk/dotnet/Rds/Instance.cs +++ b/sdk/dotnet/Rds/Instance.cs @@ -486,13 +486,12 @@ public partial class Instance : global::Pulumi.CustomResource public Output DbName { get; private set; } = null!; /// - /// Name of DB subnet group. DB instance will - /// be created in the VPC associated with the DB subnet group. If unspecified, will - /// be created in the `default` VPC, or in EC2 Classic, if available. When working - /// with read replicas, it should be specified only if the source database - /// specifies an instance in another AWS Region. See [DBSubnetGroupName in API - /// action CreateDBInstanceReadReplica](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstanceReadReplica.html) - /// for additional read replica constraints. + /// Name of DB subnet group. + /// DB instance will be created in the VPC associated with the DB subnet group. + /// If unspecified, will be created in the `default` Subnet Group. + /// When working with read replicas created in the same region, defaults to the Subnet Group Name of the source DB. + /// When working with read replicas created in a different region, defaults to the `default` Subnet Group. + /// See [DBSubnetGroupName in API action CreateDBInstanceReadReplica](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstanceReadReplica.html) for additional read replica constraints. /// [Output("dbSubnetGroupName")] public Output DbSubnetGroupName { get; private set; } = null!; @@ -802,15 +801,12 @@ public partial class Instance : global::Pulumi.CustomResource public Output> Replicas { get; private set; } = null!; /// - /// Specifies that this resource is a Replicate - /// database, and to use this value as the source database. This correlates to the - /// `identifier` of another Amazon RDS Database to replicate (if replicating within - /// a single region) or ARN of the Amazon RDS Database to replicate (if replicating - /// cross-region). Note that if you are - /// creating a cross-region replica of an encrypted database you will also need to - /// specify a `kms_key_id`. See [DB Instance Replication][instance-replication] and [Working with - /// PostgreSQL and MySQL Read Replicas](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ReadRepl.html) - /// for more information on using Replication. + /// Specifies that this resource is a Replica database, and to use this value as the source database. + /// If replicating an Amazon RDS Database Instance in the same region, use the `identifier` of the source DB, unless also specifying the `db_subnet_group_name`. + /// If specifying the `db_subnet_group_name` in the same region, use the `arn` of the source DB. + /// If replicating an Instance in a different region, use the `arn` of the source DB. + /// Note that if you are creating a cross-region replica of an encrypted database you will also need to specify a `kms_key_id`. + /// See [DB Instance Replication][instance-replication] and [Working with PostgreSQL and MySQL Read Replicas](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ReadRepl.html) for more information on using Replication. /// [Output("replicateSourceDb")] public Output ReplicateSourceDb { get; private set; } = null!; @@ -822,7 +818,9 @@ public partial class Instance : global::Pulumi.CustomResource public Output ResourceId { get; private set; } = null!; /// - /// A configuration block for restoring a DB instance to an arbitrary point in time. Requires the `identifier` argument to be set with the name of the new DB instance to be created. See Restore To Point In Time below for details. + /// A configuration block for restoring a DB instance to an arbitrary point in time. + /// Requires the `identifier` argument to be set with the name of the new DB instance to be created. + /// See Restore To Point In Time below for details. /// [Output("restoreToPointInTime")] public Output RestoreToPointInTime { get; private set; } = null!; @@ -844,9 +842,8 @@ public partial class Instance : global::Pulumi.CustomResource public Output SkipFinalSnapshot { get; private set; } = null!; /// - /// Specifies whether or not to create this - /// database from a snapshot. This correlates to the snapshot ID you'd find in the - /// RDS console, e.g: rds:production-2015-06-26-06-05. + /// Specifies whether or not to create this database from a snapshot. + /// This corresponds to the snapshot ID you'd find in the RDS console, e.g: rds:production-2015-06-26-06-05. /// [Output("snapshotIdentifier")] public Output SnapshotIdentifier { get; private set; } = null!; @@ -904,7 +901,8 @@ public partial class Instance : global::Pulumi.CustomResource public Output Timezone { get; private set; } = null!; /// - /// Whether to upgrade the storage file system configuration on the read replica. Can only be set with `replicate_source_db`. + /// Whether to upgrade the storage file system configuration on the read replica. + /// Can only be set with `replicate_source_db`. /// [Output("upgradeStorageConfig")] public Output UpgradeStorageConfig { get; private set; } = null!; @@ -1086,13 +1084,12 @@ public sealed class InstanceArgs : global::Pulumi.ResourceArgs public Input? DbName { get; set; } /// - /// Name of DB subnet group. DB instance will - /// be created in the VPC associated with the DB subnet group. If unspecified, will - /// be created in the `default` VPC, or in EC2 Classic, if available. When working - /// with read replicas, it should be specified only if the source database - /// specifies an instance in another AWS Region. See [DBSubnetGroupName in API - /// action CreateDBInstanceReadReplica](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstanceReadReplica.html) - /// for additional read replica constraints. + /// Name of DB subnet group. + /// DB instance will be created in the VPC associated with the DB subnet group. + /// If unspecified, will be created in the `default` Subnet Group. + /// When working with read replicas created in the same region, defaults to the Subnet Group Name of the source DB. + /// When working with read replicas created in a different region, defaults to the `default` Subnet Group. + /// See [DBSubnetGroupName in API action CreateDBInstanceReadReplica](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstanceReadReplica.html) for additional read replica constraints. /// [Input("dbSubnetGroupName")] public Input? DbSubnetGroupName { get; set; } @@ -1385,21 +1382,20 @@ public Input? Password public Input? ReplicaMode { get; set; } /// - /// Specifies that this resource is a Replicate - /// database, and to use this value as the source database. This correlates to the - /// `identifier` of another Amazon RDS Database to replicate (if replicating within - /// a single region) or ARN of the Amazon RDS Database to replicate (if replicating - /// cross-region). Note that if you are - /// creating a cross-region replica of an encrypted database you will also need to - /// specify a `kms_key_id`. See [DB Instance Replication][instance-replication] and [Working with - /// PostgreSQL and MySQL Read Replicas](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ReadRepl.html) - /// for more information on using Replication. + /// Specifies that this resource is a Replica database, and to use this value as the source database. + /// If replicating an Amazon RDS Database Instance in the same region, use the `identifier` of the source DB, unless also specifying the `db_subnet_group_name`. + /// If specifying the `db_subnet_group_name` in the same region, use the `arn` of the source DB. + /// If replicating an Instance in a different region, use the `arn` of the source DB. + /// Note that if you are creating a cross-region replica of an encrypted database you will also need to specify a `kms_key_id`. + /// See [DB Instance Replication][instance-replication] and [Working with PostgreSQL and MySQL Read Replicas](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ReadRepl.html) for more information on using Replication. /// [Input("replicateSourceDb")] public Input? ReplicateSourceDb { get; set; } /// - /// A configuration block for restoring a DB instance to an arbitrary point in time. Requires the `identifier` argument to be set with the name of the new DB instance to be created. See Restore To Point In Time below for details. + /// A configuration block for restoring a DB instance to an arbitrary point in time. + /// Requires the `identifier` argument to be set with the name of the new DB instance to be created. + /// See Restore To Point In Time below for details. /// [Input("restoreToPointInTime")] public Input? RestoreToPointInTime { get; set; } @@ -1421,9 +1417,8 @@ public Input? Password public Input? SkipFinalSnapshot { get; set; } /// - /// Specifies whether or not to create this - /// database from a snapshot. This correlates to the snapshot ID you'd find in the - /// RDS console, e.g: rds:production-2015-06-26-06-05. + /// Specifies whether or not to create this database from a snapshot. + /// This corresponds to the snapshot ID you'd find in the RDS console, e.g: rds:production-2015-06-26-06-05. /// [Input("snapshotIdentifier")] public Input? SnapshotIdentifier { get; set; } @@ -1475,7 +1470,8 @@ public InputMap Tags public Input? Timezone { get; set; } /// - /// Whether to upgrade the storage file system configuration on the read replica. Can only be set with `replicate_source_db`. + /// Whether to upgrade the storage file system configuration on the read replica. + /// Can only be set with `replicate_source_db`. /// [Input("upgradeStorageConfig")] public Input? UpgradeStorageConfig { get; set; } @@ -1633,13 +1629,12 @@ public sealed class InstanceState : global::Pulumi.ResourceArgs public Input? DbName { get; set; } /// - /// Name of DB subnet group. DB instance will - /// be created in the VPC associated with the DB subnet group. If unspecified, will - /// be created in the `default` VPC, or in EC2 Classic, if available. When working - /// with read replicas, it should be specified only if the source database - /// specifies an instance in another AWS Region. See [DBSubnetGroupName in API - /// action CreateDBInstanceReadReplica](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstanceReadReplica.html) - /// for additional read replica constraints. + /// Name of DB subnet group. + /// DB instance will be created in the VPC associated with the DB subnet group. + /// If unspecified, will be created in the `default` Subnet Group. + /// When working with read replicas created in the same region, defaults to the Subnet Group Name of the source DB. + /// When working with read replicas created in a different region, defaults to the `default` Subnet Group. + /// See [DBSubnetGroupName in API action CreateDBInstanceReadReplica](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstanceReadReplica.html) for additional read replica constraints. /// [Input("dbSubnetGroupName")] public Input? DbSubnetGroupName { get; set; } @@ -1988,15 +1983,12 @@ public InputList Replicas } /// - /// Specifies that this resource is a Replicate - /// database, and to use this value as the source database. This correlates to the - /// `identifier` of another Amazon RDS Database to replicate (if replicating within - /// a single region) or ARN of the Amazon RDS Database to replicate (if replicating - /// cross-region). Note that if you are - /// creating a cross-region replica of an encrypted database you will also need to - /// specify a `kms_key_id`. See [DB Instance Replication][instance-replication] and [Working with - /// PostgreSQL and MySQL Read Replicas](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ReadRepl.html) - /// for more information on using Replication. + /// Specifies that this resource is a Replica database, and to use this value as the source database. + /// If replicating an Amazon RDS Database Instance in the same region, use the `identifier` of the source DB, unless also specifying the `db_subnet_group_name`. + /// If specifying the `db_subnet_group_name` in the same region, use the `arn` of the source DB. + /// If replicating an Instance in a different region, use the `arn` of the source DB. + /// Note that if you are creating a cross-region replica of an encrypted database you will also need to specify a `kms_key_id`. + /// See [DB Instance Replication][instance-replication] and [Working with PostgreSQL and MySQL Read Replicas](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ReadRepl.html) for more information on using Replication. /// [Input("replicateSourceDb")] public Input? ReplicateSourceDb { get; set; } @@ -2008,7 +2000,9 @@ public InputList Replicas public Input? ResourceId { get; set; } /// - /// A configuration block for restoring a DB instance to an arbitrary point in time. Requires the `identifier` argument to be set with the name of the new DB instance to be created. See Restore To Point In Time below for details. + /// A configuration block for restoring a DB instance to an arbitrary point in time. + /// Requires the `identifier` argument to be set with the name of the new DB instance to be created. + /// See Restore To Point In Time below for details. /// [Input("restoreToPointInTime")] public Input? RestoreToPointInTime { get; set; } @@ -2030,9 +2024,8 @@ public InputList Replicas public Input? SkipFinalSnapshot { get; set; } /// - /// Specifies whether or not to create this - /// database from a snapshot. This correlates to the snapshot ID you'd find in the - /// RDS console, e.g: rds:production-2015-06-26-06-05. + /// Specifies whether or not to create this database from a snapshot. + /// This corresponds to the snapshot ID you'd find in the RDS console, e.g: rds:production-2015-06-26-06-05. /// [Input("snapshotIdentifier")] public Input? SnapshotIdentifier { get; set; } @@ -2103,7 +2096,8 @@ public InputMap TagsAll public Input? Timezone { get; set; } /// - /// Whether to upgrade the storage file system configuration on the read replica. Can only be set with `replicate_source_db`. + /// Whether to upgrade the storage file system configuration on the read replica. + /// Can only be set with `replicate_source_db`. /// [Input("upgradeStorageConfig")] public Input? UpgradeStorageConfig { get; set; } diff --git a/sdk/dotnet/Rds/Outputs/ClusterServerlessv2ScalingConfiguration.cs b/sdk/dotnet/Rds/Outputs/ClusterServerlessv2ScalingConfiguration.cs index 9e7437ac582..a812de0ad42 100644 --- a/sdk/dotnet/Rds/Outputs/ClusterServerlessv2ScalingConfiguration.cs +++ b/sdk/dotnet/Rds/Outputs/ClusterServerlessv2ScalingConfiguration.cs @@ -21,15 +21,22 @@ public sealed class ClusterServerlessv2ScalingConfiguration /// Minimum capacity for an Aurora DB cluster in `provisioned` DB engine mode. The minimum capacity must be lesser than or equal to the maximum capacity. Valid capacity values are in a range of `0` up to `256` in steps of `0.5`. /// public readonly double MinCapacity; + /// + /// Time, in seconds, before an Aurora DB cluster in `provisioned` DB engine mode is paused. Valid values are `300` through `86400`. + /// + public readonly int? SecondsUntilAutoPause; [OutputConstructor] private ClusterServerlessv2ScalingConfiguration( double maxCapacity, - double minCapacity) + double minCapacity, + + int? secondsUntilAutoPause) { MaxCapacity = maxCapacity; MinCapacity = minCapacity; + SecondsUntilAutoPause = secondsUntilAutoPause; } } } diff --git a/sdk/dotnet/Rds/Outputs/GlobalClusterGlobalClusterMember.cs b/sdk/dotnet/Rds/Outputs/GlobalClusterGlobalClusterMember.cs index f38721403f3..830d687d225 100644 --- a/sdk/dotnet/Rds/Outputs/GlobalClusterGlobalClusterMember.cs +++ b/sdk/dotnet/Rds/Outputs/GlobalClusterGlobalClusterMember.cs @@ -14,11 +14,11 @@ namespace Pulumi.Aws.Rds.Outputs public sealed class GlobalClusterGlobalClusterMember { /// - /// Amazon Resource Name (ARN) of member DB Cluster + /// Amazon Resource Name (ARN) of member DB Cluster. /// public readonly string? DbClusterArn; /// - /// Whether the member is the primary DB Cluster + /// Whether the member is the primary DB Cluster. /// public readonly bool? IsWriter; diff --git a/sdk/dotnet/Rds/Proxy.cs b/sdk/dotnet/Rds/Proxy.cs index b53f5638c23..b5e8b9b8af7 100644 --- a/sdk/dotnet/Rds/Proxy.cs +++ b/sdk/dotnet/Rds/Proxy.cs @@ -10,54 +10,6 @@ namespace Pulumi.Aws.Rds { /// - /// Provides an RDS DB proxy resource. For additional information, see the [RDS User Guide](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-proxy.html). - /// - /// ## Example Usage - /// - /// ```csharp - /// using System.Collections.Generic; - /// using System.Linq; - /// using Pulumi; - /// using Aws = Pulumi.Aws; - /// - /// return await Deployment.RunAsync(() => - /// { - /// var example = new Aws.Rds.Proxy("example", new() - /// { - /// Name = "example", - /// DebugLogging = false, - /// EngineFamily = "MYSQL", - /// IdleClientTimeout = 1800, - /// RequireTls = true, - /// RoleArn = exampleAwsIamRole.Arn, - /// VpcSecurityGroupIds = new[] - /// { - /// exampleAwsSecurityGroup.Id, - /// }, - /// VpcSubnetIds = new[] - /// { - /// exampleAwsSubnet.Id, - /// }, - /// Auths = new[] - /// { - /// new Aws.Rds.Inputs.ProxyAuthArgs - /// { - /// AuthScheme = "SECRETS", - /// Description = "example", - /// IamAuth = "DISABLED", - /// SecretArn = exampleAwsSecretsmanagerSecret.Arn, - /// }, - /// }, - /// Tags = - /// { - /// { "Name", "example" }, - /// { "Key", "value" }, - /// }, - /// }); - /// - /// }); - /// ``` - /// /// ## Import /// /// Using `pulumi import`, import DB proxies using the `name`. For example: diff --git a/sdk/dotnet/Route53/ProfilesAssociation.cs b/sdk/dotnet/Route53/ProfilesAssociation.cs index 88a6add01ad..893fcde1932 100644 --- a/sdk/dotnet/Route53/ProfilesAssociation.cs +++ b/sdk/dotnet/Route53/ProfilesAssociation.cs @@ -50,7 +50,7 @@ public partial class ProfilesAssociation : global::Pulumi.CustomResource public Output ResourceId { get; private set; } = null!; /// - /// Status of the Profile Association. See the [AWS docs](https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53profiles_Profile.html) for valid values. + /// Status of the Profile Association. /// [Output("status")] public Output Status { get; private set; } = null!; @@ -61,9 +61,15 @@ public partial class ProfilesAssociation : global::Pulumi.CustomResource [Output("statusMessage")] public Output StatusMessage { get; private set; } = null!; + /// + /// Map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + /// [Output("tags")] public Output?> Tags { get; private set; } = null!; + /// + /// Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + /// [Output("tagsAll")] public Output> TagsAll { get; private set; } = null!; @@ -136,6 +142,10 @@ public sealed class ProfilesAssociationArgs : global::Pulumi.ResourceArgs [Input("tags")] private InputMap? _tags; + + /// + /// Map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + /// public InputMap Tags { get => _tags ?? (_tags = new InputMap()); @@ -178,7 +188,7 @@ public sealed class ProfilesAssociationState : global::Pulumi.ResourceArgs public Input? ResourceId { get; set; } /// - /// Status of the Profile Association. See the [AWS docs](https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53profiles_Profile.html) for valid values. + /// Status of the Profile Association. /// [Input("status")] public Input? Status { get; set; } @@ -191,6 +201,10 @@ public sealed class ProfilesAssociationState : global::Pulumi.ResourceArgs [Input("tags")] private InputMap? _tags; + + /// + /// Map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + /// public InputMap Tags { get => _tags ?? (_tags = new InputMap()); @@ -199,6 +213,10 @@ public InputMap Tags [Input("tagsAll")] private InputMap? _tagsAll; + + /// + /// Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + /// [Obsolete(@"Please use `tags` instead.")] public InputMap TagsAll { diff --git a/sdk/dotnet/Route53/ProfilesProfile.cs b/sdk/dotnet/Route53/ProfilesProfile.cs index 903486ecadc..3e7beaf8d20 100644 --- a/sdk/dotnet/Route53/ProfilesProfile.cs +++ b/sdk/dotnet/Route53/ProfilesProfile.cs @@ -27,6 +27,10 @@ namespace Pulumi.Aws.Route53 /// var example = new Aws.Route53.ProfilesProfile("example", new() /// { /// Name = "example", + /// Tags = + /// { + /// { "Environment", "dev" }, + /// }, /// }); /// /// }); @@ -59,13 +63,13 @@ public partial class ProfilesProfile : global::Pulumi.CustomResource public Output OwnerId { get; private set; } = null!; /// - /// Share status of the Profile. Valid values [AWS docs](https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53profiles_Profile.html) + /// Share status of the Profile. /// [Output("shareStatus")] public Output ShareStatus { get; private set; } = null!; /// - /// Status of the Profile. Valid values [AWS docs](https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53profiles_Profile.html) + /// Status of the Profile. /// [Output("status")] public Output Status { get; private set; } = null!; @@ -76,6 +80,9 @@ public partial class ProfilesProfile : global::Pulumi.CustomResource [Output("statusMessage")] public Output StatusMessage { get; private set; } = null!; + /// + /// Map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + /// [Output("tags")] public Output?> Tags { get; private set; } = null!; @@ -142,6 +149,10 @@ public sealed class ProfilesProfileArgs : global::Pulumi.ResourceArgs [Input("tags")] private InputMap? _tags; + + /// + /// Map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + /// public InputMap Tags { get => _tags ?? (_tags = new InputMap()); @@ -175,13 +186,13 @@ public sealed class ProfilesProfileState : global::Pulumi.ResourceArgs public Input? OwnerId { get; set; } /// - /// Share status of the Profile. Valid values [AWS docs](https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53profiles_Profile.html) + /// Share status of the Profile. /// [Input("shareStatus")] public Input? ShareStatus { get; set; } /// - /// Status of the Profile. Valid values [AWS docs](https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53profiles_Profile.html) + /// Status of the Profile. /// [Input("status")] public Input? Status { get; set; } @@ -194,6 +205,10 @@ public sealed class ProfilesProfileState : global::Pulumi.ResourceArgs [Input("tags")] private InputMap? _tags; + + /// + /// Map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + /// public InputMap Tags { get => _tags ?? (_tags = new InputMap()); diff --git a/sdk/dotnet/Sagemaker/NotebookInstance.cs b/sdk/dotnet/Sagemaker/NotebookInstance.cs index 16430a8507a..374616218c3 100644 --- a/sdk/dotnet/Sagemaker/NotebookInstance.cs +++ b/sdk/dotnet/Sagemaker/NotebookInstance.cs @@ -151,7 +151,7 @@ public partial class NotebookInstance : global::Pulumi.CustomResource public Output NetworkInterfaceId { get; private set; } = null!; /// - /// The platform identifier of the notebook instance runtime environment. This value can be either `notebook-al1-v1`, `notebook-al2-v1`, or `notebook-al2-v2`, depending on which version of Amazon Linux you require. + /// The platform identifier of the notebook instance runtime environment. This value can be either `notebook-al1-v1`, `notebook-al2-v1`, `notebook-al2-v2`, or `notebook-al2-v3`, depending on which version of Amazon Linux you require. /// [Output("platformIdentifier")] public Output PlatformIdentifier { get; private set; } = null!; @@ -318,7 +318,7 @@ public InputList AdditionalCodeRepositories public Input? Name { get; set; } /// - /// The platform identifier of the notebook instance runtime environment. This value can be either `notebook-al1-v1`, `notebook-al2-v1`, or `notebook-al2-v2`, depending on which version of Amazon Linux you require. + /// The platform identifier of the notebook instance runtime environment. This value can be either `notebook-al1-v1`, `notebook-al2-v1`, `notebook-al2-v2`, or `notebook-al2-v3`, depending on which version of Amazon Linux you require. /// [Input("platformIdentifier")] public Input? PlatformIdentifier { get; set; } @@ -459,7 +459,7 @@ public InputList AdditionalCodeRepositories public Input? NetworkInterfaceId { get; set; } /// - /// The platform identifier of the notebook instance runtime environment. This value can be either `notebook-al1-v1`, `notebook-al2-v1`, or `notebook-al2-v2`, depending on which version of Amazon Linux you require. + /// The platform identifier of the notebook instance runtime environment. This value can be either `notebook-al1-v1`, `notebook-al2-v1`, `notebook-al2-v2`, or `notebook-al2-v3`, depending on which version of Amazon Linux you require. /// [Input("platformIdentifier")] public Input? PlatformIdentifier { get; set; } diff --git a/sdk/dotnet/ServiceCatalog/AppregistryApplication.cs b/sdk/dotnet/ServiceCatalog/AppregistryApplication.cs index f766a2e0151..272061cb90c 100644 --- a/sdk/dotnet/ServiceCatalog/AppregistryApplication.cs +++ b/sdk/dotnet/ServiceCatalog/AppregistryApplication.cs @@ -95,6 +95,18 @@ public partial class AppregistryApplication : global::Pulumi.CustomResource [Output("name")] public Output Name { get; private set; } = null!; + /// + /// A map of tags assigned to the Application. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + /// + [Output("tags")] + public Output?> Tags { get; private set; } = null!; + + /// + /// Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + /// + [Output("tagsAll")] + public Output> TagsAll { get; private set; } = null!; + /// /// Create a AppregistryApplication resource with the given unique name, arguments, and options. @@ -155,6 +167,18 @@ public sealed class AppregistryApplicationArgs : global::Pulumi.ResourceArgs [Input("name")] public Input? Name { get; set; } + [Input("tags")] + private InputMap? _tags; + + /// + /// A map of tags assigned to the Application. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + /// + public InputMap Tags + { + get => _tags ?? (_tags = new InputMap()); + set => _tags = value; + } + public AppregistryApplicationArgs() { } @@ -195,6 +219,31 @@ public InputMap ApplicationTag [Input("name")] public Input? Name { get; set; } + [Input("tags")] + private InputMap? _tags; + + /// + /// A map of tags assigned to the Application. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + /// + public InputMap Tags + { + get => _tags ?? (_tags = new InputMap()); + set => _tags = value; + } + + [Input("tagsAll")] + private InputMap? _tagsAll; + + /// + /// Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + /// + [Obsolete(@"Please use `tags` instead.")] + public InputMap TagsAll + { + get => _tagsAll ?? (_tagsAll = new InputMap()); + set => _tagsAll = value; + } + public AppregistryApplicationState() { } diff --git a/sdk/dotnet/ServiceCatalog/AppregistryAttributeGroup.cs b/sdk/dotnet/ServiceCatalog/AppregistryAttributeGroup.cs new file mode 100644 index 00000000000..5bb35a792a0 --- /dev/null +++ b/sdk/dotnet/ServiceCatalog/AppregistryAttributeGroup.cs @@ -0,0 +1,233 @@ +// *** 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.ServiceCatalog +{ + /// + /// Resource for managing an AWS Service Catalog AppRegistry Attribute Group. + /// + /// ## 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 example = new Aws.ServiceCatalog.AppregistryAttributeGroup("example", new() + /// { + /// Name = "example", + /// Description = "example description", + /// Attributes = JsonSerializer.Serialize(new Dictionary<string, object?> + /// { + /// ["app"] = "exampleapp", + /// ["group"] = "examplegroup", + /// }), + /// }); + /// + /// }); + /// ``` + /// + /// ## Import + /// + /// Using `pulumi import`, import Service Catalog AppRegistry Attribute Group using the `id`. For example: + /// + /// ```sh + /// $ pulumi import aws:servicecatalog/appregistryAttributeGroup:AppregistryAttributeGroup example 1234567890abcfedhijk09876s + /// ``` + /// + [AwsResourceType("aws:servicecatalog/appregistryAttributeGroup:AppregistryAttributeGroup")] + public partial class AppregistryAttributeGroup : global::Pulumi.CustomResource + { + /// + /// ARN of the Attribute Group. + /// + [Output("arn")] + public Output Arn { get; private set; } = null!; + + /// + /// A JSON string of nested key-value pairs that represents the attributes of the group. + /// + /// The following arguments are optional: + /// + [Output("attributes")] + public Output Attributes { get; private set; } = null!; + + /// + /// Description of the Attribute Group. + /// + [Output("description")] + public Output Description { get; private set; } = null!; + + /// + /// Name of the Attribute Group. + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// A map of tags assigned to the Attribute Group. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + /// + [Output("tags")] + public Output?> Tags { get; private set; } = null!; + + /// + /// A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + /// + [Output("tagsAll")] + public Output> TagsAll { get; private set; } = null!; + + + /// + /// Create a AppregistryAttributeGroup 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 AppregistryAttributeGroup(string name, AppregistryAttributeGroupArgs args, CustomResourceOptions? options = null) + : base("aws:servicecatalog/appregistryAttributeGroup:AppregistryAttributeGroup", name, args ?? new AppregistryAttributeGroupArgs(), MakeResourceOptions(options, "")) + { + } + + private AppregistryAttributeGroup(string name, Input id, AppregistryAttributeGroupState? state = null, CustomResourceOptions? options = null) + : base("aws:servicecatalog/appregistryAttributeGroup:AppregistryAttributeGroup", 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 AppregistryAttributeGroup 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 AppregistryAttributeGroup Get(string name, Input id, AppregistryAttributeGroupState? state = null, CustomResourceOptions? options = null) + { + return new AppregistryAttributeGroup(name, id, state, options); + } + } + + public sealed class AppregistryAttributeGroupArgs : global::Pulumi.ResourceArgs + { + /// + /// A JSON string of nested key-value pairs that represents the attributes of the group. + /// + /// The following arguments are optional: + /// + [Input("attributes", required: true)] + public Input Attributes { get; set; } = null!; + + /// + /// Description of the Attribute Group. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// Name of the Attribute Group. + /// + [Input("name")] + public Input? Name { get; set; } + + [Input("tags")] + private InputMap? _tags; + + /// + /// A map of tags assigned to the Attribute Group. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + /// + public InputMap Tags + { + get => _tags ?? (_tags = new InputMap()); + set => _tags = value; + } + + public AppregistryAttributeGroupArgs() + { + } + public static new AppregistryAttributeGroupArgs Empty => new AppregistryAttributeGroupArgs(); + } + + public sealed class AppregistryAttributeGroupState : global::Pulumi.ResourceArgs + { + /// + /// ARN of the Attribute Group. + /// + [Input("arn")] + public Input? Arn { get; set; } + + /// + /// A JSON string of nested key-value pairs that represents the attributes of the group. + /// + /// The following arguments are optional: + /// + [Input("attributes")] + public Input? Attributes { get; set; } + + /// + /// Description of the Attribute Group. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// Name of the Attribute Group. + /// + [Input("name")] + public Input? Name { get; set; } + + [Input("tags")] + private InputMap? _tags; + + /// + /// A map of tags assigned to the Attribute Group. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + /// + public InputMap Tags + { + get => _tags ?? (_tags = new InputMap()); + set => _tags = value; + } + + [Input("tagsAll")] + private InputMap? _tagsAll; + + /// + /// A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + /// + [Obsolete(@"Please use `tags` instead.")] + public InputMap TagsAll + { + get => _tagsAll ?? (_tagsAll = new InputMap()); + set => _tagsAll = value; + } + + public AppregistryAttributeGroupState() + { + } + public static new AppregistryAttributeGroupState Empty => new AppregistryAttributeGroupState(); + } +} diff --git a/sdk/dotnet/ServiceCatalog/AppregistryAttributeGroupAssociation.cs b/sdk/dotnet/ServiceCatalog/AppregistryAttributeGroupAssociation.cs new file mode 100644 index 00000000000..0aeefdb083b --- /dev/null +++ b/sdk/dotnet/ServiceCatalog/AppregistryAttributeGroupAssociation.cs @@ -0,0 +1,159 @@ +// *** 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.ServiceCatalog +{ + /// + /// Resource for managing an AWS Service Catalog AppRegistry Attribute Group Association. + /// + /// ## 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 example = new Aws.ServiceCatalog.AppregistryApplication("example", new() + /// { + /// Name = "example-app", + /// }); + /// + /// var exampleAppregistryAttributeGroup = new Aws.ServiceCatalog.AppregistryAttributeGroup("example", new() + /// { + /// Name = "example", + /// Description = "example description", + /// Attributes = JsonSerializer.Serialize(new Dictionary<string, object?> + /// { + /// ["app"] = "exampleapp", + /// ["group"] = "examplegroup", + /// }), + /// }); + /// + /// var exampleAppregistryAttributeGroupAssociation = new Aws.ServiceCatalog.AppregistryAttributeGroupAssociation("example", new() + /// { + /// ApplicationId = example.Id, + /// AttributeGroupId = exampleAppregistryAttributeGroup.Id, + /// }); + /// + /// }); + /// ``` + /// + /// ## Import + /// + /// Using `pulumi import`, import Service Catalog AppRegistry Attribute Group Association using `application_id` and `attribute_group_id` arguments separated by a comma (`,`). For example: + /// + /// ```sh + /// $ pulumi import aws:servicecatalog/appregistryAttributeGroupAssociation:AppregistryAttributeGroupAssociation example 12456778723424sdffsdfsdq34,12234t3564dsfsdf34asff4ww3 + /// ``` + /// + [AwsResourceType("aws:servicecatalog/appregistryAttributeGroupAssociation:AppregistryAttributeGroupAssociation")] + public partial class AppregistryAttributeGroupAssociation : global::Pulumi.CustomResource + { + /// + /// ID of the application. + /// + [Output("applicationId")] + public Output ApplicationId { get; private set; } = null!; + + /// + /// ID of the attribute group to associate with the application. + /// + [Output("attributeGroupId")] + public Output AttributeGroupId { get; private set; } = null!; + + + /// + /// Create a AppregistryAttributeGroupAssociation 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 AppregistryAttributeGroupAssociation(string name, AppregistryAttributeGroupAssociationArgs args, CustomResourceOptions? options = null) + : base("aws:servicecatalog/appregistryAttributeGroupAssociation:AppregistryAttributeGroupAssociation", name, args ?? new AppregistryAttributeGroupAssociationArgs(), MakeResourceOptions(options, "")) + { + } + + private AppregistryAttributeGroupAssociation(string name, Input id, AppregistryAttributeGroupAssociationState? state = null, CustomResourceOptions? options = null) + : base("aws:servicecatalog/appregistryAttributeGroupAssociation:AppregistryAttributeGroupAssociation", 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 AppregistryAttributeGroupAssociation 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 AppregistryAttributeGroupAssociation Get(string name, Input id, AppregistryAttributeGroupAssociationState? state = null, CustomResourceOptions? options = null) + { + return new AppregistryAttributeGroupAssociation(name, id, state, options); + } + } + + public sealed class AppregistryAttributeGroupAssociationArgs : global::Pulumi.ResourceArgs + { + /// + /// ID of the application. + /// + [Input("applicationId", required: true)] + public Input ApplicationId { get; set; } = null!; + + /// + /// ID of the attribute group to associate with the application. + /// + [Input("attributeGroupId", required: true)] + public Input AttributeGroupId { get; set; } = null!; + + public AppregistryAttributeGroupAssociationArgs() + { + } + public static new AppregistryAttributeGroupAssociationArgs Empty => new AppregistryAttributeGroupAssociationArgs(); + } + + public sealed class AppregistryAttributeGroupAssociationState : global::Pulumi.ResourceArgs + { + /// + /// ID of the application. + /// + [Input("applicationId")] + public Input? ApplicationId { get; set; } + + /// + /// ID of the attribute group to associate with the application. + /// + [Input("attributeGroupId")] + public Input? AttributeGroupId { get; set; } + + public AppregistryAttributeGroupAssociationState() + { + } + public static new AppregistryAttributeGroupAssociationState Empty => new AppregistryAttributeGroupAssociationState(); + } +} diff --git a/sdk/dotnet/ServiceCatalog/GetAppregistryApplication.cs b/sdk/dotnet/ServiceCatalog/GetAppregistryApplication.cs index 4efdf21f887..dbee13187eb 100644 --- a/sdk/dotnet/ServiceCatalog/GetAppregistryApplication.cs +++ b/sdk/dotnet/ServiceCatalog/GetAppregistryApplication.cs @@ -114,6 +114,10 @@ public sealed class GetAppregistryApplicationResult /// Name of the application. /// public readonly string Name; + /// + /// A map of tags assigned to the Application. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + /// + public readonly ImmutableDictionary Tags; [OutputConstructor] private GetAppregistryApplicationResult( @@ -125,13 +129,16 @@ private GetAppregistryApplicationResult( string id, - string name) + string name, + + ImmutableDictionary tags) { ApplicationTag = applicationTag; Arn = arn; Description = description; Id = id; Name = name; + Tags = tags; } } } diff --git a/sdk/dotnet/ServiceCatalog/GetAppregistryAttributeGroup.cs b/sdk/dotnet/ServiceCatalog/GetAppregistryAttributeGroup.cs new file mode 100644 index 00000000000..f433b80afe6 --- /dev/null +++ b/sdk/dotnet/ServiceCatalog/GetAppregistryAttributeGroup.cs @@ -0,0 +1,162 @@ +// *** 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.ServiceCatalog +{ + public static class GetAppregistryAttributeGroup + { + /// + /// Data source for managing an AWS Service Catalog AppRegistry Attribute Group. + /// + /// ## Example Usage + /// + /// ### Basic Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Aws = Pulumi.Aws; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var example = Aws.ServiceCatalog.GetAppregistryAttributeGroup.Invoke(new() + /// { + /// Name = "example_attribute_group", + /// }); + /// + /// }); + /// ``` + /// + public static Task InvokeAsync(GetAppregistryAttributeGroupArgs? args = null, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("aws:servicecatalog/getAppregistryAttributeGroup:getAppregistryAttributeGroup", args ?? new GetAppregistryAttributeGroupArgs(), options.WithDefaults()); + + /// + /// Data source for managing an AWS Service Catalog AppRegistry Attribute Group. + /// + /// ## Example Usage + /// + /// ### Basic Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Aws = Pulumi.Aws; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var example = Aws.ServiceCatalog.GetAppregistryAttributeGroup.Invoke(new() + /// { + /// Name = "example_attribute_group", + /// }); + /// + /// }); + /// ``` + /// + public static Output Invoke(GetAppregistryAttributeGroupInvokeArgs? args = null, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("aws:servicecatalog/getAppregistryAttributeGroup:getAppregistryAttributeGroup", args ?? new GetAppregistryAttributeGroupInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetAppregistryAttributeGroupArgs : global::Pulumi.InvokeArgs + { + /// + /// ARN of the Attribute Group to find. + /// + [Input("arn")] + public string? Arn { get; set; } + + /// + /// ID of the Attribute Group to find. + /// + [Input("id")] + public string? Id { get; set; } + + /// + /// Name of the Attribute Group to find. + /// + [Input("name")] + public string? Name { get; set; } + + public GetAppregistryAttributeGroupArgs() + { + } + public static new GetAppregistryAttributeGroupArgs Empty => new GetAppregistryAttributeGroupArgs(); + } + + public sealed class GetAppregistryAttributeGroupInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// ARN of the Attribute Group to find. + /// + [Input("arn")] + public Input? Arn { get; set; } + + /// + /// ID of the Attribute Group to find. + /// + [Input("id")] + public Input? Id { get; set; } + + /// + /// Name of the Attribute Group to find. + /// + [Input("name")] + public Input? Name { get; set; } + + public GetAppregistryAttributeGroupInvokeArgs() + { + } + public static new GetAppregistryAttributeGroupInvokeArgs Empty => new GetAppregistryAttributeGroupInvokeArgs(); + } + + + [OutputType] + public sealed class GetAppregistryAttributeGroupResult + { + public readonly string Arn; + /// + /// A JSON string of nested key-value pairs that represents the attributes of the group. + /// + public readonly string Attributes; + /// + /// Description of the Attribute Group. + /// + public readonly string Description; + public readonly string Id; + public readonly string Name; + /// + /// A map of tags assigned to the Attribute Group. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + /// + public readonly ImmutableDictionary Tags; + + [OutputConstructor] + private GetAppregistryAttributeGroupResult( + string arn, + + string attributes, + + string description, + + string id, + + string name, + + ImmutableDictionary tags) + { + Arn = arn; + Attributes = attributes; + Description = description; + Id = id; + Name = name; + Tags = tags; + } + } +} diff --git a/sdk/dotnet/SesV2/ConfigurationSet.cs b/sdk/dotnet/SesV2/ConfigurationSet.cs index 387e0371088..8d951d5f93e 100644 --- a/sdk/dotnet/SesV2/ConfigurationSet.cs +++ b/sdk/dotnet/SesV2/ConfigurationSet.cs @@ -29,6 +29,7 @@ namespace Pulumi.Aws.SesV2 /// ConfigurationSetName = "example", /// DeliveryOptions = new Aws.SesV2.Inputs.ConfigurationSetDeliveryOptionsArgs /// { + /// MaxDeliverySeconds = 300, /// TlsPolicy = "REQUIRE", /// }, /// ReputationOptions = new Aws.SesV2.Inputs.ConfigurationSetReputationOptionsArgs @@ -50,6 +51,7 @@ namespace Pulumi.Aws.SesV2 /// TrackingOptions = new Aws.SesV2.Inputs.ConfigurationSetTrackingOptionsArgs /// { /// CustomRedirectDomain = "example.com", + /// HttpsPolicy = "REQUIRE", /// }, /// }); /// diff --git a/sdk/dotnet/SesV2/Inputs/ConfigurationSetDeliveryOptionsArgs.cs b/sdk/dotnet/SesV2/Inputs/ConfigurationSetDeliveryOptionsArgs.cs index ba4334c3fb8..6bbf48a681d 100644 --- a/sdk/dotnet/SesV2/Inputs/ConfigurationSetDeliveryOptionsArgs.cs +++ b/sdk/dotnet/SesV2/Inputs/ConfigurationSetDeliveryOptionsArgs.cs @@ -12,6 +12,12 @@ namespace Pulumi.Aws.SesV2.Inputs public sealed class ConfigurationSetDeliveryOptionsArgs : global::Pulumi.ResourceArgs { + /// + /// The maximum amount of time, in seconds, that Amazon SES API v2 will attempt delivery of email. If specified, the value must greater than or equal to 300 seconds (5 minutes) and less than or equal to 50400 seconds (840 minutes). + /// + [Input("maxDeliverySeconds")] + public Input? MaxDeliverySeconds { get; set; } + /// /// The name of the dedicated IP pool to associate with the configuration set. /// diff --git a/sdk/dotnet/SesV2/Inputs/ConfigurationSetDeliveryOptionsGetArgs.cs b/sdk/dotnet/SesV2/Inputs/ConfigurationSetDeliveryOptionsGetArgs.cs index 68db2be5fc9..f8ce9c66e2f 100644 --- a/sdk/dotnet/SesV2/Inputs/ConfigurationSetDeliveryOptionsGetArgs.cs +++ b/sdk/dotnet/SesV2/Inputs/ConfigurationSetDeliveryOptionsGetArgs.cs @@ -12,6 +12,12 @@ namespace Pulumi.Aws.SesV2.Inputs public sealed class ConfigurationSetDeliveryOptionsGetArgs : global::Pulumi.ResourceArgs { + /// + /// The maximum amount of time, in seconds, that Amazon SES API v2 will attempt delivery of email. If specified, the value must greater than or equal to 300 seconds (5 minutes) and less than or equal to 50400 seconds (840 minutes). + /// + [Input("maxDeliverySeconds")] + public Input? MaxDeliverySeconds { get; set; } + /// /// The name of the dedicated IP pool to associate with the configuration set. /// diff --git a/sdk/dotnet/SesV2/Inputs/ConfigurationSetTrackingOptionsArgs.cs b/sdk/dotnet/SesV2/Inputs/ConfigurationSetTrackingOptionsArgs.cs index 59d88a25ff5..fec80b5c180 100644 --- a/sdk/dotnet/SesV2/Inputs/ConfigurationSetTrackingOptionsArgs.cs +++ b/sdk/dotnet/SesV2/Inputs/ConfigurationSetTrackingOptionsArgs.cs @@ -18,6 +18,12 @@ public sealed class ConfigurationSetTrackingOptionsArgs : global::Pulumi.Resourc [Input("customRedirectDomain", required: true)] public Input CustomRedirectDomain { get; set; } = null!; + /// + /// The https policy to use for tracking open and click events. Valid values are `REQUIRE`, `REQUIRE_OPEN_ONLY` or `OPTIONAL`. + /// + [Input("httpsPolicy")] + public Input? HttpsPolicy { get; set; } + public ConfigurationSetTrackingOptionsArgs() { } diff --git a/sdk/dotnet/SesV2/Inputs/ConfigurationSetTrackingOptionsGetArgs.cs b/sdk/dotnet/SesV2/Inputs/ConfigurationSetTrackingOptionsGetArgs.cs index 52eb8755816..6f533571bd7 100644 --- a/sdk/dotnet/SesV2/Inputs/ConfigurationSetTrackingOptionsGetArgs.cs +++ b/sdk/dotnet/SesV2/Inputs/ConfigurationSetTrackingOptionsGetArgs.cs @@ -18,6 +18,12 @@ public sealed class ConfigurationSetTrackingOptionsGetArgs : global::Pulumi.Reso [Input("customRedirectDomain", required: true)] public Input CustomRedirectDomain { get; set; } = null!; + /// + /// The https policy to use for tracking open and click events. Valid values are `REQUIRE`, `REQUIRE_OPEN_ONLY` or `OPTIONAL`. + /// + [Input("httpsPolicy")] + public Input? HttpsPolicy { get; set; } + public ConfigurationSetTrackingOptionsGetArgs() { } diff --git a/sdk/dotnet/SesV2/Outputs/ConfigurationSetDeliveryOptions.cs b/sdk/dotnet/SesV2/Outputs/ConfigurationSetDeliveryOptions.cs index 2f63209e035..fc06b96e1bf 100644 --- a/sdk/dotnet/SesV2/Outputs/ConfigurationSetDeliveryOptions.cs +++ b/sdk/dotnet/SesV2/Outputs/ConfigurationSetDeliveryOptions.cs @@ -13,6 +13,10 @@ namespace Pulumi.Aws.SesV2.Outputs [OutputType] public sealed class ConfigurationSetDeliveryOptions { + /// + /// The maximum amount of time, in seconds, that Amazon SES API v2 will attempt delivery of email. If specified, the value must greater than or equal to 300 seconds (5 minutes) and less than or equal to 50400 seconds (840 minutes). + /// + public readonly int? MaxDeliverySeconds; /// /// The name of the dedicated IP pool to associate with the configuration set. /// @@ -24,10 +28,13 @@ public sealed class ConfigurationSetDeliveryOptions [OutputConstructor] private ConfigurationSetDeliveryOptions( + int? maxDeliverySeconds, + string? sendingPoolName, string? tlsPolicy) { + MaxDeliverySeconds = maxDeliverySeconds; SendingPoolName = sendingPoolName; TlsPolicy = tlsPolicy; } diff --git a/sdk/dotnet/SesV2/Outputs/ConfigurationSetTrackingOptions.cs b/sdk/dotnet/SesV2/Outputs/ConfigurationSetTrackingOptions.cs index 06f5955d52c..e8e59b038d0 100644 --- a/sdk/dotnet/SesV2/Outputs/ConfigurationSetTrackingOptions.cs +++ b/sdk/dotnet/SesV2/Outputs/ConfigurationSetTrackingOptions.cs @@ -17,11 +17,19 @@ public sealed class ConfigurationSetTrackingOptions /// The domain to use for tracking open and click events. /// public readonly string CustomRedirectDomain; + /// + /// The https policy to use for tracking open and click events. Valid values are `REQUIRE`, `REQUIRE_OPEN_ONLY` or `OPTIONAL`. + /// + public readonly string? HttpsPolicy; [OutputConstructor] - private ConfigurationSetTrackingOptions(string customRedirectDomain) + private ConfigurationSetTrackingOptions( + string customRedirectDomain, + + string? httpsPolicy) { CustomRedirectDomain = customRedirectDomain; + HttpsPolicy = httpsPolicy; } } } diff --git a/sdk/dotnet/SesV2/Outputs/GetConfigurationSetDeliveryOptionResult.cs b/sdk/dotnet/SesV2/Outputs/GetConfigurationSetDeliveryOptionResult.cs index 9d31968126a..bf9ed474471 100644 --- a/sdk/dotnet/SesV2/Outputs/GetConfigurationSetDeliveryOptionResult.cs +++ b/sdk/dotnet/SesV2/Outputs/GetConfigurationSetDeliveryOptionResult.cs @@ -13,6 +13,10 @@ namespace Pulumi.Aws.SesV2.Outputs [OutputType] public sealed class GetConfigurationSetDeliveryOptionResult { + /// + /// The maximum amount of time, in seconds, that Amazon SES API v2 will attempt delivery of email. If specified, the value must greater than or equal to 300 seconds (5 minutes) and less than or equal to 50400 seconds (840 minutes). + /// + public readonly int MaxDeliverySeconds; /// /// The name of the dedicated IP pool to associate with the configuration set. /// @@ -24,10 +28,13 @@ public sealed class GetConfigurationSetDeliveryOptionResult [OutputConstructor] private GetConfigurationSetDeliveryOptionResult( + int maxDeliverySeconds, + string sendingPoolName, string tlsPolicy) { + MaxDeliverySeconds = maxDeliverySeconds; SendingPoolName = sendingPoolName; TlsPolicy = tlsPolicy; } diff --git a/sdk/dotnet/SesV2/Outputs/GetConfigurationSetTrackingOptionResult.cs b/sdk/dotnet/SesV2/Outputs/GetConfigurationSetTrackingOptionResult.cs index 26ac8641ad2..a76d1fc7047 100644 --- a/sdk/dotnet/SesV2/Outputs/GetConfigurationSetTrackingOptionResult.cs +++ b/sdk/dotnet/SesV2/Outputs/GetConfigurationSetTrackingOptionResult.cs @@ -17,11 +17,19 @@ public sealed class GetConfigurationSetTrackingOptionResult /// The domain to use for tracking open and click events. /// public readonly string CustomRedirectDomain; + /// + /// The https policy to use for tracking open and click events. Valid values are `REQUIRE`, `REQUIRE_OPEN_ONLY` or `OPTIONAL`. + /// + public readonly string HttpsPolicy; [OutputConstructor] - private GetConfigurationSetTrackingOptionResult(string customRedirectDomain) + private GetConfigurationSetTrackingOptionResult( + string customRedirectDomain, + + string httpsPolicy) { CustomRedirectDomain = customRedirectDomain; + HttpsPolicy = httpsPolicy; } } } diff --git a/sdk/go/aws/alb/listener.go b/sdk/go/aws/alb/listener.go index 3b0523fcbf6..d797a6c051a 100644 --- a/sdk/go/aws/alb/listener.go +++ b/sdk/go/aws/alb/listener.go @@ -433,6 +433,8 @@ type Listener struct { // Name of the SSL Policy for the listener. Required if `protocol` is `HTTPS` or `TLS`. Default is `ELBSecurityPolicy-2016-08`. SslPolicy pulumi.StringOutput `pulumi:"sslPolicy"` // A map of tags to assign to the resource. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + // + // > **Note::** When a `Name` key is specified in the map, the AWS Console maps the value to the `Name Tag` column value inside the `Listener Rules` table within a specific load balancer listener page. Otherwise, the value resolves to `Default`. Tags pulumi.StringMapOutput `pulumi:"tags"` // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. // @@ -505,6 +507,8 @@ type listenerState struct { // Name of the SSL Policy for the listener. Required if `protocol` is `HTTPS` or `TLS`. Default is `ELBSecurityPolicy-2016-08`. SslPolicy *string `pulumi:"sslPolicy"` // A map of tags to assign to the resource. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + // + // > **Note::** When a `Name` key is specified in the map, the AWS Console maps the value to the `Name Tag` column value inside the `Listener Rules` table within a specific load balancer listener page. Otherwise, the value resolves to `Default`. Tags map[string]string `pulumi:"tags"` // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. // @@ -536,6 +540,8 @@ type ListenerState struct { // Name of the SSL Policy for the listener. Required if `protocol` is `HTTPS` or `TLS`. Default is `ELBSecurityPolicy-2016-08`. SslPolicy pulumi.StringPtrInput // A map of tags to assign to the resource. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + // + // > **Note::** When a `Name` key is specified in the map, the AWS Console maps the value to the `Name Tag` column value inside the `Listener Rules` table within a specific load balancer listener page. Otherwise, the value resolves to `Default`. Tags pulumi.StringMapInput // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. // @@ -569,6 +575,8 @@ type listenerArgs struct { // Name of the SSL Policy for the listener. Required if `protocol` is `HTTPS` or `TLS`. Default is `ELBSecurityPolicy-2016-08`. SslPolicy *string `pulumi:"sslPolicy"` // A map of tags to assign to the resource. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + // + // > **Note::** When a `Name` key is specified in the map, the AWS Console maps the value to the `Name Tag` column value inside the `Listener Rules` table within a specific load balancer listener page. Otherwise, the value resolves to `Default`. Tags map[string]string `pulumi:"tags"` // TCP idle timeout value in seconds. Can only be set if protocol is `TCP` on Network Load Balancer, or with a Gateway Load Balancer. Not supported for Application Load Balancers. Valid values are between `60` and `6000` inclusive. Default: `350`. TcpIdleTimeoutSeconds *int `pulumi:"tcpIdleTimeoutSeconds"` @@ -595,6 +603,8 @@ type ListenerArgs struct { // Name of the SSL Policy for the listener. Required if `protocol` is `HTTPS` or `TLS`. Default is `ELBSecurityPolicy-2016-08`. SslPolicy pulumi.StringPtrInput // A map of tags to assign to the resource. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + // + // > **Note::** When a `Name` key is specified in the map, the AWS Console maps the value to the `Name Tag` column value inside the `Listener Rules` table within a specific load balancer listener page. Otherwise, the value resolves to `Default`. Tags pulumi.StringMapInput // TCP idle timeout value in seconds. Can only be set if protocol is `TCP` on Network Load Balancer, or with a Gateway Load Balancer. Not supported for Application Load Balancers. Valid values are between `60` and `6000` inclusive. Default: `350`. TcpIdleTimeoutSeconds pulumi.IntPtrInput @@ -735,6 +745,8 @@ func (o ListenerOutput) SslPolicy() pulumi.StringOutput { } // A map of tags to assign to the resource. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. +// +// > **Note::** When a `Name` key is specified in the map, the AWS Console maps the value to the `Name Tag` column value inside the `Listener Rules` table within a specific load balancer listener page. Otherwise, the value resolves to `Default`. func (o ListenerOutput) Tags() pulumi.StringMapOutput { return o.ApplyT(func(v *Listener) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) } diff --git a/sdk/go/aws/apigateway/basePathMapping.go b/sdk/go/aws/apigateway/basePathMapping.go index aa3d593d24a..45f4d755513 100644 --- a/sdk/go/aws/apigateway/basePathMapping.go +++ b/sdk/go/aws/apigateway/basePathMapping.go @@ -20,7 +20,9 @@ import ( // // For a non-root `base_path`: // -// Using `pulumi import`, import `aws_api_gateway_base_path_mapping` using the domain name and base path. For example: +// For a non-root `base_path` and a private custom domain name: +// +// Using `pulumi import`, import `aws_api_gateway_base_path_mapping` using the domain name and base path or domain name, base path and domain name ID (for private custom domain names). For example: // // For an empty `base_path` or, in other words, a root path (`/`): // @@ -32,6 +34,11 @@ import ( // ```sh // $ pulumi import aws:apigateway/basePathMapping:BasePathMapping example example.com/base-path // ``` +// For a non-root `base_path` and a private custom domain name: +// +// ```sh +// $ pulumi import aws:apigateway/basePathMapping:BasePathMapping example api.internal.example.com/base-path/abcde12345 +// ``` type BasePathMapping struct { pulumi.CustomResourceState @@ -39,6 +46,8 @@ type BasePathMapping struct { BasePath pulumi.StringPtrOutput `pulumi:"basePath"` // Already-registered domain name to connect the API to. DomainName pulumi.StringOutput `pulumi:"domainName"` + // The identifier for the domain name resource. Supported only for private custom domain names. + DomainNameId pulumi.StringPtrOutput `pulumi:"domainNameId"` // ID of the API to connect. RestApi pulumi.StringOutput `pulumi:"restApi"` // Name of a specific deployment stage to expose at the given path. If omitted, callers may select any stage by including its name as a path element after the base path. @@ -85,6 +94,8 @@ type basePathMappingState struct { BasePath *string `pulumi:"basePath"` // Already-registered domain name to connect the API to. DomainName *string `pulumi:"domainName"` + // The identifier for the domain name resource. Supported only for private custom domain names. + DomainNameId *string `pulumi:"domainNameId"` // ID of the API to connect. RestApi interface{} `pulumi:"restApi"` // Name of a specific deployment stage to expose at the given path. If omitted, callers may select any stage by including its name as a path element after the base path. @@ -96,6 +107,8 @@ type BasePathMappingState struct { BasePath pulumi.StringPtrInput // Already-registered domain name to connect the API to. DomainName pulumi.StringPtrInput + // The identifier for the domain name resource. Supported only for private custom domain names. + DomainNameId pulumi.StringPtrInput // ID of the API to connect. RestApi pulumi.Input // Name of a specific deployment stage to expose at the given path. If omitted, callers may select any stage by including its name as a path element after the base path. @@ -111,6 +124,8 @@ type basePathMappingArgs struct { BasePath *string `pulumi:"basePath"` // Already-registered domain name to connect the API to. DomainName string `pulumi:"domainName"` + // The identifier for the domain name resource. Supported only for private custom domain names. + DomainNameId *string `pulumi:"domainNameId"` // ID of the API to connect. RestApi interface{} `pulumi:"restApi"` // Name of a specific deployment stage to expose at the given path. If omitted, callers may select any stage by including its name as a path element after the base path. @@ -123,6 +138,8 @@ type BasePathMappingArgs struct { BasePath pulumi.StringPtrInput // Already-registered domain name to connect the API to. DomainName pulumi.StringInput + // The identifier for the domain name resource. Supported only for private custom domain names. + DomainNameId pulumi.StringPtrInput // ID of the API to connect. RestApi pulumi.Input // Name of a specific deployment stage to expose at the given path. If omitted, callers may select any stage by including its name as a path element after the base path. @@ -226,6 +243,11 @@ func (o BasePathMappingOutput) DomainName() pulumi.StringOutput { return o.ApplyT(func(v *BasePathMapping) pulumi.StringOutput { return v.DomainName }).(pulumi.StringOutput) } +// The identifier for the domain name resource. Supported only for private custom domain names. +func (o BasePathMappingOutput) DomainNameId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *BasePathMapping) pulumi.StringPtrOutput { return v.DomainNameId }).(pulumi.StringPtrOutput) +} + // ID of the API to connect. func (o BasePathMappingOutput) RestApi() pulumi.StringOutput { return o.ApplyT(func(v *BasePathMapping) pulumi.StringOutput { return v.RestApi }).(pulumi.StringOutput) diff --git a/sdk/go/aws/apigateway/domainName.go b/sdk/go/aws/apigateway/domainName.go index 1b496f40b89..a6706e7f3e9 100644 --- a/sdk/go/aws/apigateway/domainName.go +++ b/sdk/go/aws/apigateway/domainName.go @@ -136,11 +136,18 @@ import ( // // ## Import // -// Using `pulumi import`, import API Gateway domain names using their `name`. For example: +// For a private custom domain name: +// +// Using `pulumi import`, import API Gateway domain names using their `name` or `name` and `domain_name_id` (for private custom domain names). For example: // // ```sh // $ pulumi import aws:apigateway/domainName:DomainName example dev.example.com // ``` +// For a private custom domain name: +// +// ```sh +// $ pulumi import aws:apigateway/domainName:DomainName example dev.api.internal.example.com/abcde12345 +// ``` type DomainName struct { pulumi.CustomResourceState @@ -164,12 +171,16 @@ type DomainName struct { CloudfrontZoneId pulumi.StringOutput `pulumi:"cloudfrontZoneId"` // Fully-qualified domain name to register. DomainName pulumi.StringOutput `pulumi:"domainName"` + // The identifier for the domain name resource. Supported only for private custom domain names. + DomainNameId pulumi.StringOutput `pulumi:"domainNameId"` // Configuration block defining API endpoint information including type. See below. EndpointConfiguration DomainNameEndpointConfigurationOutput `pulumi:"endpointConfiguration"` // Mutual TLS authentication configuration for the domain name. See below. MutualTlsAuthentication DomainNameMutualTlsAuthenticationPtrOutput `pulumi:"mutualTlsAuthentication"` // ARN of the AWS-issued certificate used to validate custom domain ownership (when `certificateArn` is issued via an ACM Private CA or `mutualTlsAuthentication` is configured with an ACM-imported certificate.) OwnershipVerificationCertificateArn pulumi.StringOutput `pulumi:"ownershipVerificationCertificateArn"` + // A stringified JSON policy document that applies to the execute-api service for this DomainName regardless of the caller and Method configuration. Supported only for private custom domain names. + Policy pulumi.StringPtrOutput `pulumi:"policy"` // ARN for an AWS-managed certificate. AWS Certificate Manager is the only supported source. Used when a regional domain name is desired. Conflicts with `certificateArn`, `certificateName`, `certificateBody`, `certificateChain`, and `certificatePrivateKey`. // // When uploading a certificate, the following arguments are supported: @@ -252,12 +263,16 @@ type domainNameState struct { CloudfrontZoneId *string `pulumi:"cloudfrontZoneId"` // Fully-qualified domain name to register. DomainName *string `pulumi:"domainName"` + // The identifier for the domain name resource. Supported only for private custom domain names. + DomainNameId *string `pulumi:"domainNameId"` // Configuration block defining API endpoint information including type. See below. EndpointConfiguration *DomainNameEndpointConfiguration `pulumi:"endpointConfiguration"` // Mutual TLS authentication configuration for the domain name. See below. MutualTlsAuthentication *DomainNameMutualTlsAuthentication `pulumi:"mutualTlsAuthentication"` // ARN of the AWS-issued certificate used to validate custom domain ownership (when `certificateArn` is issued via an ACM Private CA or `mutualTlsAuthentication` is configured with an ACM-imported certificate.) OwnershipVerificationCertificateArn *string `pulumi:"ownershipVerificationCertificateArn"` + // A stringified JSON policy document that applies to the execute-api service for this DomainName regardless of the caller and Method configuration. Supported only for private custom domain names. + Policy *string `pulumi:"policy"` // ARN for an AWS-managed certificate. AWS Certificate Manager is the only supported source. Used when a regional domain name is desired. Conflicts with `certificateArn`, `certificateName`, `certificateBody`, `certificateChain`, and `certificatePrivateKey`. // // When uploading a certificate, the following arguments are supported: @@ -301,12 +316,16 @@ type DomainNameState struct { CloudfrontZoneId pulumi.StringPtrInput // Fully-qualified domain name to register. DomainName pulumi.StringPtrInput + // The identifier for the domain name resource. Supported only for private custom domain names. + DomainNameId pulumi.StringPtrInput // Configuration block defining API endpoint information including type. See below. EndpointConfiguration DomainNameEndpointConfigurationPtrInput // Mutual TLS authentication configuration for the domain name. See below. MutualTlsAuthentication DomainNameMutualTlsAuthenticationPtrInput // ARN of the AWS-issued certificate used to validate custom domain ownership (when `certificateArn` is issued via an ACM Private CA or `mutualTlsAuthentication` is configured with an ACM-imported certificate.) OwnershipVerificationCertificateArn pulumi.StringPtrInput + // A stringified JSON policy document that applies to the execute-api service for this DomainName regardless of the caller and Method configuration. Supported only for private custom domain names. + Policy pulumi.StringPtrInput // ARN for an AWS-managed certificate. AWS Certificate Manager is the only supported source. Used when a regional domain name is desired. Conflicts with `certificateArn`, `certificateName`, `certificateBody`, `certificateChain`, and `certificatePrivateKey`. // // When uploading a certificate, the following arguments are supported: @@ -352,6 +371,8 @@ type domainNameArgs struct { MutualTlsAuthentication *DomainNameMutualTlsAuthentication `pulumi:"mutualTlsAuthentication"` // ARN of the AWS-issued certificate used to validate custom domain ownership (when `certificateArn` is issued via an ACM Private CA or `mutualTlsAuthentication` is configured with an ACM-imported certificate.) OwnershipVerificationCertificateArn *string `pulumi:"ownershipVerificationCertificateArn"` + // A stringified JSON policy document that applies to the execute-api service for this DomainName regardless of the caller and Method configuration. Supported only for private custom domain names. + Policy *string `pulumi:"policy"` // ARN for an AWS-managed certificate. AWS Certificate Manager is the only supported source. Used when a regional domain name is desired. Conflicts with `certificateArn`, `certificateName`, `certificateBody`, `certificateChain`, and `certificatePrivateKey`. // // When uploading a certificate, the following arguments are supported: @@ -386,6 +407,8 @@ type DomainNameArgs struct { MutualTlsAuthentication DomainNameMutualTlsAuthenticationPtrInput // ARN of the AWS-issued certificate used to validate custom domain ownership (when `certificateArn` is issued via an ACM Private CA or `mutualTlsAuthentication` is configured with an ACM-imported certificate.) OwnershipVerificationCertificateArn pulumi.StringPtrInput + // A stringified JSON policy document that applies to the execute-api service for this DomainName regardless of the caller and Method configuration. Supported only for private custom domain names. + Policy pulumi.StringPtrInput // ARN for an AWS-managed certificate. AWS Certificate Manager is the only supported source. Used when a regional domain name is desired. Conflicts with `certificateArn`, `certificateName`, `certificateBody`, `certificateChain`, and `certificatePrivateKey`. // // When uploading a certificate, the following arguments are supported: @@ -537,6 +560,11 @@ func (o DomainNameOutput) DomainName() pulumi.StringOutput { return o.ApplyT(func(v *DomainName) pulumi.StringOutput { return v.DomainName }).(pulumi.StringOutput) } +// The identifier for the domain name resource. Supported only for private custom domain names. +func (o DomainNameOutput) DomainNameId() pulumi.StringOutput { + return o.ApplyT(func(v *DomainName) pulumi.StringOutput { return v.DomainNameId }).(pulumi.StringOutput) +} + // Configuration block defining API endpoint information including type. See below. func (o DomainNameOutput) EndpointConfiguration() DomainNameEndpointConfigurationOutput { return o.ApplyT(func(v *DomainName) DomainNameEndpointConfigurationOutput { return v.EndpointConfiguration }).(DomainNameEndpointConfigurationOutput) @@ -552,6 +580,11 @@ func (o DomainNameOutput) OwnershipVerificationCertificateArn() pulumi.StringOut return o.ApplyT(func(v *DomainName) pulumi.StringOutput { return v.OwnershipVerificationCertificateArn }).(pulumi.StringOutput) } +// A stringified JSON policy document that applies to the execute-api service for this DomainName regardless of the caller and Method configuration. Supported only for private custom domain names. +func (o DomainNameOutput) Policy() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DomainName) pulumi.StringPtrOutput { return v.Policy }).(pulumi.StringPtrOutput) +} + // ARN for an AWS-managed certificate. AWS Certificate Manager is the only supported source. Used when a regional domain name is desired. Conflicts with `certificateArn`, `certificateName`, `certificateBody`, `certificateChain`, and `certificatePrivateKey`. // // When uploading a certificate, the following arguments are supported: diff --git a/sdk/go/aws/apigateway/getDomainName.go b/sdk/go/aws/apigateway/getDomainName.go index 1938b58502c..e9384abe7ac 100644 --- a/sdk/go/aws/apigateway/getDomainName.go +++ b/sdk/go/aws/apigateway/getDomainName.go @@ -52,6 +52,8 @@ func LookupDomainName(ctx *pulumi.Context, args *LookupDomainNameArgs, opts ...p type LookupDomainNameArgs struct { // Fully-qualified domain name to look up. If no domain name is found, an error will be returned. DomainName string `pulumi:"domainName"` + // The identifier for the domain name resource. Supported only for private custom domain names. + DomainNameId *string `pulumi:"domainNameId"` // Key-value map of tags for the resource. Tags map[string]string `pulumi:"tags"` } @@ -71,10 +73,13 @@ type LookupDomainNameResult struct { // For convenience, the hosted zone ID (`Z2FDTNDATAQYW2`) that can be used to create a Route53 alias record for the distribution. CloudfrontZoneId string `pulumi:"cloudfrontZoneId"` DomainName string `pulumi:"domainName"` + DomainNameId string `pulumi:"domainNameId"` // List of objects with the endpoint configuration of this domain name. EndpointConfigurations []GetDomainNameEndpointConfiguration `pulumi:"endpointConfigurations"` // The provider-assigned unique ID for this managed resource. Id string `pulumi:"id"` + // A stringified JSON policy document that applies to the execute-api service for this DomainName regardless of the caller and Method configuration. Supported only for private custom domain names. + Policy string `pulumi:"policy"` // ARN for an AWS-managed certificate that is used for validating the regional domain name. RegionalCertificateArn string `pulumi:"regionalCertificateArn"` // User-friendly name of the certificate that is used by regional endpoint for this domain name. @@ -112,6 +117,8 @@ func LookupDomainNameOutput(ctx *pulumi.Context, args LookupDomainNameOutputArgs type LookupDomainNameOutputArgs struct { // Fully-qualified domain name to look up. If no domain name is found, an error will be returned. DomainName pulumi.StringInput `pulumi:"domainName"` + // The identifier for the domain name resource. Supported only for private custom domain names. + DomainNameId pulumi.StringPtrInput `pulumi:"domainNameId"` // Key-value map of tags for the resource. Tags pulumi.StringMapInput `pulumi:"tags"` } @@ -169,6 +176,10 @@ func (o LookupDomainNameResultOutput) DomainName() pulumi.StringOutput { return o.ApplyT(func(v LookupDomainNameResult) string { return v.DomainName }).(pulumi.StringOutput) } +func (o LookupDomainNameResultOutput) DomainNameId() pulumi.StringOutput { + return o.ApplyT(func(v LookupDomainNameResult) string { return v.DomainNameId }).(pulumi.StringOutput) +} + // List of objects with the endpoint configuration of this domain name. func (o LookupDomainNameResultOutput) EndpointConfigurations() GetDomainNameEndpointConfigurationArrayOutput { return o.ApplyT(func(v LookupDomainNameResult) []GetDomainNameEndpointConfiguration { return v.EndpointConfigurations }).(GetDomainNameEndpointConfigurationArrayOutput) @@ -179,6 +190,11 @@ func (o LookupDomainNameResultOutput) Id() pulumi.StringOutput { return o.ApplyT(func(v LookupDomainNameResult) string { return v.Id }).(pulumi.StringOutput) } +// A stringified JSON policy document that applies to the execute-api service for this DomainName regardless of the caller and Method configuration. Supported only for private custom domain names. +func (o LookupDomainNameResultOutput) Policy() pulumi.StringOutput { + return o.ApplyT(func(v LookupDomainNameResult) string { return v.Policy }).(pulumi.StringOutput) +} + // ARN for an AWS-managed certificate that is used for validating the regional domain name. func (o LookupDomainNameResultOutput) RegionalCertificateArn() pulumi.StringOutput { return o.ApplyT(func(v LookupDomainNameResult) string { return v.RegionalCertificateArn }).(pulumi.StringOutput) diff --git a/sdk/go/aws/apigateway/pulumiTypes.go b/sdk/go/aws/apigateway/pulumiTypes.go index 4462a3a151e..6c903c6ba90 100644 --- a/sdk/go/aws/apigateway/pulumiTypes.go +++ b/sdk/go/aws/apigateway/pulumiTypes.go @@ -508,7 +508,7 @@ func (o DocumentationPartLocationPtrOutput) Type() pulumi.StringPtrOutput { } type DomainNameEndpointConfiguration struct { - // List of endpoint types. This resource currently only supports managing a single value. Valid values: `EDGE` or `REGIONAL`. If unspecified, defaults to `EDGE`. Must be declared as `REGIONAL` in non-Commercial partitions. Refer to the [documentation](https://docs.aws.amazon.com/apigateway/latest/developerguide/create-regional-api.html) for more information on the difference between edge-optimized and regional APIs. + // A list of endpoint types of an API or its custom domain name. For an edge-optimized API and its custom domain name, the endpoint type is `EDGE`. For a regional API and its custom domain name, the endpoint type is `REGIONAL`. For a private API, the endpoint type is `PRIVATE`. Types string `pulumi:"types"` } @@ -524,7 +524,7 @@ type DomainNameEndpointConfigurationInput interface { } type DomainNameEndpointConfigurationArgs struct { - // List of endpoint types. This resource currently only supports managing a single value. Valid values: `EDGE` or `REGIONAL`. If unspecified, defaults to `EDGE`. Must be declared as `REGIONAL` in non-Commercial partitions. Refer to the [documentation](https://docs.aws.amazon.com/apigateway/latest/developerguide/create-regional-api.html) for more information on the difference between edge-optimized and regional APIs. + // A list of endpoint types of an API or its custom domain name. For an edge-optimized API and its custom domain name, the endpoint type is `EDGE`. For a regional API and its custom domain name, the endpoint type is `REGIONAL`. For a private API, the endpoint type is `PRIVATE`. Types pulumi.StringInput `pulumi:"types"` } @@ -605,7 +605,7 @@ func (o DomainNameEndpointConfigurationOutput) ToDomainNameEndpointConfiguration }).(DomainNameEndpointConfigurationPtrOutput) } -// List of endpoint types. This resource currently only supports managing a single value. Valid values: `EDGE` or `REGIONAL`. If unspecified, defaults to `EDGE`. Must be declared as `REGIONAL` in non-Commercial partitions. Refer to the [documentation](https://docs.aws.amazon.com/apigateway/latest/developerguide/create-regional-api.html) for more information on the difference between edge-optimized and regional APIs. +// A list of endpoint types of an API or its custom domain name. For an edge-optimized API and its custom domain name, the endpoint type is `EDGE`. For a regional API and its custom domain name, the endpoint type is `REGIONAL`. For a private API, the endpoint type is `PRIVATE`. func (o DomainNameEndpointConfigurationOutput) Types() pulumi.StringOutput { return o.ApplyT(func(v DomainNameEndpointConfiguration) string { return v.Types }).(pulumi.StringOutput) } @@ -634,7 +634,7 @@ func (o DomainNameEndpointConfigurationPtrOutput) Elem() DomainNameEndpointConfi }).(DomainNameEndpointConfigurationOutput) } -// List of endpoint types. This resource currently only supports managing a single value. Valid values: `EDGE` or `REGIONAL`. If unspecified, defaults to `EDGE`. Must be declared as `REGIONAL` in non-Commercial partitions. Refer to the [documentation](https://docs.aws.amazon.com/apigateway/latest/developerguide/create-regional-api.html) for more information on the difference between edge-optimized and regional APIs. +// A list of endpoint types of an API or its custom domain name. For an edge-optimized API and its custom domain name, the endpoint type is `EDGE`. For a regional API and its custom domain name, the endpoint type is `REGIONAL`. For a private API, the endpoint type is `PRIVATE`. func (o DomainNameEndpointConfigurationPtrOutput) Types() pulumi.StringPtrOutput { return o.ApplyT(func(v *DomainNameEndpointConfiguration) *string { if v == nil { diff --git a/sdk/go/aws/bedrock/getInferenceProfile.go b/sdk/go/aws/bedrock/getInferenceProfile.go index 003d5a6c056..123ae69dd73 100644 --- a/sdk/go/aws/bedrock/getInferenceProfile.go +++ b/sdk/go/aws/bedrock/getInferenceProfile.go @@ -33,7 +33,7 @@ import ( // if err != nil { // return err // } -// _, err = bedrock.GetInferenceProfile(ctx, &bedrock.GetInferenceProfileArgs{ +// _, err = bedrock.LookupInferenceProfile(ctx, &bedrock.LookupInferenceProfileArgs{ // InferenceProfileId: test.InferenceProfileSummaries[0].InferenceProfileId, // }, nil) // if err != nil { @@ -44,9 +44,9 @@ import ( // } // // ``` -func GetInferenceProfile(ctx *pulumi.Context, args *GetInferenceProfileArgs, opts ...pulumi.InvokeOption) (*GetInferenceProfileResult, error) { +func LookupInferenceProfile(ctx *pulumi.Context, args *LookupInferenceProfileArgs, opts ...pulumi.InvokeOption) (*LookupInferenceProfileResult, error) { opts = internal.PkgInvokeDefaultOpts(opts) - var rv GetInferenceProfileResult + var rv LookupInferenceProfileResult err := ctx.Invoke("aws:bedrock/getInferenceProfile:getInferenceProfile", args, &rv, opts...) if err != nil { return nil, err @@ -55,13 +55,13 @@ func GetInferenceProfile(ctx *pulumi.Context, args *GetInferenceProfileArgs, opt } // A collection of arguments for invoking getInferenceProfile. -type GetInferenceProfileArgs struct { +type LookupInferenceProfileArgs struct { // Inference Profile identifier. InferenceProfileId string `pulumi:"inferenceProfileId"` } // A collection of values returned by getInferenceProfile. -type GetInferenceProfileResult struct { +type LookupInferenceProfileResult struct { // The time at which the inference profile was created. CreatedAt string `pulumi:"createdAt"` // The description of the inference profile. @@ -77,105 +77,105 @@ type GetInferenceProfileResult struct { Models []GetInferenceProfileModel `pulumi:"models"` // The status of the inference profile. `ACTIVE` means that the inference profile is available to use. Status string `pulumi:"status"` - // The type of the inference profile. `SYSTEM_DEFINED` means that the inference profile is defined by Amazon Bedrock. + // The type of the inference profile. `SYSTEM_DEFINED` means that the inference profile is defined by Amazon Bedrock. `APPLICATION` means that the inference profile is defined by the user. Type string `pulumi:"type"` // The time at which the inference profile was last updated. UpdatedAt string `pulumi:"updatedAt"` } -func GetInferenceProfileOutput(ctx *pulumi.Context, args GetInferenceProfileOutputArgs, opts ...pulumi.InvokeOption) GetInferenceProfileResultOutput { +func LookupInferenceProfileOutput(ctx *pulumi.Context, args LookupInferenceProfileOutputArgs, opts ...pulumi.InvokeOption) LookupInferenceProfileResultOutput { return pulumi.ToOutputWithContext(context.Background(), args). - ApplyT(func(v interface{}) (GetInferenceProfileResultOutput, error) { - args := v.(GetInferenceProfileArgs) + ApplyT(func(v interface{}) (LookupInferenceProfileResultOutput, error) { + args := v.(LookupInferenceProfileArgs) opts = internal.PkgInvokeDefaultOpts(opts) - var rv GetInferenceProfileResult + var rv LookupInferenceProfileResult secret, err := ctx.InvokePackageRaw("aws:bedrock/getInferenceProfile:getInferenceProfile", args, &rv, "", opts...) if err != nil { - return GetInferenceProfileResultOutput{}, err + return LookupInferenceProfileResultOutput{}, err } - output := pulumi.ToOutput(rv).(GetInferenceProfileResultOutput) + output := pulumi.ToOutput(rv).(LookupInferenceProfileResultOutput) if secret { - return pulumi.ToSecret(output).(GetInferenceProfileResultOutput), nil + return pulumi.ToSecret(output).(LookupInferenceProfileResultOutput), nil } return output, nil - }).(GetInferenceProfileResultOutput) + }).(LookupInferenceProfileResultOutput) } // A collection of arguments for invoking getInferenceProfile. -type GetInferenceProfileOutputArgs struct { +type LookupInferenceProfileOutputArgs struct { // Inference Profile identifier. InferenceProfileId pulumi.StringInput `pulumi:"inferenceProfileId"` } -func (GetInferenceProfileOutputArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetInferenceProfileArgs)(nil)).Elem() +func (LookupInferenceProfileOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupInferenceProfileArgs)(nil)).Elem() } // A collection of values returned by getInferenceProfile. -type GetInferenceProfileResultOutput struct{ *pulumi.OutputState } +type LookupInferenceProfileResultOutput struct{ *pulumi.OutputState } -func (GetInferenceProfileResultOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetInferenceProfileResult)(nil)).Elem() +func (LookupInferenceProfileResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupInferenceProfileResult)(nil)).Elem() } -func (o GetInferenceProfileResultOutput) ToGetInferenceProfileResultOutput() GetInferenceProfileResultOutput { +func (o LookupInferenceProfileResultOutput) ToLookupInferenceProfileResultOutput() LookupInferenceProfileResultOutput { return o } -func (o GetInferenceProfileResultOutput) ToGetInferenceProfileResultOutputWithContext(ctx context.Context) GetInferenceProfileResultOutput { +func (o LookupInferenceProfileResultOutput) ToLookupInferenceProfileResultOutputWithContext(ctx context.Context) LookupInferenceProfileResultOutput { return o } // The time at which the inference profile was created. -func (o GetInferenceProfileResultOutput) CreatedAt() pulumi.StringOutput { - return o.ApplyT(func(v GetInferenceProfileResult) string { return v.CreatedAt }).(pulumi.StringOutput) +func (o LookupInferenceProfileResultOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v LookupInferenceProfileResult) string { return v.CreatedAt }).(pulumi.StringOutput) } // The description of the inference profile. -func (o GetInferenceProfileResultOutput) Description() pulumi.StringOutput { - return o.ApplyT(func(v GetInferenceProfileResult) string { return v.Description }).(pulumi.StringOutput) +func (o LookupInferenceProfileResultOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v LookupInferenceProfileResult) string { return v.Description }).(pulumi.StringOutput) } // The provider-assigned unique ID for this managed resource. -func (o GetInferenceProfileResultOutput) Id() pulumi.StringOutput { - return o.ApplyT(func(v GetInferenceProfileResult) string { return v.Id }).(pulumi.StringOutput) +func (o LookupInferenceProfileResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupInferenceProfileResult) string { return v.Id }).(pulumi.StringOutput) } // The Amazon Resource Name (ARN) of the inference profile. -func (o GetInferenceProfileResultOutput) InferenceProfileArn() pulumi.StringOutput { - return o.ApplyT(func(v GetInferenceProfileResult) string { return v.InferenceProfileArn }).(pulumi.StringOutput) +func (o LookupInferenceProfileResultOutput) InferenceProfileArn() pulumi.StringOutput { + return o.ApplyT(func(v LookupInferenceProfileResult) string { return v.InferenceProfileArn }).(pulumi.StringOutput) } -func (o GetInferenceProfileResultOutput) InferenceProfileId() pulumi.StringOutput { - return o.ApplyT(func(v GetInferenceProfileResult) string { return v.InferenceProfileId }).(pulumi.StringOutput) +func (o LookupInferenceProfileResultOutput) InferenceProfileId() pulumi.StringOutput { + return o.ApplyT(func(v LookupInferenceProfileResult) string { return v.InferenceProfileId }).(pulumi.StringOutput) } // The unique identifier of the inference profile. -func (o GetInferenceProfileResultOutput) InferenceProfileName() pulumi.StringOutput { - return o.ApplyT(func(v GetInferenceProfileResult) string { return v.InferenceProfileName }).(pulumi.StringOutput) +func (o LookupInferenceProfileResultOutput) InferenceProfileName() pulumi.StringOutput { + return o.ApplyT(func(v LookupInferenceProfileResult) string { return v.InferenceProfileName }).(pulumi.StringOutput) } // A list of information about each model in the inference profile. See `models`. -func (o GetInferenceProfileResultOutput) Models() GetInferenceProfileModelArrayOutput { - return o.ApplyT(func(v GetInferenceProfileResult) []GetInferenceProfileModel { return v.Models }).(GetInferenceProfileModelArrayOutput) +func (o LookupInferenceProfileResultOutput) Models() GetInferenceProfileModelArrayOutput { + return o.ApplyT(func(v LookupInferenceProfileResult) []GetInferenceProfileModel { return v.Models }).(GetInferenceProfileModelArrayOutput) } // The status of the inference profile. `ACTIVE` means that the inference profile is available to use. -func (o GetInferenceProfileResultOutput) Status() pulumi.StringOutput { - return o.ApplyT(func(v GetInferenceProfileResult) string { return v.Status }).(pulumi.StringOutput) +func (o LookupInferenceProfileResultOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v LookupInferenceProfileResult) string { return v.Status }).(pulumi.StringOutput) } -// The type of the inference profile. `SYSTEM_DEFINED` means that the inference profile is defined by Amazon Bedrock. -func (o GetInferenceProfileResultOutput) Type() pulumi.StringOutput { - return o.ApplyT(func(v GetInferenceProfileResult) string { return v.Type }).(pulumi.StringOutput) +// The type of the inference profile. `SYSTEM_DEFINED` means that the inference profile is defined by Amazon Bedrock. `APPLICATION` means that the inference profile is defined by the user. +func (o LookupInferenceProfileResultOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v LookupInferenceProfileResult) string { return v.Type }).(pulumi.StringOutput) } // The time at which the inference profile was last updated. -func (o GetInferenceProfileResultOutput) UpdatedAt() pulumi.StringOutput { - return o.ApplyT(func(v GetInferenceProfileResult) string { return v.UpdatedAt }).(pulumi.StringOutput) +func (o LookupInferenceProfileResultOutput) UpdatedAt() pulumi.StringOutput { + return o.ApplyT(func(v LookupInferenceProfileResult) string { return v.UpdatedAt }).(pulumi.StringOutput) } func init() { - pulumi.RegisterOutputType(GetInferenceProfileResultOutput{}) + pulumi.RegisterOutputType(LookupInferenceProfileResultOutput{}) } diff --git a/sdk/go/aws/bedrock/inferenceProfile.go b/sdk/go/aws/bedrock/inferenceProfile.go new file mode 100644 index 00000000000..428d518d16b --- /dev/null +++ b/sdk/go/aws/bedrock/inferenceProfile.go @@ -0,0 +1,406 @@ +// 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 bedrock + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Resource for managing an AWS Bedrock Inference Profile. +// +// ## Example Usage +// +// ### Basic Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-aws/sdk/v6/go/aws" +// "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/bedrock" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := aws.GetCallerIdentity(ctx, &aws.GetCallerIdentityArgs{}, nil) +// if err != nil { +// return err +// } +// _, err = bedrock.NewInferenceProfile(ctx, "example", &bedrock.InferenceProfileArgs{ +// Name: pulumi.String("Claude Sonnet for Project 123"), +// Description: pulumi.String("Profile with tag for cost allocation tracking"), +// ModelSource: &bedrock.InferenceProfileModelSourceArgs{ +// CopyFrom: pulumi.String("arn:aws:bedrock:us-west-2::foundation-model/anthropic.claude-3-5-sonnet-20241022-v2:0"), +// }, +// Tags: pulumi.StringMap{ +// "ProjectID": pulumi.String("123"), +// }, +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// ## Import +// +// Using `pulumi import`, import Bedrock Inference Profile using the `example_id_arg`. For example: +// +// ```sh +// $ pulumi import aws:bedrock/inferenceProfile:InferenceProfile example inference_profile-id-12345678 +// ``` +type InferenceProfile struct { + pulumi.CustomResourceState + + // The Amazon Resource Name (ARN) of the inference profile. + Arn pulumi.StringOutput `pulumi:"arn"` + // The time at which the inference profile was created. + CreatedAt pulumi.StringOutput `pulumi:"createdAt"` + // The description of the inference profile. + Description pulumi.StringPtrOutput `pulumi:"description"` + // The source of the model this inference profile will track metrics and cost for. See `modelSource`. + // + // The following arguments are optional: + ModelSource InferenceProfileModelSourcePtrOutput `pulumi:"modelSource"` + // A list of information about each model in the inference profile. See `models`. + Models InferenceProfileModelArrayOutput `pulumi:"models"` + // The name of the inference profile. + Name pulumi.StringOutput `pulumi:"name"` + // The status of the inference profile. `ACTIVE` means that the inference profile is available to use. + Status pulumi.StringOutput `pulumi:"status"` + // Key-value mapping of resource tags for the inference profile. + Tags pulumi.StringMapOutput `pulumi:"tags"` + // Deprecated: Please use `tags` instead. + TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"` + Timeouts InferenceProfileTimeoutsPtrOutput `pulumi:"timeouts"` + // The type of the inference profile. `SYSTEM_DEFINED` means that the inference profile is defined by Amazon Bedrock. `APPLICATION` means that the inference profile is defined by the user. + Type pulumi.StringOutput `pulumi:"type"` + // The time at which the inference profile was last updated. + UpdatedAt pulumi.StringOutput `pulumi:"updatedAt"` +} + +// NewInferenceProfile registers a new resource with the given unique name, arguments, and options. +func NewInferenceProfile(ctx *pulumi.Context, + name string, args *InferenceProfileArgs, opts ...pulumi.ResourceOption) (*InferenceProfile, error) { + if args == nil { + args = &InferenceProfileArgs{} + } + + opts = internal.PkgResourceDefaultOpts(opts) + var resource InferenceProfile + err := ctx.RegisterResource("aws:bedrock/inferenceProfile:InferenceProfile", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetInferenceProfile gets an existing InferenceProfile 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 GetInferenceProfile(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *InferenceProfileState, opts ...pulumi.ResourceOption) (*InferenceProfile, error) { + var resource InferenceProfile + err := ctx.ReadResource("aws:bedrock/inferenceProfile:InferenceProfile", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering InferenceProfile resources. +type inferenceProfileState struct { + // The Amazon Resource Name (ARN) of the inference profile. + Arn *string `pulumi:"arn"` + // The time at which the inference profile was created. + CreatedAt *string `pulumi:"createdAt"` + // The description of the inference profile. + Description *string `pulumi:"description"` + // The source of the model this inference profile will track metrics and cost for. See `modelSource`. + // + // The following arguments are optional: + ModelSource *InferenceProfileModelSource `pulumi:"modelSource"` + // A list of information about each model in the inference profile. See `models`. + Models []InferenceProfileModel `pulumi:"models"` + // The name of the inference profile. + Name *string `pulumi:"name"` + // The status of the inference profile. `ACTIVE` means that the inference profile is available to use. + Status *string `pulumi:"status"` + // Key-value mapping of resource tags for the inference profile. + Tags map[string]string `pulumi:"tags"` + // Deprecated: Please use `tags` instead. + TagsAll map[string]string `pulumi:"tagsAll"` + Timeouts *InferenceProfileTimeouts `pulumi:"timeouts"` + // The type of the inference profile. `SYSTEM_DEFINED` means that the inference profile is defined by Amazon Bedrock. `APPLICATION` means that the inference profile is defined by the user. + Type *string `pulumi:"type"` + // The time at which the inference profile was last updated. + UpdatedAt *string `pulumi:"updatedAt"` +} + +type InferenceProfileState struct { + // The Amazon Resource Name (ARN) of the inference profile. + Arn pulumi.StringPtrInput + // The time at which the inference profile was created. + CreatedAt pulumi.StringPtrInput + // The description of the inference profile. + Description pulumi.StringPtrInput + // The source of the model this inference profile will track metrics and cost for. See `modelSource`. + // + // The following arguments are optional: + ModelSource InferenceProfileModelSourcePtrInput + // A list of information about each model in the inference profile. See `models`. + Models InferenceProfileModelArrayInput + // The name of the inference profile. + Name pulumi.StringPtrInput + // The status of the inference profile. `ACTIVE` means that the inference profile is available to use. + Status pulumi.StringPtrInput + // Key-value mapping of resource tags for the inference profile. + Tags pulumi.StringMapInput + // Deprecated: Please use `tags` instead. + TagsAll pulumi.StringMapInput + Timeouts InferenceProfileTimeoutsPtrInput + // The type of the inference profile. `SYSTEM_DEFINED` means that the inference profile is defined by Amazon Bedrock. `APPLICATION` means that the inference profile is defined by the user. + Type pulumi.StringPtrInput + // The time at which the inference profile was last updated. + UpdatedAt pulumi.StringPtrInput +} + +func (InferenceProfileState) ElementType() reflect.Type { + return reflect.TypeOf((*inferenceProfileState)(nil)).Elem() +} + +type inferenceProfileArgs struct { + // The description of the inference profile. + Description *string `pulumi:"description"` + // The source of the model this inference profile will track metrics and cost for. See `modelSource`. + // + // The following arguments are optional: + ModelSource *InferenceProfileModelSource `pulumi:"modelSource"` + // The name of the inference profile. + Name *string `pulumi:"name"` + // Key-value mapping of resource tags for the inference profile. + Tags map[string]string `pulumi:"tags"` + Timeouts *InferenceProfileTimeouts `pulumi:"timeouts"` +} + +// The set of arguments for constructing a InferenceProfile resource. +type InferenceProfileArgs struct { + // The description of the inference profile. + Description pulumi.StringPtrInput + // The source of the model this inference profile will track metrics and cost for. See `modelSource`. + // + // The following arguments are optional: + ModelSource InferenceProfileModelSourcePtrInput + // The name of the inference profile. + Name pulumi.StringPtrInput + // Key-value mapping of resource tags for the inference profile. + Tags pulumi.StringMapInput + Timeouts InferenceProfileTimeoutsPtrInput +} + +func (InferenceProfileArgs) ElementType() reflect.Type { + return reflect.TypeOf((*inferenceProfileArgs)(nil)).Elem() +} + +type InferenceProfileInput interface { + pulumi.Input + + ToInferenceProfileOutput() InferenceProfileOutput + ToInferenceProfileOutputWithContext(ctx context.Context) InferenceProfileOutput +} + +func (*InferenceProfile) ElementType() reflect.Type { + return reflect.TypeOf((**InferenceProfile)(nil)).Elem() +} + +func (i *InferenceProfile) ToInferenceProfileOutput() InferenceProfileOutput { + return i.ToInferenceProfileOutputWithContext(context.Background()) +} + +func (i *InferenceProfile) ToInferenceProfileOutputWithContext(ctx context.Context) InferenceProfileOutput { + return pulumi.ToOutputWithContext(ctx, i).(InferenceProfileOutput) +} + +// InferenceProfileArrayInput is an input type that accepts InferenceProfileArray and InferenceProfileArrayOutput values. +// You can construct a concrete instance of `InferenceProfileArrayInput` via: +// +// InferenceProfileArray{ InferenceProfileArgs{...} } +type InferenceProfileArrayInput interface { + pulumi.Input + + ToInferenceProfileArrayOutput() InferenceProfileArrayOutput + ToInferenceProfileArrayOutputWithContext(context.Context) InferenceProfileArrayOutput +} + +type InferenceProfileArray []InferenceProfileInput + +func (InferenceProfileArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*InferenceProfile)(nil)).Elem() +} + +func (i InferenceProfileArray) ToInferenceProfileArrayOutput() InferenceProfileArrayOutput { + return i.ToInferenceProfileArrayOutputWithContext(context.Background()) +} + +func (i InferenceProfileArray) ToInferenceProfileArrayOutputWithContext(ctx context.Context) InferenceProfileArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(InferenceProfileArrayOutput) +} + +// InferenceProfileMapInput is an input type that accepts InferenceProfileMap and InferenceProfileMapOutput values. +// You can construct a concrete instance of `InferenceProfileMapInput` via: +// +// InferenceProfileMap{ "key": InferenceProfileArgs{...} } +type InferenceProfileMapInput interface { + pulumi.Input + + ToInferenceProfileMapOutput() InferenceProfileMapOutput + ToInferenceProfileMapOutputWithContext(context.Context) InferenceProfileMapOutput +} + +type InferenceProfileMap map[string]InferenceProfileInput + +func (InferenceProfileMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*InferenceProfile)(nil)).Elem() +} + +func (i InferenceProfileMap) ToInferenceProfileMapOutput() InferenceProfileMapOutput { + return i.ToInferenceProfileMapOutputWithContext(context.Background()) +} + +func (i InferenceProfileMap) ToInferenceProfileMapOutputWithContext(ctx context.Context) InferenceProfileMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(InferenceProfileMapOutput) +} + +type InferenceProfileOutput struct{ *pulumi.OutputState } + +func (InferenceProfileOutput) ElementType() reflect.Type { + return reflect.TypeOf((**InferenceProfile)(nil)).Elem() +} + +func (o InferenceProfileOutput) ToInferenceProfileOutput() InferenceProfileOutput { + return o +} + +func (o InferenceProfileOutput) ToInferenceProfileOutputWithContext(ctx context.Context) InferenceProfileOutput { + return o +} + +// The Amazon Resource Name (ARN) of the inference profile. +func (o InferenceProfileOutput) Arn() pulumi.StringOutput { + return o.ApplyT(func(v *InferenceProfile) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) +} + +// The time at which the inference profile was created. +func (o InferenceProfileOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v *InferenceProfile) pulumi.StringOutput { return v.CreatedAt }).(pulumi.StringOutput) +} + +// The description of the inference profile. +func (o InferenceProfileOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v *InferenceProfile) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) +} + +// The source of the model this inference profile will track metrics and cost for. See `modelSource`. +// +// The following arguments are optional: +func (o InferenceProfileOutput) ModelSource() InferenceProfileModelSourcePtrOutput { + return o.ApplyT(func(v *InferenceProfile) InferenceProfileModelSourcePtrOutput { return v.ModelSource }).(InferenceProfileModelSourcePtrOutput) +} + +// A list of information about each model in the inference profile. See `models`. +func (o InferenceProfileOutput) Models() InferenceProfileModelArrayOutput { + return o.ApplyT(func(v *InferenceProfile) InferenceProfileModelArrayOutput { return v.Models }).(InferenceProfileModelArrayOutput) +} + +// The name of the inference profile. +func (o InferenceProfileOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *InferenceProfile) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// The status of the inference profile. `ACTIVE` means that the inference profile is available to use. +func (o InferenceProfileOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v *InferenceProfile) pulumi.StringOutput { return v.Status }).(pulumi.StringOutput) +} + +// Key-value mapping of resource tags for the inference profile. +func (o InferenceProfileOutput) Tags() pulumi.StringMapOutput { + return o.ApplyT(func(v *InferenceProfile) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) +} + +// Deprecated: Please use `tags` instead. +func (o InferenceProfileOutput) TagsAll() pulumi.StringMapOutput { + return o.ApplyT(func(v *InferenceProfile) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput) +} + +func (o InferenceProfileOutput) Timeouts() InferenceProfileTimeoutsPtrOutput { + return o.ApplyT(func(v *InferenceProfile) InferenceProfileTimeoutsPtrOutput { return v.Timeouts }).(InferenceProfileTimeoutsPtrOutput) +} + +// The type of the inference profile. `SYSTEM_DEFINED` means that the inference profile is defined by Amazon Bedrock. `APPLICATION` means that the inference profile is defined by the user. +func (o InferenceProfileOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v *InferenceProfile) pulumi.StringOutput { return v.Type }).(pulumi.StringOutput) +} + +// The time at which the inference profile was last updated. +func (o InferenceProfileOutput) UpdatedAt() pulumi.StringOutput { + return o.ApplyT(func(v *InferenceProfile) pulumi.StringOutput { return v.UpdatedAt }).(pulumi.StringOutput) +} + +type InferenceProfileArrayOutput struct{ *pulumi.OutputState } + +func (InferenceProfileArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*InferenceProfile)(nil)).Elem() +} + +func (o InferenceProfileArrayOutput) ToInferenceProfileArrayOutput() InferenceProfileArrayOutput { + return o +} + +func (o InferenceProfileArrayOutput) ToInferenceProfileArrayOutputWithContext(ctx context.Context) InferenceProfileArrayOutput { + return o +} + +func (o InferenceProfileArrayOutput) Index(i pulumi.IntInput) InferenceProfileOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *InferenceProfile { + return vs[0].([]*InferenceProfile)[vs[1].(int)] + }).(InferenceProfileOutput) +} + +type InferenceProfileMapOutput struct{ *pulumi.OutputState } + +func (InferenceProfileMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*InferenceProfile)(nil)).Elem() +} + +func (o InferenceProfileMapOutput) ToInferenceProfileMapOutput() InferenceProfileMapOutput { + return o +} + +func (o InferenceProfileMapOutput) ToInferenceProfileMapOutputWithContext(ctx context.Context) InferenceProfileMapOutput { + return o +} + +func (o InferenceProfileMapOutput) MapIndex(k pulumi.StringInput) InferenceProfileOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *InferenceProfile { + return vs[0].(map[string]*InferenceProfile)[vs[1].(string)] + }).(InferenceProfileOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*InferenceProfileInput)(nil)).Elem(), &InferenceProfile{}) + pulumi.RegisterInputType(reflect.TypeOf((*InferenceProfileArrayInput)(nil)).Elem(), InferenceProfileArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*InferenceProfileMapInput)(nil)).Elem(), InferenceProfileMap{}) + pulumi.RegisterOutputType(InferenceProfileOutput{}) + pulumi.RegisterOutputType(InferenceProfileArrayOutput{}) + pulumi.RegisterOutputType(InferenceProfileMapOutput{}) +} diff --git a/sdk/go/aws/bedrock/init.go b/sdk/go/aws/bedrock/init.go index 9deabbb895e..854fb7e6bf7 100644 --- a/sdk/go/aws/bedrock/init.go +++ b/sdk/go/aws/bedrock/init.go @@ -39,6 +39,8 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi r = &Guardrail{} case "aws:bedrock/guardrailVersion:GuardrailVersion": r = &GuardrailVersion{} + case "aws:bedrock/inferenceProfile:InferenceProfile": + r = &InferenceProfile{} case "aws:bedrock/provisionedModelThroughput:ProvisionedModelThroughput": r = &ProvisionedModelThroughput{} default: @@ -99,6 +101,11 @@ func init() { "bedrock/guardrailVersion", &module{version}, ) + pulumi.RegisterResourceModule( + "aws", + "bedrock/inferenceProfile", + &module{version}, + ) pulumi.RegisterResourceModule( "aws", "bedrock/provisionedModelThroughput", diff --git a/sdk/go/aws/bedrock/pulumiTypes.go b/sdk/go/aws/bedrock/pulumiTypes.go index 202eaf52756..cd36235f1f9 100644 --- a/sdk/go/aws/bedrock/pulumiTypes.go +++ b/sdk/go/aws/bedrock/pulumiTypes.go @@ -10315,6 +10315,415 @@ func (o GuardrailWordPolicyConfigWordsConfigArrayOutput) Index(i pulumi.IntInput }).(GuardrailWordPolicyConfigWordsConfigOutput) } +type InferenceProfileModel struct { + // The Amazon Resource Name (ARN) of the model. + ModelArn string `pulumi:"modelArn"` +} + +// InferenceProfileModelInput is an input type that accepts InferenceProfileModelArgs and InferenceProfileModelOutput values. +// You can construct a concrete instance of `InferenceProfileModelInput` via: +// +// InferenceProfileModelArgs{...} +type InferenceProfileModelInput interface { + pulumi.Input + + ToInferenceProfileModelOutput() InferenceProfileModelOutput + ToInferenceProfileModelOutputWithContext(context.Context) InferenceProfileModelOutput +} + +type InferenceProfileModelArgs struct { + // The Amazon Resource Name (ARN) of the model. + ModelArn pulumi.StringInput `pulumi:"modelArn"` +} + +func (InferenceProfileModelArgs) ElementType() reflect.Type { + return reflect.TypeOf((*InferenceProfileModel)(nil)).Elem() +} + +func (i InferenceProfileModelArgs) ToInferenceProfileModelOutput() InferenceProfileModelOutput { + return i.ToInferenceProfileModelOutputWithContext(context.Background()) +} + +func (i InferenceProfileModelArgs) ToInferenceProfileModelOutputWithContext(ctx context.Context) InferenceProfileModelOutput { + return pulumi.ToOutputWithContext(ctx, i).(InferenceProfileModelOutput) +} + +// InferenceProfileModelArrayInput is an input type that accepts InferenceProfileModelArray and InferenceProfileModelArrayOutput values. +// You can construct a concrete instance of `InferenceProfileModelArrayInput` via: +// +// InferenceProfileModelArray{ InferenceProfileModelArgs{...} } +type InferenceProfileModelArrayInput interface { + pulumi.Input + + ToInferenceProfileModelArrayOutput() InferenceProfileModelArrayOutput + ToInferenceProfileModelArrayOutputWithContext(context.Context) InferenceProfileModelArrayOutput +} + +type InferenceProfileModelArray []InferenceProfileModelInput + +func (InferenceProfileModelArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]InferenceProfileModel)(nil)).Elem() +} + +func (i InferenceProfileModelArray) ToInferenceProfileModelArrayOutput() InferenceProfileModelArrayOutput { + return i.ToInferenceProfileModelArrayOutputWithContext(context.Background()) +} + +func (i InferenceProfileModelArray) ToInferenceProfileModelArrayOutputWithContext(ctx context.Context) InferenceProfileModelArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(InferenceProfileModelArrayOutput) +} + +type InferenceProfileModelOutput struct{ *pulumi.OutputState } + +func (InferenceProfileModelOutput) ElementType() reflect.Type { + return reflect.TypeOf((*InferenceProfileModel)(nil)).Elem() +} + +func (o InferenceProfileModelOutput) ToInferenceProfileModelOutput() InferenceProfileModelOutput { + return o +} + +func (o InferenceProfileModelOutput) ToInferenceProfileModelOutputWithContext(ctx context.Context) InferenceProfileModelOutput { + return o +} + +// The Amazon Resource Name (ARN) of the model. +func (o InferenceProfileModelOutput) ModelArn() pulumi.StringOutput { + return o.ApplyT(func(v InferenceProfileModel) string { return v.ModelArn }).(pulumi.StringOutput) +} + +type InferenceProfileModelArrayOutput struct{ *pulumi.OutputState } + +func (InferenceProfileModelArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]InferenceProfileModel)(nil)).Elem() +} + +func (o InferenceProfileModelArrayOutput) ToInferenceProfileModelArrayOutput() InferenceProfileModelArrayOutput { + return o +} + +func (o InferenceProfileModelArrayOutput) ToInferenceProfileModelArrayOutputWithContext(ctx context.Context) InferenceProfileModelArrayOutput { + return o +} + +func (o InferenceProfileModelArrayOutput) Index(i pulumi.IntInput) InferenceProfileModelOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) InferenceProfileModel { + return vs[0].([]InferenceProfileModel)[vs[1].(int)] + }).(InferenceProfileModelOutput) +} + +type InferenceProfileModelSource struct { + // The Amazon Resource Name (ARN) of the model. + CopyFrom string `pulumi:"copyFrom"` +} + +// InferenceProfileModelSourceInput is an input type that accepts InferenceProfileModelSourceArgs and InferenceProfileModelSourceOutput values. +// You can construct a concrete instance of `InferenceProfileModelSourceInput` via: +// +// InferenceProfileModelSourceArgs{...} +type InferenceProfileModelSourceInput interface { + pulumi.Input + + ToInferenceProfileModelSourceOutput() InferenceProfileModelSourceOutput + ToInferenceProfileModelSourceOutputWithContext(context.Context) InferenceProfileModelSourceOutput +} + +type InferenceProfileModelSourceArgs struct { + // The Amazon Resource Name (ARN) of the model. + CopyFrom pulumi.StringInput `pulumi:"copyFrom"` +} + +func (InferenceProfileModelSourceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*InferenceProfileModelSource)(nil)).Elem() +} + +func (i InferenceProfileModelSourceArgs) ToInferenceProfileModelSourceOutput() InferenceProfileModelSourceOutput { + return i.ToInferenceProfileModelSourceOutputWithContext(context.Background()) +} + +func (i InferenceProfileModelSourceArgs) ToInferenceProfileModelSourceOutputWithContext(ctx context.Context) InferenceProfileModelSourceOutput { + return pulumi.ToOutputWithContext(ctx, i).(InferenceProfileModelSourceOutput) +} + +func (i InferenceProfileModelSourceArgs) ToInferenceProfileModelSourcePtrOutput() InferenceProfileModelSourcePtrOutput { + return i.ToInferenceProfileModelSourcePtrOutputWithContext(context.Background()) +} + +func (i InferenceProfileModelSourceArgs) ToInferenceProfileModelSourcePtrOutputWithContext(ctx context.Context) InferenceProfileModelSourcePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(InferenceProfileModelSourceOutput).ToInferenceProfileModelSourcePtrOutputWithContext(ctx) +} + +// InferenceProfileModelSourcePtrInput is an input type that accepts InferenceProfileModelSourceArgs, InferenceProfileModelSourcePtr and InferenceProfileModelSourcePtrOutput values. +// You can construct a concrete instance of `InferenceProfileModelSourcePtrInput` via: +// +// InferenceProfileModelSourceArgs{...} +// +// or: +// +// nil +type InferenceProfileModelSourcePtrInput interface { + pulumi.Input + + ToInferenceProfileModelSourcePtrOutput() InferenceProfileModelSourcePtrOutput + ToInferenceProfileModelSourcePtrOutputWithContext(context.Context) InferenceProfileModelSourcePtrOutput +} + +type inferenceProfileModelSourcePtrType InferenceProfileModelSourceArgs + +func InferenceProfileModelSourcePtr(v *InferenceProfileModelSourceArgs) InferenceProfileModelSourcePtrInput { + return (*inferenceProfileModelSourcePtrType)(v) +} + +func (*inferenceProfileModelSourcePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**InferenceProfileModelSource)(nil)).Elem() +} + +func (i *inferenceProfileModelSourcePtrType) ToInferenceProfileModelSourcePtrOutput() InferenceProfileModelSourcePtrOutput { + return i.ToInferenceProfileModelSourcePtrOutputWithContext(context.Background()) +} + +func (i *inferenceProfileModelSourcePtrType) ToInferenceProfileModelSourcePtrOutputWithContext(ctx context.Context) InferenceProfileModelSourcePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(InferenceProfileModelSourcePtrOutput) +} + +type InferenceProfileModelSourceOutput struct{ *pulumi.OutputState } + +func (InferenceProfileModelSourceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*InferenceProfileModelSource)(nil)).Elem() +} + +func (o InferenceProfileModelSourceOutput) ToInferenceProfileModelSourceOutput() InferenceProfileModelSourceOutput { + return o +} + +func (o InferenceProfileModelSourceOutput) ToInferenceProfileModelSourceOutputWithContext(ctx context.Context) InferenceProfileModelSourceOutput { + return o +} + +func (o InferenceProfileModelSourceOutput) ToInferenceProfileModelSourcePtrOutput() InferenceProfileModelSourcePtrOutput { + return o.ToInferenceProfileModelSourcePtrOutputWithContext(context.Background()) +} + +func (o InferenceProfileModelSourceOutput) ToInferenceProfileModelSourcePtrOutputWithContext(ctx context.Context) InferenceProfileModelSourcePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v InferenceProfileModelSource) *InferenceProfileModelSource { + return &v + }).(InferenceProfileModelSourcePtrOutput) +} + +// The Amazon Resource Name (ARN) of the model. +func (o InferenceProfileModelSourceOutput) CopyFrom() pulumi.StringOutput { + return o.ApplyT(func(v InferenceProfileModelSource) string { return v.CopyFrom }).(pulumi.StringOutput) +} + +type InferenceProfileModelSourcePtrOutput struct{ *pulumi.OutputState } + +func (InferenceProfileModelSourcePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**InferenceProfileModelSource)(nil)).Elem() +} + +func (o InferenceProfileModelSourcePtrOutput) ToInferenceProfileModelSourcePtrOutput() InferenceProfileModelSourcePtrOutput { + return o +} + +func (o InferenceProfileModelSourcePtrOutput) ToInferenceProfileModelSourcePtrOutputWithContext(ctx context.Context) InferenceProfileModelSourcePtrOutput { + return o +} + +func (o InferenceProfileModelSourcePtrOutput) Elem() InferenceProfileModelSourceOutput { + return o.ApplyT(func(v *InferenceProfileModelSource) InferenceProfileModelSource { + if v != nil { + return *v + } + var ret InferenceProfileModelSource + return ret + }).(InferenceProfileModelSourceOutput) +} + +// The Amazon Resource Name (ARN) of the model. +func (o InferenceProfileModelSourcePtrOutput) CopyFrom() pulumi.StringPtrOutput { + return o.ApplyT(func(v *InferenceProfileModelSource) *string { + if v == nil { + return nil + } + return &v.CopyFrom + }).(pulumi.StringPtrOutput) +} + +type InferenceProfileTimeouts struct { + // A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + Create *string `pulumi:"create"` + // A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. + Delete *string `pulumi:"delete"` + // A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + Update *string `pulumi:"update"` +} + +// InferenceProfileTimeoutsInput is an input type that accepts InferenceProfileTimeoutsArgs and InferenceProfileTimeoutsOutput values. +// You can construct a concrete instance of `InferenceProfileTimeoutsInput` via: +// +// InferenceProfileTimeoutsArgs{...} +type InferenceProfileTimeoutsInput interface { + pulumi.Input + + ToInferenceProfileTimeoutsOutput() InferenceProfileTimeoutsOutput + ToInferenceProfileTimeoutsOutputWithContext(context.Context) InferenceProfileTimeoutsOutput +} + +type InferenceProfileTimeoutsArgs struct { + // A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + Create pulumi.StringPtrInput `pulumi:"create"` + // A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. + Delete pulumi.StringPtrInput `pulumi:"delete"` + // A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + Update pulumi.StringPtrInput `pulumi:"update"` +} + +func (InferenceProfileTimeoutsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*InferenceProfileTimeouts)(nil)).Elem() +} + +func (i InferenceProfileTimeoutsArgs) ToInferenceProfileTimeoutsOutput() InferenceProfileTimeoutsOutput { + return i.ToInferenceProfileTimeoutsOutputWithContext(context.Background()) +} + +func (i InferenceProfileTimeoutsArgs) ToInferenceProfileTimeoutsOutputWithContext(ctx context.Context) InferenceProfileTimeoutsOutput { + return pulumi.ToOutputWithContext(ctx, i).(InferenceProfileTimeoutsOutput) +} + +func (i InferenceProfileTimeoutsArgs) ToInferenceProfileTimeoutsPtrOutput() InferenceProfileTimeoutsPtrOutput { + return i.ToInferenceProfileTimeoutsPtrOutputWithContext(context.Background()) +} + +func (i InferenceProfileTimeoutsArgs) ToInferenceProfileTimeoutsPtrOutputWithContext(ctx context.Context) InferenceProfileTimeoutsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(InferenceProfileTimeoutsOutput).ToInferenceProfileTimeoutsPtrOutputWithContext(ctx) +} + +// InferenceProfileTimeoutsPtrInput is an input type that accepts InferenceProfileTimeoutsArgs, InferenceProfileTimeoutsPtr and InferenceProfileTimeoutsPtrOutput values. +// You can construct a concrete instance of `InferenceProfileTimeoutsPtrInput` via: +// +// InferenceProfileTimeoutsArgs{...} +// +// or: +// +// nil +type InferenceProfileTimeoutsPtrInput interface { + pulumi.Input + + ToInferenceProfileTimeoutsPtrOutput() InferenceProfileTimeoutsPtrOutput + ToInferenceProfileTimeoutsPtrOutputWithContext(context.Context) InferenceProfileTimeoutsPtrOutput +} + +type inferenceProfileTimeoutsPtrType InferenceProfileTimeoutsArgs + +func InferenceProfileTimeoutsPtr(v *InferenceProfileTimeoutsArgs) InferenceProfileTimeoutsPtrInput { + return (*inferenceProfileTimeoutsPtrType)(v) +} + +func (*inferenceProfileTimeoutsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**InferenceProfileTimeouts)(nil)).Elem() +} + +func (i *inferenceProfileTimeoutsPtrType) ToInferenceProfileTimeoutsPtrOutput() InferenceProfileTimeoutsPtrOutput { + return i.ToInferenceProfileTimeoutsPtrOutputWithContext(context.Background()) +} + +func (i *inferenceProfileTimeoutsPtrType) ToInferenceProfileTimeoutsPtrOutputWithContext(ctx context.Context) InferenceProfileTimeoutsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(InferenceProfileTimeoutsPtrOutput) +} + +type InferenceProfileTimeoutsOutput struct{ *pulumi.OutputState } + +func (InferenceProfileTimeoutsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*InferenceProfileTimeouts)(nil)).Elem() +} + +func (o InferenceProfileTimeoutsOutput) ToInferenceProfileTimeoutsOutput() InferenceProfileTimeoutsOutput { + return o +} + +func (o InferenceProfileTimeoutsOutput) ToInferenceProfileTimeoutsOutputWithContext(ctx context.Context) InferenceProfileTimeoutsOutput { + return o +} + +func (o InferenceProfileTimeoutsOutput) ToInferenceProfileTimeoutsPtrOutput() InferenceProfileTimeoutsPtrOutput { + return o.ToInferenceProfileTimeoutsPtrOutputWithContext(context.Background()) +} + +func (o InferenceProfileTimeoutsOutput) ToInferenceProfileTimeoutsPtrOutputWithContext(ctx context.Context) InferenceProfileTimeoutsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v InferenceProfileTimeouts) *InferenceProfileTimeouts { + return &v + }).(InferenceProfileTimeoutsPtrOutput) +} + +// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). +func (o InferenceProfileTimeoutsOutput) Create() pulumi.StringPtrOutput { + return o.ApplyT(func(v InferenceProfileTimeouts) *string { return v.Create }).(pulumi.StringPtrOutput) +} + +// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. +func (o InferenceProfileTimeoutsOutput) Delete() pulumi.StringPtrOutput { + return o.ApplyT(func(v InferenceProfileTimeouts) *string { return v.Delete }).(pulumi.StringPtrOutput) +} + +// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). +func (o InferenceProfileTimeoutsOutput) Update() pulumi.StringPtrOutput { + return o.ApplyT(func(v InferenceProfileTimeouts) *string { return v.Update }).(pulumi.StringPtrOutput) +} + +type InferenceProfileTimeoutsPtrOutput struct{ *pulumi.OutputState } + +func (InferenceProfileTimeoutsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**InferenceProfileTimeouts)(nil)).Elem() +} + +func (o InferenceProfileTimeoutsPtrOutput) ToInferenceProfileTimeoutsPtrOutput() InferenceProfileTimeoutsPtrOutput { + return o +} + +func (o InferenceProfileTimeoutsPtrOutput) ToInferenceProfileTimeoutsPtrOutputWithContext(ctx context.Context) InferenceProfileTimeoutsPtrOutput { + return o +} + +func (o InferenceProfileTimeoutsPtrOutput) Elem() InferenceProfileTimeoutsOutput { + return o.ApplyT(func(v *InferenceProfileTimeouts) InferenceProfileTimeouts { + if v != nil { + return *v + } + var ret InferenceProfileTimeouts + return ret + }).(InferenceProfileTimeoutsOutput) +} + +// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). +func (o InferenceProfileTimeoutsPtrOutput) Create() pulumi.StringPtrOutput { + return o.ApplyT(func(v *InferenceProfileTimeouts) *string { + if v == nil { + return nil + } + return v.Create + }).(pulumi.StringPtrOutput) +} + +// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. +func (o InferenceProfileTimeoutsPtrOutput) Delete() pulumi.StringPtrOutput { + return o.ApplyT(func(v *InferenceProfileTimeouts) *string { + if v == nil { + return nil + } + return v.Delete + }).(pulumi.StringPtrOutput) +} + +// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). +func (o InferenceProfileTimeoutsPtrOutput) Update() pulumi.StringPtrOutput { + return o.ApplyT(func(v *InferenceProfileTimeouts) *string { + if v == nil { + return nil + } + return v.Update + }).(pulumi.StringPtrOutput) +} + type ProvisionedModelThroughputTimeouts struct { // A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Create *string `pulumi:"create"` @@ -11918,6 +12327,12 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*GuardrailWordPolicyConfigManagedWordListsConfigArrayInput)(nil)).Elem(), GuardrailWordPolicyConfigManagedWordListsConfigArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GuardrailWordPolicyConfigWordsConfigInput)(nil)).Elem(), GuardrailWordPolicyConfigWordsConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GuardrailWordPolicyConfigWordsConfigArrayInput)(nil)).Elem(), GuardrailWordPolicyConfigWordsConfigArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*InferenceProfileModelInput)(nil)).Elem(), InferenceProfileModelArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*InferenceProfileModelArrayInput)(nil)).Elem(), InferenceProfileModelArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*InferenceProfileModelSourceInput)(nil)).Elem(), InferenceProfileModelSourceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*InferenceProfileModelSourcePtrInput)(nil)).Elem(), InferenceProfileModelSourceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*InferenceProfileTimeoutsInput)(nil)).Elem(), InferenceProfileTimeoutsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*InferenceProfileTimeoutsPtrInput)(nil)).Elem(), InferenceProfileTimeoutsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ProvisionedModelThroughputTimeoutsInput)(nil)).Elem(), ProvisionedModelThroughputTimeoutsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ProvisionedModelThroughputTimeoutsPtrInput)(nil)).Elem(), ProvisionedModelThroughputTimeoutsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetAgentAgentVersionsAgentVersionSummaryInput)(nil)).Elem(), GetAgentAgentVersionsAgentVersionSummaryArgs{}) @@ -12082,6 +12497,12 @@ func init() { pulumi.RegisterOutputType(GuardrailWordPolicyConfigManagedWordListsConfigArrayOutput{}) pulumi.RegisterOutputType(GuardrailWordPolicyConfigWordsConfigOutput{}) pulumi.RegisterOutputType(GuardrailWordPolicyConfigWordsConfigArrayOutput{}) + pulumi.RegisterOutputType(InferenceProfileModelOutput{}) + pulumi.RegisterOutputType(InferenceProfileModelArrayOutput{}) + pulumi.RegisterOutputType(InferenceProfileModelSourceOutput{}) + pulumi.RegisterOutputType(InferenceProfileModelSourcePtrOutput{}) + pulumi.RegisterOutputType(InferenceProfileTimeoutsOutput{}) + pulumi.RegisterOutputType(InferenceProfileTimeoutsPtrOutput{}) pulumi.RegisterOutputType(ProvisionedModelThroughputTimeoutsOutput{}) pulumi.RegisterOutputType(ProvisionedModelThroughputTimeoutsPtrOutput{}) pulumi.RegisterOutputType(GetAgentAgentVersionsAgentVersionSummaryOutput{}) diff --git a/sdk/go/aws/cloudwatch/init.go b/sdk/go/aws/cloudwatch/init.go index d6bc1e87247..abe7f19d127 100644 --- a/sdk/go/aws/cloudwatch/init.go +++ b/sdk/go/aws/cloudwatch/init.go @@ -47,6 +47,8 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi r = &InternetMonitor{} case "aws:cloudwatch/logAccountPolicy:LogAccountPolicy": r = &LogAccountPolicy{} + case "aws:cloudwatch/logAnomalyDetector:LogAnomalyDetector": + r = &LogAnomalyDetector{} case "aws:cloudwatch/logDataProtectionPolicy:LogDataProtectionPolicy": r = &LogDataProtectionPolicy{} case "aws:cloudwatch/logDestination:LogDestination": @@ -147,6 +149,11 @@ func init() { "cloudwatch/logAccountPolicy", &module{version}, ) + pulumi.RegisterResourceModule( + "aws", + "cloudwatch/logAnomalyDetector", + &module{version}, + ) pulumi.RegisterResourceModule( "aws", "cloudwatch/logDataProtectionPolicy", diff --git a/sdk/go/aws/cloudwatch/logAnomalyDetector.go b/sdk/go/aws/cloudwatch/logAnomalyDetector.go new file mode 100644 index 00000000000..e32a51488e4 --- /dev/null +++ b/sdk/go/aws/cloudwatch/logAnomalyDetector.go @@ -0,0 +1,405 @@ +// 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 cloudwatch + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Resource for managing an AWS CloudWatch Logs Log Anomaly Detector. +// +// ## Example Usage +// +// ### Basic Usage +// +// ```go +// package main +// +// import ( +// +// "fmt" +// +// "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// var test []*cloudwatch.LogGroup +// for index := 0; index < 2; index++ { +// key0 := index +// val0 := index +// __res, err := cloudwatch.NewLogGroup(ctx, fmt.Sprintf("test-%v", key0), &cloudwatch.LogGroupArgs{ +// Name: pulumi.Sprintf("testing-%v", val0), +// }) +// if err != nil { +// return err +// } +// test = append(test, __res) +// } +// _, err = cloudwatch.NewLogAnomalyDetector(ctx, "test", &cloudwatch.LogAnomalyDetectorArgs{ +// DetectorName: pulumi.String("testing"), +// LogGroupArnLists: pulumi.StringArray{ +// test[0].Arn, +// }, +// AnomalyVisibilityTime: pulumi.Int(7), +// EvaluationFrequency: pulumi.String("TEN_MIN"), +// Enabled: pulumi.Bool(false), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// ## Import +// +// Using `pulumi import`, import CloudWatch Log Anomaly Detector using the `example_id_arg`. For example: +// +// ```sh +// $ pulumi import aws:cloudwatch/logAnomalyDetector:LogAnomalyDetector example log_anomaly_detector-arn-12345678 +// ``` +type LogAnomalyDetector struct { + pulumi.CustomResourceState + + // Number of days to have visibility on an anomaly. After this time period has elapsed for an anomaly, it will be automatically baselined and the anomaly detector will treat new occurrences of a similar anomaly as normal. Therefore, if you do not correct the cause of an anomaly during the time period specified in `anomalyVisibilityTime`, it will be considered normal going forward and will not be detected as an anomaly. Valid Range: Minimum value of 7. Maximum value of 90. + AnomalyVisibilityTime pulumi.IntOutput `pulumi:"anomalyVisibilityTime"` + // ARN of the log anomaly detector that you just created. + Arn pulumi.StringOutput `pulumi:"arn"` + // Name for this anomaly detector. + DetectorName pulumi.StringPtrOutput `pulumi:"detectorName"` + Enabled pulumi.BoolOutput `pulumi:"enabled"` + // Specifies how often the anomaly detector is to run and look for anomalies. Set this value according to the frequency that the log group receives new logs. For example, if the log group receives new log events every 10 minutes, then 15 minutes might be a good setting for `evaluationFrequency`. Valid Values: `ONE_MIN | FIVE_MIN | TEN_MIN | FIFTEEN_MIN | THIRTY_MIN | ONE_HOUR`. + EvaluationFrequency pulumi.StringPtrOutput `pulumi:"evaluationFrequency"` + // You can use this parameter to limit the anomaly detection model to examine only log events that match the pattern you specify here. For more information, see [Filter and Pattern Syntax](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/FilterAndPatternSyntax.html). + FilterPattern pulumi.StringPtrOutput `pulumi:"filterPattern"` + // Optionally assigns a AWS KMS key to secure this anomaly detector and its findings. If a key is assigned, the anomalies found and the model used by this detector are encrypted at rest with the key. If a key is assigned to an anomaly detector, a user must have permissions for both this key and for the anomaly detector to retrieve information about the anomalies that it finds. + KmsKeyId pulumi.StringPtrOutput `pulumi:"kmsKeyId"` + // Array containing the ARN of the log group that this anomaly detector will watch. You can specify only one log group ARN. + // + // The following arguments are optional: + LogGroupArnLists pulumi.StringArrayOutput `pulumi:"logGroupArnLists"` + Tags pulumi.StringMapOutput `pulumi:"tags"` + // Deprecated: Please use `tags` instead. + TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"` +} + +// NewLogAnomalyDetector registers a new resource with the given unique name, arguments, and options. +func NewLogAnomalyDetector(ctx *pulumi.Context, + name string, args *LogAnomalyDetectorArgs, opts ...pulumi.ResourceOption) (*LogAnomalyDetector, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Enabled == nil { + return nil, errors.New("invalid value for required argument 'Enabled'") + } + if args.LogGroupArnLists == nil { + return nil, errors.New("invalid value for required argument 'LogGroupArnLists'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource LogAnomalyDetector + err := ctx.RegisterResource("aws:cloudwatch/logAnomalyDetector:LogAnomalyDetector", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetLogAnomalyDetector gets an existing LogAnomalyDetector 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 GetLogAnomalyDetector(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *LogAnomalyDetectorState, opts ...pulumi.ResourceOption) (*LogAnomalyDetector, error) { + var resource LogAnomalyDetector + err := ctx.ReadResource("aws:cloudwatch/logAnomalyDetector:LogAnomalyDetector", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering LogAnomalyDetector resources. +type logAnomalyDetectorState struct { + // Number of days to have visibility on an anomaly. After this time period has elapsed for an anomaly, it will be automatically baselined and the anomaly detector will treat new occurrences of a similar anomaly as normal. Therefore, if you do not correct the cause of an anomaly during the time period specified in `anomalyVisibilityTime`, it will be considered normal going forward and will not be detected as an anomaly. Valid Range: Minimum value of 7. Maximum value of 90. + AnomalyVisibilityTime *int `pulumi:"anomalyVisibilityTime"` + // ARN of the log anomaly detector that you just created. + Arn *string `pulumi:"arn"` + // Name for this anomaly detector. + DetectorName *string `pulumi:"detectorName"` + Enabled *bool `pulumi:"enabled"` + // Specifies how often the anomaly detector is to run and look for anomalies. Set this value according to the frequency that the log group receives new logs. For example, if the log group receives new log events every 10 minutes, then 15 minutes might be a good setting for `evaluationFrequency`. Valid Values: `ONE_MIN | FIVE_MIN | TEN_MIN | FIFTEEN_MIN | THIRTY_MIN | ONE_HOUR`. + EvaluationFrequency *string `pulumi:"evaluationFrequency"` + // You can use this parameter to limit the anomaly detection model to examine only log events that match the pattern you specify here. For more information, see [Filter and Pattern Syntax](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/FilterAndPatternSyntax.html). + FilterPattern *string `pulumi:"filterPattern"` + // Optionally assigns a AWS KMS key to secure this anomaly detector and its findings. If a key is assigned, the anomalies found and the model used by this detector are encrypted at rest with the key. If a key is assigned to an anomaly detector, a user must have permissions for both this key and for the anomaly detector to retrieve information about the anomalies that it finds. + KmsKeyId *string `pulumi:"kmsKeyId"` + // Array containing the ARN of the log group that this anomaly detector will watch. You can specify only one log group ARN. + // + // The following arguments are optional: + LogGroupArnLists []string `pulumi:"logGroupArnLists"` + Tags map[string]string `pulumi:"tags"` + // Deprecated: Please use `tags` instead. + TagsAll map[string]string `pulumi:"tagsAll"` +} + +type LogAnomalyDetectorState struct { + // Number of days to have visibility on an anomaly. After this time period has elapsed for an anomaly, it will be automatically baselined and the anomaly detector will treat new occurrences of a similar anomaly as normal. Therefore, if you do not correct the cause of an anomaly during the time period specified in `anomalyVisibilityTime`, it will be considered normal going forward and will not be detected as an anomaly. Valid Range: Minimum value of 7. Maximum value of 90. + AnomalyVisibilityTime pulumi.IntPtrInput + // ARN of the log anomaly detector that you just created. + Arn pulumi.StringPtrInput + // Name for this anomaly detector. + DetectorName pulumi.StringPtrInput + Enabled pulumi.BoolPtrInput + // Specifies how often the anomaly detector is to run and look for anomalies. Set this value according to the frequency that the log group receives new logs. For example, if the log group receives new log events every 10 minutes, then 15 minutes might be a good setting for `evaluationFrequency`. Valid Values: `ONE_MIN | FIVE_MIN | TEN_MIN | FIFTEEN_MIN | THIRTY_MIN | ONE_HOUR`. + EvaluationFrequency pulumi.StringPtrInput + // You can use this parameter to limit the anomaly detection model to examine only log events that match the pattern you specify here. For more information, see [Filter and Pattern Syntax](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/FilterAndPatternSyntax.html). + FilterPattern pulumi.StringPtrInput + // Optionally assigns a AWS KMS key to secure this anomaly detector and its findings. If a key is assigned, the anomalies found and the model used by this detector are encrypted at rest with the key. If a key is assigned to an anomaly detector, a user must have permissions for both this key and for the anomaly detector to retrieve information about the anomalies that it finds. + KmsKeyId pulumi.StringPtrInput + // Array containing the ARN of the log group that this anomaly detector will watch. You can specify only one log group ARN. + // + // The following arguments are optional: + LogGroupArnLists pulumi.StringArrayInput + Tags pulumi.StringMapInput + // Deprecated: Please use `tags` instead. + TagsAll pulumi.StringMapInput +} + +func (LogAnomalyDetectorState) ElementType() reflect.Type { + return reflect.TypeOf((*logAnomalyDetectorState)(nil)).Elem() +} + +type logAnomalyDetectorArgs struct { + // Number of days to have visibility on an anomaly. After this time period has elapsed for an anomaly, it will be automatically baselined and the anomaly detector will treat new occurrences of a similar anomaly as normal. Therefore, if you do not correct the cause of an anomaly during the time period specified in `anomalyVisibilityTime`, it will be considered normal going forward and will not be detected as an anomaly. Valid Range: Minimum value of 7. Maximum value of 90. + AnomalyVisibilityTime *int `pulumi:"anomalyVisibilityTime"` + // Name for this anomaly detector. + DetectorName *string `pulumi:"detectorName"` + Enabled bool `pulumi:"enabled"` + // Specifies how often the anomaly detector is to run and look for anomalies. Set this value according to the frequency that the log group receives new logs. For example, if the log group receives new log events every 10 minutes, then 15 minutes might be a good setting for `evaluationFrequency`. Valid Values: `ONE_MIN | FIVE_MIN | TEN_MIN | FIFTEEN_MIN | THIRTY_MIN | ONE_HOUR`. + EvaluationFrequency *string `pulumi:"evaluationFrequency"` + // You can use this parameter to limit the anomaly detection model to examine only log events that match the pattern you specify here. For more information, see [Filter and Pattern Syntax](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/FilterAndPatternSyntax.html). + FilterPattern *string `pulumi:"filterPattern"` + // Optionally assigns a AWS KMS key to secure this anomaly detector and its findings. If a key is assigned, the anomalies found and the model used by this detector are encrypted at rest with the key. If a key is assigned to an anomaly detector, a user must have permissions for both this key and for the anomaly detector to retrieve information about the anomalies that it finds. + KmsKeyId *string `pulumi:"kmsKeyId"` + // Array containing the ARN of the log group that this anomaly detector will watch. You can specify only one log group ARN. + // + // The following arguments are optional: + LogGroupArnLists []string `pulumi:"logGroupArnLists"` + Tags map[string]string `pulumi:"tags"` +} + +// The set of arguments for constructing a LogAnomalyDetector resource. +type LogAnomalyDetectorArgs struct { + // Number of days to have visibility on an anomaly. After this time period has elapsed for an anomaly, it will be automatically baselined and the anomaly detector will treat new occurrences of a similar anomaly as normal. Therefore, if you do not correct the cause of an anomaly during the time period specified in `anomalyVisibilityTime`, it will be considered normal going forward and will not be detected as an anomaly. Valid Range: Minimum value of 7. Maximum value of 90. + AnomalyVisibilityTime pulumi.IntPtrInput + // Name for this anomaly detector. + DetectorName pulumi.StringPtrInput + Enabled pulumi.BoolInput + // Specifies how often the anomaly detector is to run and look for anomalies. Set this value according to the frequency that the log group receives new logs. For example, if the log group receives new log events every 10 minutes, then 15 minutes might be a good setting for `evaluationFrequency`. Valid Values: `ONE_MIN | FIVE_MIN | TEN_MIN | FIFTEEN_MIN | THIRTY_MIN | ONE_HOUR`. + EvaluationFrequency pulumi.StringPtrInput + // You can use this parameter to limit the anomaly detection model to examine only log events that match the pattern you specify here. For more information, see [Filter and Pattern Syntax](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/FilterAndPatternSyntax.html). + FilterPattern pulumi.StringPtrInput + // Optionally assigns a AWS KMS key to secure this anomaly detector and its findings. If a key is assigned, the anomalies found and the model used by this detector are encrypted at rest with the key. If a key is assigned to an anomaly detector, a user must have permissions for both this key and for the anomaly detector to retrieve information about the anomalies that it finds. + KmsKeyId pulumi.StringPtrInput + // Array containing the ARN of the log group that this anomaly detector will watch. You can specify only one log group ARN. + // + // The following arguments are optional: + LogGroupArnLists pulumi.StringArrayInput + Tags pulumi.StringMapInput +} + +func (LogAnomalyDetectorArgs) ElementType() reflect.Type { + return reflect.TypeOf((*logAnomalyDetectorArgs)(nil)).Elem() +} + +type LogAnomalyDetectorInput interface { + pulumi.Input + + ToLogAnomalyDetectorOutput() LogAnomalyDetectorOutput + ToLogAnomalyDetectorOutputWithContext(ctx context.Context) LogAnomalyDetectorOutput +} + +func (*LogAnomalyDetector) ElementType() reflect.Type { + return reflect.TypeOf((**LogAnomalyDetector)(nil)).Elem() +} + +func (i *LogAnomalyDetector) ToLogAnomalyDetectorOutput() LogAnomalyDetectorOutput { + return i.ToLogAnomalyDetectorOutputWithContext(context.Background()) +} + +func (i *LogAnomalyDetector) ToLogAnomalyDetectorOutputWithContext(ctx context.Context) LogAnomalyDetectorOutput { + return pulumi.ToOutputWithContext(ctx, i).(LogAnomalyDetectorOutput) +} + +// LogAnomalyDetectorArrayInput is an input type that accepts LogAnomalyDetectorArray and LogAnomalyDetectorArrayOutput values. +// You can construct a concrete instance of `LogAnomalyDetectorArrayInput` via: +// +// LogAnomalyDetectorArray{ LogAnomalyDetectorArgs{...} } +type LogAnomalyDetectorArrayInput interface { + pulumi.Input + + ToLogAnomalyDetectorArrayOutput() LogAnomalyDetectorArrayOutput + ToLogAnomalyDetectorArrayOutputWithContext(context.Context) LogAnomalyDetectorArrayOutput +} + +type LogAnomalyDetectorArray []LogAnomalyDetectorInput + +func (LogAnomalyDetectorArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*LogAnomalyDetector)(nil)).Elem() +} + +func (i LogAnomalyDetectorArray) ToLogAnomalyDetectorArrayOutput() LogAnomalyDetectorArrayOutput { + return i.ToLogAnomalyDetectorArrayOutputWithContext(context.Background()) +} + +func (i LogAnomalyDetectorArray) ToLogAnomalyDetectorArrayOutputWithContext(ctx context.Context) LogAnomalyDetectorArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(LogAnomalyDetectorArrayOutput) +} + +// LogAnomalyDetectorMapInput is an input type that accepts LogAnomalyDetectorMap and LogAnomalyDetectorMapOutput values. +// You can construct a concrete instance of `LogAnomalyDetectorMapInput` via: +// +// LogAnomalyDetectorMap{ "key": LogAnomalyDetectorArgs{...} } +type LogAnomalyDetectorMapInput interface { + pulumi.Input + + ToLogAnomalyDetectorMapOutput() LogAnomalyDetectorMapOutput + ToLogAnomalyDetectorMapOutputWithContext(context.Context) LogAnomalyDetectorMapOutput +} + +type LogAnomalyDetectorMap map[string]LogAnomalyDetectorInput + +func (LogAnomalyDetectorMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*LogAnomalyDetector)(nil)).Elem() +} + +func (i LogAnomalyDetectorMap) ToLogAnomalyDetectorMapOutput() LogAnomalyDetectorMapOutput { + return i.ToLogAnomalyDetectorMapOutputWithContext(context.Background()) +} + +func (i LogAnomalyDetectorMap) ToLogAnomalyDetectorMapOutputWithContext(ctx context.Context) LogAnomalyDetectorMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(LogAnomalyDetectorMapOutput) +} + +type LogAnomalyDetectorOutput struct{ *pulumi.OutputState } + +func (LogAnomalyDetectorOutput) ElementType() reflect.Type { + return reflect.TypeOf((**LogAnomalyDetector)(nil)).Elem() +} + +func (o LogAnomalyDetectorOutput) ToLogAnomalyDetectorOutput() LogAnomalyDetectorOutput { + return o +} + +func (o LogAnomalyDetectorOutput) ToLogAnomalyDetectorOutputWithContext(ctx context.Context) LogAnomalyDetectorOutput { + return o +} + +// Number of days to have visibility on an anomaly. After this time period has elapsed for an anomaly, it will be automatically baselined and the anomaly detector will treat new occurrences of a similar anomaly as normal. Therefore, if you do not correct the cause of an anomaly during the time period specified in `anomalyVisibilityTime`, it will be considered normal going forward and will not be detected as an anomaly. Valid Range: Minimum value of 7. Maximum value of 90. +func (o LogAnomalyDetectorOutput) AnomalyVisibilityTime() pulumi.IntOutput { + return o.ApplyT(func(v *LogAnomalyDetector) pulumi.IntOutput { return v.AnomalyVisibilityTime }).(pulumi.IntOutput) +} + +// ARN of the log anomaly detector that you just created. +func (o LogAnomalyDetectorOutput) Arn() pulumi.StringOutput { + return o.ApplyT(func(v *LogAnomalyDetector) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) +} + +// Name for this anomaly detector. +func (o LogAnomalyDetectorOutput) DetectorName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *LogAnomalyDetector) pulumi.StringPtrOutput { return v.DetectorName }).(pulumi.StringPtrOutput) +} + +func (o LogAnomalyDetectorOutput) Enabled() pulumi.BoolOutput { + return o.ApplyT(func(v *LogAnomalyDetector) pulumi.BoolOutput { return v.Enabled }).(pulumi.BoolOutput) +} + +// Specifies how often the anomaly detector is to run and look for anomalies. Set this value according to the frequency that the log group receives new logs. For example, if the log group receives new log events every 10 minutes, then 15 minutes might be a good setting for `evaluationFrequency`. Valid Values: `ONE_MIN | FIVE_MIN | TEN_MIN | FIFTEEN_MIN | THIRTY_MIN | ONE_HOUR`. +func (o LogAnomalyDetectorOutput) EvaluationFrequency() pulumi.StringPtrOutput { + return o.ApplyT(func(v *LogAnomalyDetector) pulumi.StringPtrOutput { return v.EvaluationFrequency }).(pulumi.StringPtrOutput) +} + +// You can use this parameter to limit the anomaly detection model to examine only log events that match the pattern you specify here. For more information, see [Filter and Pattern Syntax](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/FilterAndPatternSyntax.html). +func (o LogAnomalyDetectorOutput) FilterPattern() pulumi.StringPtrOutput { + return o.ApplyT(func(v *LogAnomalyDetector) pulumi.StringPtrOutput { return v.FilterPattern }).(pulumi.StringPtrOutput) +} + +// Optionally assigns a AWS KMS key to secure this anomaly detector and its findings. If a key is assigned, the anomalies found and the model used by this detector are encrypted at rest with the key. If a key is assigned to an anomaly detector, a user must have permissions for both this key and for the anomaly detector to retrieve information about the anomalies that it finds. +func (o LogAnomalyDetectorOutput) KmsKeyId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *LogAnomalyDetector) pulumi.StringPtrOutput { return v.KmsKeyId }).(pulumi.StringPtrOutput) +} + +// Array containing the ARN of the log group that this anomaly detector will watch. You can specify only one log group ARN. +// +// The following arguments are optional: +func (o LogAnomalyDetectorOutput) LogGroupArnLists() pulumi.StringArrayOutput { + return o.ApplyT(func(v *LogAnomalyDetector) pulumi.StringArrayOutput { return v.LogGroupArnLists }).(pulumi.StringArrayOutput) +} + +func (o LogAnomalyDetectorOutput) Tags() pulumi.StringMapOutput { + return o.ApplyT(func(v *LogAnomalyDetector) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) +} + +// Deprecated: Please use `tags` instead. +func (o LogAnomalyDetectorOutput) TagsAll() pulumi.StringMapOutput { + return o.ApplyT(func(v *LogAnomalyDetector) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput) +} + +type LogAnomalyDetectorArrayOutput struct{ *pulumi.OutputState } + +func (LogAnomalyDetectorArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*LogAnomalyDetector)(nil)).Elem() +} + +func (o LogAnomalyDetectorArrayOutput) ToLogAnomalyDetectorArrayOutput() LogAnomalyDetectorArrayOutput { + return o +} + +func (o LogAnomalyDetectorArrayOutput) ToLogAnomalyDetectorArrayOutputWithContext(ctx context.Context) LogAnomalyDetectorArrayOutput { + return o +} + +func (o LogAnomalyDetectorArrayOutput) Index(i pulumi.IntInput) LogAnomalyDetectorOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *LogAnomalyDetector { + return vs[0].([]*LogAnomalyDetector)[vs[1].(int)] + }).(LogAnomalyDetectorOutput) +} + +type LogAnomalyDetectorMapOutput struct{ *pulumi.OutputState } + +func (LogAnomalyDetectorMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*LogAnomalyDetector)(nil)).Elem() +} + +func (o LogAnomalyDetectorMapOutput) ToLogAnomalyDetectorMapOutput() LogAnomalyDetectorMapOutput { + return o +} + +func (o LogAnomalyDetectorMapOutput) ToLogAnomalyDetectorMapOutputWithContext(ctx context.Context) LogAnomalyDetectorMapOutput { + return o +} + +func (o LogAnomalyDetectorMapOutput) MapIndex(k pulumi.StringInput) LogAnomalyDetectorOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *LogAnomalyDetector { + return vs[0].(map[string]*LogAnomalyDetector)[vs[1].(string)] + }).(LogAnomalyDetectorOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*LogAnomalyDetectorInput)(nil)).Elem(), &LogAnomalyDetector{}) + pulumi.RegisterInputType(reflect.TypeOf((*LogAnomalyDetectorArrayInput)(nil)).Elem(), LogAnomalyDetectorArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*LogAnomalyDetectorMapInput)(nil)).Elem(), LogAnomalyDetectorMap{}) + pulumi.RegisterOutputType(LogAnomalyDetectorOutput{}) + pulumi.RegisterOutputType(LogAnomalyDetectorArrayOutput{}) + pulumi.RegisterOutputType(LogAnomalyDetectorMapOutput{}) +} diff --git a/sdk/go/aws/cognito/userPoolDomain.go b/sdk/go/aws/cognito/userPoolDomain.go index 261abc2f814..467cd299b8d 100644 --- a/sdk/go/aws/cognito/userPoolDomain.go +++ b/sdk/go/aws/cognito/userPoolDomain.go @@ -71,7 +71,7 @@ import ( // return err // } // main, err := cognito.NewUserPoolDomain(ctx, "main", &cognito.UserPoolDomainArgs{ -// Domain: pulumi.String("example-domain"), +// Domain: pulumi.String("auth.example.com"), // CertificateArn: pulumi.Any(cert.Arn), // UserPoolId: exampleUserPool.ID(), // }) diff --git a/sdk/go/aws/ebs/snapshotCopy.go b/sdk/go/aws/ebs/snapshotCopy.go index 58f7b27cba2..a8ecb4ba5d2 100644 --- a/sdk/go/aws/ebs/snapshotCopy.go +++ b/sdk/go/aws/ebs/snapshotCopy.go @@ -67,6 +67,8 @@ type SnapshotCopy struct { // Amazon Resource Name (ARN) of the EBS Snapshot. Arn pulumi.StringOutput `pulumi:"arn"` + // Specifies a completion duration to initiate a time-based snapshot copy. Time-based snapshot copy operations complete within the specified duration. Value must be between 15 and 2880 minutes, in 15 minute increments only. + CompletionDurationMinutes pulumi.IntPtrOutput `pulumi:"completionDurationMinutes"` // The data encryption key identifier for the snapshot. DataEncryptionKeyId pulumi.StringOutput `pulumi:"dataEncryptionKeyId"` // A description of what the snapshot is. @@ -139,6 +141,8 @@ func GetSnapshotCopy(ctx *pulumi.Context, type snapshotCopyState struct { // Amazon Resource Name (ARN) of the EBS Snapshot. Arn *string `pulumi:"arn"` + // Specifies a completion duration to initiate a time-based snapshot copy. Time-based snapshot copy operations complete within the specified duration. Value must be between 15 and 2880 minutes, in 15 minute increments only. + CompletionDurationMinutes *int `pulumi:"completionDurationMinutes"` // The data encryption key identifier for the snapshot. DataEncryptionKeyId *string `pulumi:"dataEncryptionKeyId"` // A description of what the snapshot is. @@ -176,6 +180,8 @@ type snapshotCopyState struct { type SnapshotCopyState struct { // Amazon Resource Name (ARN) of the EBS Snapshot. Arn pulumi.StringPtrInput + // Specifies a completion duration to initiate a time-based snapshot copy. Time-based snapshot copy operations complete within the specified duration. Value must be between 15 and 2880 minutes, in 15 minute increments only. + CompletionDurationMinutes pulumi.IntPtrInput // The data encryption key identifier for the snapshot. DataEncryptionKeyId pulumi.StringPtrInput // A description of what the snapshot is. @@ -215,6 +221,8 @@ func (SnapshotCopyState) ElementType() reflect.Type { } type snapshotCopyArgs struct { + // Specifies a completion duration to initiate a time-based snapshot copy. Time-based snapshot copy operations complete within the specified duration. Value must be between 15 and 2880 minutes, in 15 minute increments only. + CompletionDurationMinutes *int `pulumi:"completionDurationMinutes"` // A description of what the snapshot is. Description *string `pulumi:"description"` // Whether the snapshot is encrypted. @@ -237,6 +245,8 @@ type snapshotCopyArgs struct { // The set of arguments for constructing a SnapshotCopy resource. type SnapshotCopyArgs struct { + // Specifies a completion duration to initiate a time-based snapshot copy. Time-based snapshot copy operations complete within the specified duration. Value must be between 15 and 2880 minutes, in 15 minute increments only. + CompletionDurationMinutes pulumi.IntPtrInput // A description of what the snapshot is. Description pulumi.StringPtrInput // Whether the snapshot is encrypted. @@ -349,6 +359,11 @@ func (o SnapshotCopyOutput) Arn() pulumi.StringOutput { return o.ApplyT(func(v *SnapshotCopy) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) } +// Specifies a completion duration to initiate a time-based snapshot copy. Time-based snapshot copy operations complete within the specified duration. Value must be between 15 and 2880 minutes, in 15 minute increments only. +func (o SnapshotCopyOutput) CompletionDurationMinutes() pulumi.IntPtrOutput { + return o.ApplyT(func(v *SnapshotCopy) pulumi.IntPtrOutput { return v.CompletionDurationMinutes }).(pulumi.IntPtrOutput) +} + // The data encryption key identifier for the snapshot. func (o SnapshotCopyOutput) DataEncryptionKeyId() pulumi.StringOutput { return o.ApplyT(func(v *SnapshotCopy) pulumi.StringOutput { return v.DataEncryptionKeyId }).(pulumi.StringOutput) diff --git a/sdk/go/aws/ec2/instance.go b/sdk/go/aws/ec2/instance.go index 9bd156c9fc0..7164c2b45a1 100644 --- a/sdk/go/aws/ec2/instance.go +++ b/sdk/go/aws/ec2/instance.go @@ -354,6 +354,8 @@ type Instance struct { EbsBlockDevices InstanceEbsBlockDeviceArrayOutput `pulumi:"ebsBlockDevices"` // If true, the launched EC2 instance will be EBS-optimized. Note that if this is not set on an instance type that is optimized by default then this will show as disabled but if the instance type is optimized by default then there is no need to set this and there is no effect to disabling it. See the [EBS Optimized section](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSOptimized.html) of the AWS User Guide for more information. EbsOptimized pulumi.BoolOutput `pulumi:"ebsOptimized"` + // Whether to assign a primary IPv6 Global Unicast Address (GUA) to the instance when launched in a dual-stack or IPv6-only subnet. A primary IPv6 address ensures a consistent IPv6 address for the instance and is automatically assigned by AWS to the ENI. Once enabled, the first IPv6 GUA becomes the primary IPv6 address and cannot be disabled. The primary IPv6 address remains until the instance is terminated or the ENI is detached. Disabling `enablePrimaryIpv6` after it has been enabled forces recreation of the instance. + EnablePrimaryIpv6 pulumi.BoolOutput `pulumi:"enablePrimaryIpv6"` // Enable Nitro Enclaves on launched instances. See Enclave Options below for more details. EnclaveOptions InstanceEnclaveOptionsOutput `pulumi:"enclaveOptions"` // One or more configuration blocks to customize Ephemeral (also known as "Instance Store") volumes on the instance. See Block Devices below for details. When accessing this as an attribute reference, it is a set of objects. @@ -514,6 +516,8 @@ type instanceState struct { EbsBlockDevices []InstanceEbsBlockDevice `pulumi:"ebsBlockDevices"` // If true, the launched EC2 instance will be EBS-optimized. Note that if this is not set on an instance type that is optimized by default then this will show as disabled but if the instance type is optimized by default then there is no need to set this and there is no effect to disabling it. See the [EBS Optimized section](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSOptimized.html) of the AWS User Guide for more information. EbsOptimized *bool `pulumi:"ebsOptimized"` + // Whether to assign a primary IPv6 Global Unicast Address (GUA) to the instance when launched in a dual-stack or IPv6-only subnet. A primary IPv6 address ensures a consistent IPv6 address for the instance and is automatically assigned by AWS to the ENI. Once enabled, the first IPv6 GUA becomes the primary IPv6 address and cannot be disabled. The primary IPv6 address remains until the instance is terminated or the ENI is detached. Disabling `enablePrimaryIpv6` after it has been enabled forces recreation of the instance. + EnablePrimaryIpv6 *bool `pulumi:"enablePrimaryIpv6"` // Enable Nitro Enclaves on launched instances. See Enclave Options below for more details. EnclaveOptions *InstanceEnclaveOptions `pulumi:"enclaveOptions"` // One or more configuration blocks to customize Ephemeral (also known as "Instance Store") volumes on the instance. See Block Devices below for details. When accessing this as an attribute reference, it is a set of objects. @@ -645,6 +649,8 @@ type InstanceState struct { EbsBlockDevices InstanceEbsBlockDeviceArrayInput // If true, the launched EC2 instance will be EBS-optimized. Note that if this is not set on an instance type that is optimized by default then this will show as disabled but if the instance type is optimized by default then there is no need to set this and there is no effect to disabling it. See the [EBS Optimized section](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSOptimized.html) of the AWS User Guide for more information. EbsOptimized pulumi.BoolPtrInput + // Whether to assign a primary IPv6 Global Unicast Address (GUA) to the instance when launched in a dual-stack or IPv6-only subnet. A primary IPv6 address ensures a consistent IPv6 address for the instance and is automatically assigned by AWS to the ENI. Once enabled, the first IPv6 GUA becomes the primary IPv6 address and cannot be disabled. The primary IPv6 address remains until the instance is terminated or the ENI is detached. Disabling `enablePrimaryIpv6` after it has been enabled forces recreation of the instance. + EnablePrimaryIpv6 pulumi.BoolPtrInput // Enable Nitro Enclaves on launched instances. See Enclave Options below for more details. EnclaveOptions InstanceEnclaveOptionsPtrInput // One or more configuration blocks to customize Ephemeral (also known as "Instance Store") volumes on the instance. See Block Devices below for details. When accessing this as an attribute reference, it is a set of objects. @@ -778,6 +784,8 @@ type instanceArgs struct { EbsBlockDevices []InstanceEbsBlockDevice `pulumi:"ebsBlockDevices"` // If true, the launched EC2 instance will be EBS-optimized. Note that if this is not set on an instance type that is optimized by default then this will show as disabled but if the instance type is optimized by default then there is no need to set this and there is no effect to disabling it. See the [EBS Optimized section](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSOptimized.html) of the AWS User Guide for more information. EbsOptimized *bool `pulumi:"ebsOptimized"` + // Whether to assign a primary IPv6 Global Unicast Address (GUA) to the instance when launched in a dual-stack or IPv6-only subnet. A primary IPv6 address ensures a consistent IPv6 address for the instance and is automatically assigned by AWS to the ENI. Once enabled, the first IPv6 GUA becomes the primary IPv6 address and cannot be disabled. The primary IPv6 address remains until the instance is terminated or the ENI is detached. Disabling `enablePrimaryIpv6` after it has been enabled forces recreation of the instance. + EnablePrimaryIpv6 *bool `pulumi:"enablePrimaryIpv6"` // Enable Nitro Enclaves on launched instances. See Enclave Options below for more details. EnclaveOptions *InstanceEnclaveOptions `pulumi:"enclaveOptions"` // One or more configuration blocks to customize Ephemeral (also known as "Instance Store") volumes on the instance. See Block Devices below for details. When accessing this as an attribute reference, it is a set of objects. @@ -886,6 +894,8 @@ type InstanceArgs struct { EbsBlockDevices InstanceEbsBlockDeviceArrayInput // If true, the launched EC2 instance will be EBS-optimized. Note that if this is not set on an instance type that is optimized by default then this will show as disabled but if the instance type is optimized by default then there is no need to set this and there is no effect to disabling it. See the [EBS Optimized section](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSOptimized.html) of the AWS User Guide for more information. EbsOptimized pulumi.BoolPtrInput + // Whether to assign a primary IPv6 Global Unicast Address (GUA) to the instance when launched in a dual-stack or IPv6-only subnet. A primary IPv6 address ensures a consistent IPv6 address for the instance and is automatically assigned by AWS to the ENI. Once enabled, the first IPv6 GUA becomes the primary IPv6 address and cannot be disabled. The primary IPv6 address remains until the instance is terminated or the ENI is detached. Disabling `enablePrimaryIpv6` after it has been enabled forces recreation of the instance. + EnablePrimaryIpv6 pulumi.BoolPtrInput // Enable Nitro Enclaves on launched instances. See Enclave Options below for more details. EnclaveOptions InstanceEnclaveOptionsPtrInput // One or more configuration blocks to customize Ephemeral (also known as "Instance Store") volumes on the instance. See Block Devices below for details. When accessing this as an attribute reference, it is a set of objects. @@ -1122,6 +1132,11 @@ func (o InstanceOutput) EbsOptimized() pulumi.BoolOutput { return o.ApplyT(func(v *Instance) pulumi.BoolOutput { return v.EbsOptimized }).(pulumi.BoolOutput) } +// Whether to assign a primary IPv6 Global Unicast Address (GUA) to the instance when launched in a dual-stack or IPv6-only subnet. A primary IPv6 address ensures a consistent IPv6 address for the instance and is automatically assigned by AWS to the ENI. Once enabled, the first IPv6 GUA becomes the primary IPv6 address and cannot be disabled. The primary IPv6 address remains until the instance is terminated or the ENI is detached. Disabling `enablePrimaryIpv6` after it has been enabled forces recreation of the instance. +func (o InstanceOutput) EnablePrimaryIpv6() pulumi.BoolOutput { + return o.ApplyT(func(v *Instance) pulumi.BoolOutput { return v.EnablePrimaryIpv6 }).(pulumi.BoolOutput) +} + // Enable Nitro Enclaves on launched instances. See Enclave Options below for more details. func (o InstanceOutput) EnclaveOptions() InstanceEnclaveOptionsOutput { return o.ApplyT(func(v *Instance) InstanceEnclaveOptionsOutput { return v.EnclaveOptions }).(InstanceEnclaveOptionsOutput) diff --git a/sdk/go/aws/ec2/networkInterface.go b/sdk/go/aws/ec2/networkInterface.go index f2f2cbff0a8..4624b6d6c31 100644 --- a/sdk/go/aws/ec2/networkInterface.go +++ b/sdk/go/aws/ec2/networkInterface.go @@ -85,6 +85,8 @@ type NetworkInterface struct { Attachments NetworkInterfaceAttachmentTypeArrayOutput `pulumi:"attachments"` // Description for the network interface. Description pulumi.StringPtrOutput `pulumi:"description"` + // Enables assigning a primary IPv6 Global Unicast Address (GUA) to the network interface (ENI) in dual-stack or IPv6-only subnets. This ensures the instance attached to the ENI retains a consistent IPv6 address. Once enabled, the first IPv6 GUA becomes the primary IPv6 address and cannot be disabled. The primary IPv6 address remains assigned until the instance is terminated or the ENI is detached. Enabling and subsequent disabling forces recreation of the ENI. + EnablePrimaryIpv6 pulumi.BoolOutput `pulumi:"enablePrimaryIpv6"` // Type of network interface to create. Set to `efa` for Elastic Fabric Adapter. Changing `interfaceType` will cause the resource to be destroyed and re-created. InterfaceType pulumi.StringOutput `pulumi:"interfaceType"` // Number of IPv4 prefixes that AWS automatically assigns to the network interface. @@ -93,7 +95,7 @@ type NetworkInterface struct { Ipv4Prefixes pulumi.StringArrayOutput `pulumi:"ipv4Prefixes"` // Number of IPv6 addresses to assign to a network interface. You can't use this option if specifying specific `ipv6Addresses`. If your subnet has the AssignIpv6AddressOnCreation attribute set to `true`, you can specify `0` to override this setting. Ipv6AddressCount pulumi.IntOutput `pulumi:"ipv6AddressCount"` - // Whether `ipv6AddressList` is allowed and controls the IPs to assign to the ENI and `ipv6Addresses` and `ipv6AddressCount` become read-only. Default false. + // Whether `ipv6AddressList` is allowed and controls the IPs to assign to the ENI and `ipv6Addresses` and `ipv6AddressCount` become read-only. Default is `false`. Ipv6AddressListEnabled pulumi.BoolPtrOutput `pulumi:"ipv6AddressListEnabled"` // List of private IPs to assign to the ENI in sequential order. Ipv6AddressLists pulumi.StringArrayOutput `pulumi:"ipv6AddressLists"` @@ -111,7 +113,7 @@ type NetworkInterface struct { // Private DNS name of the network interface (IPv4). PrivateDnsName pulumi.StringOutput `pulumi:"privateDnsName"` PrivateIp pulumi.StringOutput `pulumi:"privateIp"` - // Whether `privateIpList` is allowed and controls the IPs to assign to the ENI and `privateIps` and `privateIpsCount` become read-only. Default false. + // Whether `privateIpList` is allowed and controls the IPs to assign to the ENI and `privateIps` and `privateIpsCount` become read-only. Default is `false`. PrivateIpListEnabled pulumi.BoolPtrOutput `pulumi:"privateIpListEnabled"` // List of private IPs to assign to the ENI in sequential order. Requires setting `privateIpListEnabled` to `true`. PrivateIpLists pulumi.StringArrayOutput `pulumi:"privateIpLists"` @@ -174,6 +176,8 @@ type networkInterfaceState struct { Attachments []NetworkInterfaceAttachmentType `pulumi:"attachments"` // Description for the network interface. Description *string `pulumi:"description"` + // Enables assigning a primary IPv6 Global Unicast Address (GUA) to the network interface (ENI) in dual-stack or IPv6-only subnets. This ensures the instance attached to the ENI retains a consistent IPv6 address. Once enabled, the first IPv6 GUA becomes the primary IPv6 address and cannot be disabled. The primary IPv6 address remains assigned until the instance is terminated or the ENI is detached. Enabling and subsequent disabling forces recreation of the ENI. + EnablePrimaryIpv6 *bool `pulumi:"enablePrimaryIpv6"` // Type of network interface to create. Set to `efa` for Elastic Fabric Adapter. Changing `interfaceType` will cause the resource to be destroyed and re-created. InterfaceType *string `pulumi:"interfaceType"` // Number of IPv4 prefixes that AWS automatically assigns to the network interface. @@ -182,7 +186,7 @@ type networkInterfaceState struct { Ipv4Prefixes []string `pulumi:"ipv4Prefixes"` // Number of IPv6 addresses to assign to a network interface. You can't use this option if specifying specific `ipv6Addresses`. If your subnet has the AssignIpv6AddressOnCreation attribute set to `true`, you can specify `0` to override this setting. Ipv6AddressCount *int `pulumi:"ipv6AddressCount"` - // Whether `ipv6AddressList` is allowed and controls the IPs to assign to the ENI and `ipv6Addresses` and `ipv6AddressCount` become read-only. Default false. + // Whether `ipv6AddressList` is allowed and controls the IPs to assign to the ENI and `ipv6Addresses` and `ipv6AddressCount` become read-only. Default is `false`. Ipv6AddressListEnabled *bool `pulumi:"ipv6AddressListEnabled"` // List of private IPs to assign to the ENI in sequential order. Ipv6AddressLists []string `pulumi:"ipv6AddressLists"` @@ -200,7 +204,7 @@ type networkInterfaceState struct { // Private DNS name of the network interface (IPv4). PrivateDnsName *string `pulumi:"privateDnsName"` PrivateIp *string `pulumi:"privateIp"` - // Whether `privateIpList` is allowed and controls the IPs to assign to the ENI and `privateIps` and `privateIpsCount` become read-only. Default false. + // Whether `privateIpList` is allowed and controls the IPs to assign to the ENI and `privateIps` and `privateIpsCount` become read-only. Default is `false`. PrivateIpListEnabled *bool `pulumi:"privateIpListEnabled"` // List of private IPs to assign to the ENI in sequential order. Requires setting `privateIpListEnabled` to `true`. PrivateIpLists []string `pulumi:"privateIpLists"` @@ -231,6 +235,8 @@ type NetworkInterfaceState struct { Attachments NetworkInterfaceAttachmentTypeArrayInput // Description for the network interface. Description pulumi.StringPtrInput + // Enables assigning a primary IPv6 Global Unicast Address (GUA) to the network interface (ENI) in dual-stack or IPv6-only subnets. This ensures the instance attached to the ENI retains a consistent IPv6 address. Once enabled, the first IPv6 GUA becomes the primary IPv6 address and cannot be disabled. The primary IPv6 address remains assigned until the instance is terminated or the ENI is detached. Enabling and subsequent disabling forces recreation of the ENI. + EnablePrimaryIpv6 pulumi.BoolPtrInput // Type of network interface to create. Set to `efa` for Elastic Fabric Adapter. Changing `interfaceType` will cause the resource to be destroyed and re-created. InterfaceType pulumi.StringPtrInput // Number of IPv4 prefixes that AWS automatically assigns to the network interface. @@ -239,7 +245,7 @@ type NetworkInterfaceState struct { Ipv4Prefixes pulumi.StringArrayInput // Number of IPv6 addresses to assign to a network interface. You can't use this option if specifying specific `ipv6Addresses`. If your subnet has the AssignIpv6AddressOnCreation attribute set to `true`, you can specify `0` to override this setting. Ipv6AddressCount pulumi.IntPtrInput - // Whether `ipv6AddressList` is allowed and controls the IPs to assign to the ENI and `ipv6Addresses` and `ipv6AddressCount` become read-only. Default false. + // Whether `ipv6AddressList` is allowed and controls the IPs to assign to the ENI and `ipv6Addresses` and `ipv6AddressCount` become read-only. Default is `false`. Ipv6AddressListEnabled pulumi.BoolPtrInput // List of private IPs to assign to the ENI in sequential order. Ipv6AddressLists pulumi.StringArrayInput @@ -257,7 +263,7 @@ type NetworkInterfaceState struct { // Private DNS name of the network interface (IPv4). PrivateDnsName pulumi.StringPtrInput PrivateIp pulumi.StringPtrInput - // Whether `privateIpList` is allowed and controls the IPs to assign to the ENI and `privateIps` and `privateIpsCount` become read-only. Default false. + // Whether `privateIpList` is allowed and controls the IPs to assign to the ENI and `privateIps` and `privateIpsCount` become read-only. Default is `false`. PrivateIpListEnabled pulumi.BoolPtrInput // List of private IPs to assign to the ENI in sequential order. Requires setting `privateIpListEnabled` to `true`. PrivateIpLists pulumi.StringArrayInput @@ -290,6 +296,8 @@ type networkInterfaceArgs struct { Attachments []NetworkInterfaceAttachmentType `pulumi:"attachments"` // Description for the network interface. Description *string `pulumi:"description"` + // Enables assigning a primary IPv6 Global Unicast Address (GUA) to the network interface (ENI) in dual-stack or IPv6-only subnets. This ensures the instance attached to the ENI retains a consistent IPv6 address. Once enabled, the first IPv6 GUA becomes the primary IPv6 address and cannot be disabled. The primary IPv6 address remains assigned until the instance is terminated or the ENI is detached. Enabling and subsequent disabling forces recreation of the ENI. + EnablePrimaryIpv6 *bool `pulumi:"enablePrimaryIpv6"` // Type of network interface to create. Set to `efa` for Elastic Fabric Adapter. Changing `interfaceType` will cause the resource to be destroyed and re-created. InterfaceType *string `pulumi:"interfaceType"` // Number of IPv4 prefixes that AWS automatically assigns to the network interface. @@ -298,7 +306,7 @@ type networkInterfaceArgs struct { Ipv4Prefixes []string `pulumi:"ipv4Prefixes"` // Number of IPv6 addresses to assign to a network interface. You can't use this option if specifying specific `ipv6Addresses`. If your subnet has the AssignIpv6AddressOnCreation attribute set to `true`, you can specify `0` to override this setting. Ipv6AddressCount *int `pulumi:"ipv6AddressCount"` - // Whether `ipv6AddressList` is allowed and controls the IPs to assign to the ENI and `ipv6Addresses` and `ipv6AddressCount` become read-only. Default false. + // Whether `ipv6AddressList` is allowed and controls the IPs to assign to the ENI and `ipv6Addresses` and `ipv6AddressCount` become read-only. Default is `false`. Ipv6AddressListEnabled *bool `pulumi:"ipv6AddressListEnabled"` // List of private IPs to assign to the ENI in sequential order. Ipv6AddressLists []string `pulumi:"ipv6AddressLists"` @@ -309,7 +317,7 @@ type networkInterfaceArgs struct { // One or more IPv6 prefixes assigned to the network interface. Ipv6Prefixes []string `pulumi:"ipv6Prefixes"` PrivateIp *string `pulumi:"privateIp"` - // Whether `privateIpList` is allowed and controls the IPs to assign to the ENI and `privateIps` and `privateIpsCount` become read-only. Default false. + // Whether `privateIpList` is allowed and controls the IPs to assign to the ENI and `privateIps` and `privateIpsCount` become read-only. Default is `false`. PrivateIpListEnabled *bool `pulumi:"privateIpListEnabled"` // List of private IPs to assign to the ENI in sequential order. Requires setting `privateIpListEnabled` to `true`. PrivateIpLists []string `pulumi:"privateIpLists"` @@ -335,6 +343,8 @@ type NetworkInterfaceArgs struct { Attachments NetworkInterfaceAttachmentTypeArrayInput // Description for the network interface. Description pulumi.StringPtrInput + // Enables assigning a primary IPv6 Global Unicast Address (GUA) to the network interface (ENI) in dual-stack or IPv6-only subnets. This ensures the instance attached to the ENI retains a consistent IPv6 address. Once enabled, the first IPv6 GUA becomes the primary IPv6 address and cannot be disabled. The primary IPv6 address remains assigned until the instance is terminated or the ENI is detached. Enabling and subsequent disabling forces recreation of the ENI. + EnablePrimaryIpv6 pulumi.BoolPtrInput // Type of network interface to create. Set to `efa` for Elastic Fabric Adapter. Changing `interfaceType` will cause the resource to be destroyed and re-created. InterfaceType pulumi.StringPtrInput // Number of IPv4 prefixes that AWS automatically assigns to the network interface. @@ -343,7 +353,7 @@ type NetworkInterfaceArgs struct { Ipv4Prefixes pulumi.StringArrayInput // Number of IPv6 addresses to assign to a network interface. You can't use this option if specifying specific `ipv6Addresses`. If your subnet has the AssignIpv6AddressOnCreation attribute set to `true`, you can specify `0` to override this setting. Ipv6AddressCount pulumi.IntPtrInput - // Whether `ipv6AddressList` is allowed and controls the IPs to assign to the ENI and `ipv6Addresses` and `ipv6AddressCount` become read-only. Default false. + // Whether `ipv6AddressList` is allowed and controls the IPs to assign to the ENI and `ipv6Addresses` and `ipv6AddressCount` become read-only. Default is `false`. Ipv6AddressListEnabled pulumi.BoolPtrInput // List of private IPs to assign to the ENI in sequential order. Ipv6AddressLists pulumi.StringArrayInput @@ -354,7 +364,7 @@ type NetworkInterfaceArgs struct { // One or more IPv6 prefixes assigned to the network interface. Ipv6Prefixes pulumi.StringArrayInput PrivateIp pulumi.StringPtrInput - // Whether `privateIpList` is allowed and controls the IPs to assign to the ENI and `privateIps` and `privateIpsCount` become read-only. Default false. + // Whether `privateIpList` is allowed and controls the IPs to assign to the ENI and `privateIps` and `privateIpsCount` become read-only. Default is `false`. PrivateIpListEnabled pulumi.BoolPtrInput // List of private IPs to assign to the ENI in sequential order. Requires setting `privateIpListEnabled` to `true`. PrivateIpLists pulumi.StringArrayInput @@ -476,6 +486,11 @@ func (o NetworkInterfaceOutput) Description() pulumi.StringPtrOutput { return o.ApplyT(func(v *NetworkInterface) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) } +// Enables assigning a primary IPv6 Global Unicast Address (GUA) to the network interface (ENI) in dual-stack or IPv6-only subnets. This ensures the instance attached to the ENI retains a consistent IPv6 address. Once enabled, the first IPv6 GUA becomes the primary IPv6 address and cannot be disabled. The primary IPv6 address remains assigned until the instance is terminated or the ENI is detached. Enabling and subsequent disabling forces recreation of the ENI. +func (o NetworkInterfaceOutput) EnablePrimaryIpv6() pulumi.BoolOutput { + return o.ApplyT(func(v *NetworkInterface) pulumi.BoolOutput { return v.EnablePrimaryIpv6 }).(pulumi.BoolOutput) +} + // Type of network interface to create. Set to `efa` for Elastic Fabric Adapter. Changing `interfaceType` will cause the resource to be destroyed and re-created. func (o NetworkInterfaceOutput) InterfaceType() pulumi.StringOutput { return o.ApplyT(func(v *NetworkInterface) pulumi.StringOutput { return v.InterfaceType }).(pulumi.StringOutput) @@ -496,7 +511,7 @@ func (o NetworkInterfaceOutput) Ipv6AddressCount() pulumi.IntOutput { return o.ApplyT(func(v *NetworkInterface) pulumi.IntOutput { return v.Ipv6AddressCount }).(pulumi.IntOutput) } -// Whether `ipv6AddressList` is allowed and controls the IPs to assign to the ENI and `ipv6Addresses` and `ipv6AddressCount` become read-only. Default false. +// Whether `ipv6AddressList` is allowed and controls the IPs to assign to the ENI and `ipv6Addresses` and `ipv6AddressCount` become read-only. Default is `false`. func (o NetworkInterfaceOutput) Ipv6AddressListEnabled() pulumi.BoolPtrOutput { return o.ApplyT(func(v *NetworkInterface) pulumi.BoolPtrOutput { return v.Ipv6AddressListEnabled }).(pulumi.BoolPtrOutput) } @@ -544,7 +559,7 @@ func (o NetworkInterfaceOutput) PrivateIp() pulumi.StringOutput { return o.ApplyT(func(v *NetworkInterface) pulumi.StringOutput { return v.PrivateIp }).(pulumi.StringOutput) } -// Whether `privateIpList` is allowed and controls the IPs to assign to the ENI and `privateIps` and `privateIpsCount` become read-only. Default false. +// Whether `privateIpList` is allowed and controls the IPs to assign to the ENI and `privateIps` and `privateIpsCount` become read-only. Default is `false`. func (o NetworkInterfaceOutput) PrivateIpListEnabled() pulumi.BoolPtrOutput { return o.ApplyT(func(v *NetworkInterface) pulumi.BoolPtrOutput { return v.PrivateIpListEnabled }).(pulumi.BoolPtrOutput) } diff --git a/sdk/go/aws/ec2/pulumiTypes.go b/sdk/go/aws/ec2/pulumiTypes.go index 0f7d636e339..0cec7a0da57 100644 --- a/sdk/go/aws/ec2/pulumiTypes.go +++ b/sdk/go/aws/ec2/pulumiTypes.go @@ -14025,12 +14025,9 @@ func (o LaunchTemplateMonitoringPtrOutput) Enabled() pulumi.BoolPtrOutput { } type LaunchTemplateNetworkInterface struct { - // Associate a Carrier IP address with `eth0` for a new network interface. - // Use this option when you launch an instance in a Wavelength Zone and want to associate a Carrier IP address with the network interface. - // Boolean value, can be left unset. + // Associate a Carrier IP address with `eth0` for a new network interface. Use this option when you launch an instance in a Wavelength Zone and want to associate a Carrier IP address with the network interface. Boolean value, can be left unset. AssociateCarrierIpAddress *string `pulumi:"associateCarrierIpAddress"` - // Associate a public ip address with the network interface. - // Boolean value, can be left unset. + // Associate a public ip address with the network interface. Boolean value, can be left unset. AssociatePublicIpAddress *string `pulumi:"associatePublicIpAddress"` // Whether the network interface should be destroyed on instance termination. DeleteOnTermination *string `pulumi:"deleteOnTermination"` @@ -14082,12 +14079,9 @@ type LaunchTemplateNetworkInterfaceInput interface { } type LaunchTemplateNetworkInterfaceArgs struct { - // Associate a Carrier IP address with `eth0` for a new network interface. - // Use this option when you launch an instance in a Wavelength Zone and want to associate a Carrier IP address with the network interface. - // Boolean value, can be left unset. + // Associate a Carrier IP address with `eth0` for a new network interface. Use this option when you launch an instance in a Wavelength Zone and want to associate a Carrier IP address with the network interface. Boolean value, can be left unset. AssociateCarrierIpAddress pulumi.StringPtrInput `pulumi:"associateCarrierIpAddress"` - // Associate a public ip address with the network interface. - // Boolean value, can be left unset. + // Associate a public ip address with the network interface. Boolean value, can be left unset. AssociatePublicIpAddress pulumi.StringPtrInput `pulumi:"associatePublicIpAddress"` // Whether the network interface should be destroyed on instance termination. DeleteOnTermination pulumi.StringPtrInput `pulumi:"deleteOnTermination"` @@ -14178,15 +14172,12 @@ func (o LaunchTemplateNetworkInterfaceOutput) ToLaunchTemplateNetworkInterfaceOu return o } -// Associate a Carrier IP address with `eth0` for a new network interface. -// Use this option when you launch an instance in a Wavelength Zone and want to associate a Carrier IP address with the network interface. -// Boolean value, can be left unset. +// Associate a Carrier IP address with `eth0` for a new network interface. Use this option when you launch an instance in a Wavelength Zone and want to associate a Carrier IP address with the network interface. Boolean value, can be left unset. func (o LaunchTemplateNetworkInterfaceOutput) AssociateCarrierIpAddress() pulumi.StringPtrOutput { return o.ApplyT(func(v LaunchTemplateNetworkInterface) *string { return v.AssociateCarrierIpAddress }).(pulumi.StringPtrOutput) } -// Associate a public ip address with the network interface. -// Boolean value, can be left unset. +// Associate a public ip address with the network interface. Boolean value, can be left unset. func (o LaunchTemplateNetworkInterfaceOutput) AssociatePublicIpAddress() pulumi.StringPtrOutput { return o.ApplyT(func(v LaunchTemplateNetworkInterface) *string { return v.AssociatePublicIpAddress }).(pulumi.StringPtrOutput) } diff --git a/sdk/go/aws/ec2/spotInstanceRequest.go b/sdk/go/aws/ec2/spotInstanceRequest.go index 03bd147ac09..0830e47292c 100644 --- a/sdk/go/aws/ec2/spotInstanceRequest.go +++ b/sdk/go/aws/ec2/spotInstanceRequest.go @@ -106,6 +106,8 @@ type SpotInstanceRequest struct { EbsBlockDevices SpotInstanceRequestEbsBlockDeviceArrayOutput `pulumi:"ebsBlockDevices"` // If true, the launched EC2 instance will be EBS-optimized. Note that if this is not set on an instance type that is optimized by default then this will show as disabled but if the instance type is optimized by default then there is no need to set this and there is no effect to disabling it. See the [EBS Optimized section](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSOptimized.html) of the AWS User Guide for more information. EbsOptimized pulumi.BoolOutput `pulumi:"ebsOptimized"` + // Whether to assign a primary IPv6 Global Unicast Address (GUA) to the instance when launched in a dual-stack or IPv6-only subnet. A primary IPv6 address ensures a consistent IPv6 address for the instance and is automatically assigned by AWS to the ENI. Once enabled, the first IPv6 GUA becomes the primary IPv6 address and cannot be disabled. The primary IPv6 address remains until the instance is terminated or the ENI is detached. Disabling `enablePrimaryIpv6` after it has been enabled forces recreation of the instance. + EnablePrimaryIpv6 pulumi.BoolOutput `pulumi:"enablePrimaryIpv6"` // Enable Nitro Enclaves on launched instances. See Enclave Options below for more details. EnclaveOptions SpotInstanceRequestEnclaveOptionsOutput `pulumi:"enclaveOptions"` // One or more configuration blocks to customize Ephemeral (also known as "Instance Store") volumes on the instance. See Block Devices below for details. When accessing this as an attribute reference, it is a set of objects. @@ -289,6 +291,8 @@ type spotInstanceRequestState struct { EbsBlockDevices []SpotInstanceRequestEbsBlockDevice `pulumi:"ebsBlockDevices"` // If true, the launched EC2 instance will be EBS-optimized. Note that if this is not set on an instance type that is optimized by default then this will show as disabled but if the instance type is optimized by default then there is no need to set this and there is no effect to disabling it. See the [EBS Optimized section](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSOptimized.html) of the AWS User Guide for more information. EbsOptimized *bool `pulumi:"ebsOptimized"` + // Whether to assign a primary IPv6 Global Unicast Address (GUA) to the instance when launched in a dual-stack or IPv6-only subnet. A primary IPv6 address ensures a consistent IPv6 address for the instance and is automatically assigned by AWS to the ENI. Once enabled, the first IPv6 GUA becomes the primary IPv6 address and cannot be disabled. The primary IPv6 address remains until the instance is terminated or the ENI is detached. Disabling `enablePrimaryIpv6` after it has been enabled forces recreation of the instance. + EnablePrimaryIpv6 *bool `pulumi:"enablePrimaryIpv6"` // Enable Nitro Enclaves on launched instances. See Enclave Options below for more details. EnclaveOptions *SpotInstanceRequestEnclaveOptions `pulumi:"enclaveOptions"` // One or more configuration blocks to customize Ephemeral (also known as "Instance Store") volumes on the instance. See Block Devices below for details. When accessing this as an attribute reference, it is a set of objects. @@ -443,6 +447,8 @@ type SpotInstanceRequestState struct { EbsBlockDevices SpotInstanceRequestEbsBlockDeviceArrayInput // If true, the launched EC2 instance will be EBS-optimized. Note that if this is not set on an instance type that is optimized by default then this will show as disabled but if the instance type is optimized by default then there is no need to set this and there is no effect to disabling it. See the [EBS Optimized section](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSOptimized.html) of the AWS User Guide for more information. EbsOptimized pulumi.BoolPtrInput + // Whether to assign a primary IPv6 Global Unicast Address (GUA) to the instance when launched in a dual-stack or IPv6-only subnet. A primary IPv6 address ensures a consistent IPv6 address for the instance and is automatically assigned by AWS to the ENI. Once enabled, the first IPv6 GUA becomes the primary IPv6 address and cannot be disabled. The primary IPv6 address remains until the instance is terminated or the ENI is detached. Disabling `enablePrimaryIpv6` after it has been enabled forces recreation of the instance. + EnablePrimaryIpv6 pulumi.BoolPtrInput // Enable Nitro Enclaves on launched instances. See Enclave Options below for more details. EnclaveOptions SpotInstanceRequestEnclaveOptionsPtrInput // One or more configuration blocks to customize Ephemeral (also known as "Instance Store") volumes on the instance. See Block Devices below for details. When accessing this as an attribute reference, it is a set of objects. @@ -600,6 +606,8 @@ type spotInstanceRequestArgs struct { EbsBlockDevices []SpotInstanceRequestEbsBlockDevice `pulumi:"ebsBlockDevices"` // If true, the launched EC2 instance will be EBS-optimized. Note that if this is not set on an instance type that is optimized by default then this will show as disabled but if the instance type is optimized by default then there is no need to set this and there is no effect to disabling it. See the [EBS Optimized section](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSOptimized.html) of the AWS User Guide for more information. EbsOptimized *bool `pulumi:"ebsOptimized"` + // Whether to assign a primary IPv6 Global Unicast Address (GUA) to the instance when launched in a dual-stack or IPv6-only subnet. A primary IPv6 address ensures a consistent IPv6 address for the instance and is automatically assigned by AWS to the ENI. Once enabled, the first IPv6 GUA becomes the primary IPv6 address and cannot be disabled. The primary IPv6 address remains until the instance is terminated or the ENI is detached. Disabling `enablePrimaryIpv6` after it has been enabled forces recreation of the instance. + EnablePrimaryIpv6 *bool `pulumi:"enablePrimaryIpv6"` // Enable Nitro Enclaves on launched instances. See Enclave Options below for more details. EnclaveOptions *SpotInstanceRequestEnclaveOptions `pulumi:"enclaveOptions"` // One or more configuration blocks to customize Ephemeral (also known as "Instance Store") volumes on the instance. See Block Devices below for details. When accessing this as an attribute reference, it is a set of objects. @@ -726,6 +734,8 @@ type SpotInstanceRequestArgs struct { EbsBlockDevices SpotInstanceRequestEbsBlockDeviceArrayInput // If true, the launched EC2 instance will be EBS-optimized. Note that if this is not set on an instance type that is optimized by default then this will show as disabled but if the instance type is optimized by default then there is no need to set this and there is no effect to disabling it. See the [EBS Optimized section](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSOptimized.html) of the AWS User Guide for more information. EbsOptimized pulumi.BoolPtrInput + // Whether to assign a primary IPv6 Global Unicast Address (GUA) to the instance when launched in a dual-stack or IPv6-only subnet. A primary IPv6 address ensures a consistent IPv6 address for the instance and is automatically assigned by AWS to the ENI. Once enabled, the first IPv6 GUA becomes the primary IPv6 address and cannot be disabled. The primary IPv6 address remains until the instance is terminated or the ENI is detached. Disabling `enablePrimaryIpv6` after it has been enabled forces recreation of the instance. + EnablePrimaryIpv6 pulumi.BoolPtrInput // Enable Nitro Enclaves on launched instances. See Enclave Options below for more details. EnclaveOptions SpotInstanceRequestEnclaveOptionsPtrInput // One or more configuration blocks to customize Ephemeral (also known as "Instance Store") volumes on the instance. See Block Devices below for details. When accessing this as an attribute reference, it is a set of objects. @@ -984,6 +994,11 @@ func (o SpotInstanceRequestOutput) EbsOptimized() pulumi.BoolOutput { return o.ApplyT(func(v *SpotInstanceRequest) pulumi.BoolOutput { return v.EbsOptimized }).(pulumi.BoolOutput) } +// Whether to assign a primary IPv6 Global Unicast Address (GUA) to the instance when launched in a dual-stack or IPv6-only subnet. A primary IPv6 address ensures a consistent IPv6 address for the instance and is automatically assigned by AWS to the ENI. Once enabled, the first IPv6 GUA becomes the primary IPv6 address and cannot be disabled. The primary IPv6 address remains until the instance is terminated or the ENI is detached. Disabling `enablePrimaryIpv6` after it has been enabled forces recreation of the instance. +func (o SpotInstanceRequestOutput) EnablePrimaryIpv6() pulumi.BoolOutput { + return o.ApplyT(func(v *SpotInstanceRequest) pulumi.BoolOutput { return v.EnablePrimaryIpv6 }).(pulumi.BoolOutput) +} + // Enable Nitro Enclaves on launched instances. See Enclave Options below for more details. func (o SpotInstanceRequestOutput) EnclaveOptions() SpotInstanceRequestEnclaveOptionsOutput { return o.ApplyT(func(v *SpotInstanceRequest) SpotInstanceRequestEnclaveOptionsOutput { return v.EnclaveOptions }).(SpotInstanceRequestEnclaveOptionsOutput) diff --git a/sdk/go/aws/ecr/accountSetting.go b/sdk/go/aws/ecr/accountSetting.go new file mode 100644 index 00000000000..0816c6059a4 --- /dev/null +++ b/sdk/go/aws/ecr/accountSetting.go @@ -0,0 +1,269 @@ +// 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 ecr + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Provides a resource to manage AWS ECR Basic Scan Type +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecr" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := ecr.NewAccountSetting(ctx, "foo", &ecr.AccountSettingArgs{ +// Name: pulumi.String("BASIC_SCAN_TYPE_VERSION"), +// Value: pulumi.String("CLAIR"), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// ## Import +// +// Using `pulumi import`, import EMR Security Configurations using the `name`. For example: +// +// ```sh +// $ pulumi import aws:ecr/accountSetting:AccountSetting foo BASIC_SCAN_TYPE_VERSION +// ``` +type AccountSetting struct { + pulumi.CustomResourceState + + // The name of the ECR Scan Type. This should be `BASIC_SCAN_TYPE_VERSION`. + Name pulumi.StringOutput `pulumi:"name"` + // The value of the ECR Scan Type. This can be `AWS_NATIVE` or `CLAIR`. + Value pulumi.StringOutput `pulumi:"value"` +} + +// NewAccountSetting registers a new resource with the given unique name, arguments, and options. +func NewAccountSetting(ctx *pulumi.Context, + name string, args *AccountSettingArgs, opts ...pulumi.ResourceOption) (*AccountSetting, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Value == nil { + return nil, errors.New("invalid value for required argument 'Value'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource AccountSetting + err := ctx.RegisterResource("aws:ecr/accountSetting:AccountSetting", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetAccountSetting gets an existing AccountSetting 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 GetAccountSetting(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *AccountSettingState, opts ...pulumi.ResourceOption) (*AccountSetting, error) { + var resource AccountSetting + err := ctx.ReadResource("aws:ecr/accountSetting:AccountSetting", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering AccountSetting resources. +type accountSettingState struct { + // The name of the ECR Scan Type. This should be `BASIC_SCAN_TYPE_VERSION`. + Name *string `pulumi:"name"` + // The value of the ECR Scan Type. This can be `AWS_NATIVE` or `CLAIR`. + Value *string `pulumi:"value"` +} + +type AccountSettingState struct { + // The name of the ECR Scan Type. This should be `BASIC_SCAN_TYPE_VERSION`. + Name pulumi.StringPtrInput + // The value of the ECR Scan Type. This can be `AWS_NATIVE` or `CLAIR`. + Value pulumi.StringPtrInput +} + +func (AccountSettingState) ElementType() reflect.Type { + return reflect.TypeOf((*accountSettingState)(nil)).Elem() +} + +type accountSettingArgs struct { + // The name of the ECR Scan Type. This should be `BASIC_SCAN_TYPE_VERSION`. + Name *string `pulumi:"name"` + // The value of the ECR Scan Type. This can be `AWS_NATIVE` or `CLAIR`. + Value string `pulumi:"value"` +} + +// The set of arguments for constructing a AccountSetting resource. +type AccountSettingArgs struct { + // The name of the ECR Scan Type. This should be `BASIC_SCAN_TYPE_VERSION`. + Name pulumi.StringPtrInput + // The value of the ECR Scan Type. This can be `AWS_NATIVE` or `CLAIR`. + Value pulumi.StringInput +} + +func (AccountSettingArgs) ElementType() reflect.Type { + return reflect.TypeOf((*accountSettingArgs)(nil)).Elem() +} + +type AccountSettingInput interface { + pulumi.Input + + ToAccountSettingOutput() AccountSettingOutput + ToAccountSettingOutputWithContext(ctx context.Context) AccountSettingOutput +} + +func (*AccountSetting) ElementType() reflect.Type { + return reflect.TypeOf((**AccountSetting)(nil)).Elem() +} + +func (i *AccountSetting) ToAccountSettingOutput() AccountSettingOutput { + return i.ToAccountSettingOutputWithContext(context.Background()) +} + +func (i *AccountSetting) ToAccountSettingOutputWithContext(ctx context.Context) AccountSettingOutput { + return pulumi.ToOutputWithContext(ctx, i).(AccountSettingOutput) +} + +// AccountSettingArrayInput is an input type that accepts AccountSettingArray and AccountSettingArrayOutput values. +// You can construct a concrete instance of `AccountSettingArrayInput` via: +// +// AccountSettingArray{ AccountSettingArgs{...} } +type AccountSettingArrayInput interface { + pulumi.Input + + ToAccountSettingArrayOutput() AccountSettingArrayOutput + ToAccountSettingArrayOutputWithContext(context.Context) AccountSettingArrayOutput +} + +type AccountSettingArray []AccountSettingInput + +func (AccountSettingArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*AccountSetting)(nil)).Elem() +} + +func (i AccountSettingArray) ToAccountSettingArrayOutput() AccountSettingArrayOutput { + return i.ToAccountSettingArrayOutputWithContext(context.Background()) +} + +func (i AccountSettingArray) ToAccountSettingArrayOutputWithContext(ctx context.Context) AccountSettingArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(AccountSettingArrayOutput) +} + +// AccountSettingMapInput is an input type that accepts AccountSettingMap and AccountSettingMapOutput values. +// You can construct a concrete instance of `AccountSettingMapInput` via: +// +// AccountSettingMap{ "key": AccountSettingArgs{...} } +type AccountSettingMapInput interface { + pulumi.Input + + ToAccountSettingMapOutput() AccountSettingMapOutput + ToAccountSettingMapOutputWithContext(context.Context) AccountSettingMapOutput +} + +type AccountSettingMap map[string]AccountSettingInput + +func (AccountSettingMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*AccountSetting)(nil)).Elem() +} + +func (i AccountSettingMap) ToAccountSettingMapOutput() AccountSettingMapOutput { + return i.ToAccountSettingMapOutputWithContext(context.Background()) +} + +func (i AccountSettingMap) ToAccountSettingMapOutputWithContext(ctx context.Context) AccountSettingMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(AccountSettingMapOutput) +} + +type AccountSettingOutput struct{ *pulumi.OutputState } + +func (AccountSettingOutput) ElementType() reflect.Type { + return reflect.TypeOf((**AccountSetting)(nil)).Elem() +} + +func (o AccountSettingOutput) ToAccountSettingOutput() AccountSettingOutput { + return o +} + +func (o AccountSettingOutput) ToAccountSettingOutputWithContext(ctx context.Context) AccountSettingOutput { + return o +} + +// The name of the ECR Scan Type. This should be `BASIC_SCAN_TYPE_VERSION`. +func (o AccountSettingOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *AccountSetting) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// The value of the ECR Scan Type. This can be `AWS_NATIVE` or `CLAIR`. +func (o AccountSettingOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v *AccountSetting) pulumi.StringOutput { return v.Value }).(pulumi.StringOutput) +} + +type AccountSettingArrayOutput struct{ *pulumi.OutputState } + +func (AccountSettingArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*AccountSetting)(nil)).Elem() +} + +func (o AccountSettingArrayOutput) ToAccountSettingArrayOutput() AccountSettingArrayOutput { + return o +} + +func (o AccountSettingArrayOutput) ToAccountSettingArrayOutputWithContext(ctx context.Context) AccountSettingArrayOutput { + return o +} + +func (o AccountSettingArrayOutput) Index(i pulumi.IntInput) AccountSettingOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *AccountSetting { + return vs[0].([]*AccountSetting)[vs[1].(int)] + }).(AccountSettingOutput) +} + +type AccountSettingMapOutput struct{ *pulumi.OutputState } + +func (AccountSettingMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*AccountSetting)(nil)).Elem() +} + +func (o AccountSettingMapOutput) ToAccountSettingMapOutput() AccountSettingMapOutput { + return o +} + +func (o AccountSettingMapOutput) ToAccountSettingMapOutputWithContext(ctx context.Context) AccountSettingMapOutput { + return o +} + +func (o AccountSettingMapOutput) MapIndex(k pulumi.StringInput) AccountSettingOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *AccountSetting { + return vs[0].(map[string]*AccountSetting)[vs[1].(string)] + }).(AccountSettingOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*AccountSettingInput)(nil)).Elem(), &AccountSetting{}) + pulumi.RegisterInputType(reflect.TypeOf((*AccountSettingArrayInput)(nil)).Elem(), AccountSettingArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*AccountSettingMapInput)(nil)).Elem(), AccountSettingMap{}) + pulumi.RegisterOutputType(AccountSettingOutput{}) + pulumi.RegisterOutputType(AccountSettingArrayOutput{}) + pulumi.RegisterOutputType(AccountSettingMapOutput{}) +} diff --git a/sdk/go/aws/ecr/init.go b/sdk/go/aws/ecr/init.go index 2e9d37b5b9f..79ff90deacc 100644 --- a/sdk/go/aws/ecr/init.go +++ b/sdk/go/aws/ecr/init.go @@ -21,6 +21,8 @@ func (m *module) Version() semver.Version { func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi.Resource, err error) { switch typ { + case "aws:ecr/accountSetting:AccountSetting": + r = &AccountSetting{} case "aws:ecr/lifecyclePolicy:LifecyclePolicy": r = &LifecyclePolicy{} case "aws:ecr/pullThroughCacheRule:PullThroughCacheRule": @@ -50,6 +52,11 @@ func init() { if err != nil { version = semver.Version{Major: 1} } + pulumi.RegisterResourceModule( + "aws", + "ecr/accountSetting", + &module{version}, + ) pulumi.RegisterResourceModule( "aws", "ecr/lifecyclePolicy", diff --git a/sdk/go/aws/ecs/pulumiTypes.go b/sdk/go/aws/ecs/pulumiTypes.go index 8d925e75662..6eea4ecebd4 100644 --- a/sdk/go/aws/ecs/pulumiTypes.go +++ b/sdk/go/aws/ecs/pulumiTypes.go @@ -1399,7 +1399,7 @@ func (o ClusterServiceConnectDefaultsPtrOutput) Namespace() pulumi.StringPtrOutp type ClusterSetting struct { // Name of the setting to manage. Valid values: `containerInsights`. Name string `pulumi:"name"` - // Value to assign to the setting. Valid values: `enabled`, `disabled`. + // Value to assign to the setting. Valid values: `enhanced`, `enabled`, `disabled`. Value string `pulumi:"value"` } @@ -1417,7 +1417,7 @@ type ClusterSettingInput interface { type ClusterSettingArgs struct { // Name of the setting to manage. Valid values: `containerInsights`. Name pulumi.StringInput `pulumi:"name"` - // Value to assign to the setting. Valid values: `enabled`, `disabled`. + // Value to assign to the setting. Valid values: `enhanced`, `enabled`, `disabled`. Value pulumi.StringInput `pulumi:"value"` } @@ -1477,7 +1477,7 @@ func (o ClusterSettingOutput) Name() pulumi.StringOutput { return o.ApplyT(func(v ClusterSetting) string { return v.Name }).(pulumi.StringOutput) } -// Value to assign to the setting. Valid values: `enabled`, `disabled`. +// Value to assign to the setting. Valid values: `enhanced`, `enabled`, `disabled`. func (o ClusterSettingOutput) Value() pulumi.StringOutput { return o.ApplyT(func(v ClusterSetting) string { return v.Value }).(pulumi.StringOutput) } diff --git a/sdk/go/aws/eks/accessPolicyAssociation.go b/sdk/go/aws/eks/accessPolicyAssociation.go index 6875c3cd4fa..c0b620f4a31 100644 --- a/sdk/go/aws/eks/accessPolicyAssociation.go +++ b/sdk/go/aws/eks/accessPolicyAssociation.go @@ -50,7 +50,7 @@ import ( // // ## Import // -// Using `pulumi import`, import EKS access entry using the `cluster_name` `principal_arn` and `policy_arn` separated by a colon (`#`). For example: +// Using `pulumi import`, import EKS access entry using the `cluster_name` `principal_arn` and `policy_arn` separated by an octothorp (`#`). For example: // // ```sh // $ pulumi import aws:eks/accessPolicyAssociation:AccessPolicyAssociation my_eks_access_entry my_cluster_name#my_principal_arn#my_policy_arn diff --git a/sdk/go/aws/fsx/windowsFileSystem.go b/sdk/go/aws/fsx/windowsFileSystem.go index 9be0c6d3be2..f872088c603 100644 --- a/sdk/go/aws/fsx/windowsFileSystem.go +++ b/sdk/go/aws/fsx/windowsFileSystem.go @@ -159,7 +159,7 @@ type WindowsFileSystem struct { // // Deprecated: Please use `tags` instead. TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"` - // Throughput (megabytes per second) of the file system in power of 2 increments. Minimum of `8` and maximum of `2048`. + // Throughput (megabytes per second) of the file system. For valid values, refer to the [AWS documentation](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/performance.html). // // The following arguments are optional: ThroughputCapacity pulumi.IntOutput `pulumi:"throughputCapacity"` @@ -259,7 +259,7 @@ type windowsFileSystemState struct { // // Deprecated: Please use `tags` instead. TagsAll map[string]string `pulumi:"tagsAll"` - // Throughput (megabytes per second) of the file system in power of 2 increments. Minimum of `8` and maximum of `2048`. + // Throughput (megabytes per second) of the file system. For valid values, refer to the [AWS documentation](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/performance.html). // // The following arguments are optional: ThroughputCapacity *int `pulumi:"throughputCapacity"` @@ -324,7 +324,7 @@ type WindowsFileSystemState struct { // // Deprecated: Please use `tags` instead. TagsAll pulumi.StringMapInput - // Throughput (megabytes per second) of the file system in power of 2 increments. Minimum of `8` and maximum of `2048`. + // Throughput (megabytes per second) of the file system. For valid values, refer to the [AWS documentation](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/performance.html). // // The following arguments are optional: ThroughputCapacity pulumi.IntPtrInput @@ -377,7 +377,7 @@ type windowsFileSystemArgs struct { SubnetIds []string `pulumi:"subnetIds"` // A map of tags to assign to the file system. .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"` - // Throughput (megabytes per second) of the file system in power of 2 increments. Minimum of `8` and maximum of `2048`. + // Throughput (megabytes per second) of the file system. For valid values, refer to the [AWS documentation](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/performance.html). // // The following arguments are optional: ThroughputCapacity int `pulumi:"throughputCapacity"` @@ -425,7 +425,7 @@ type WindowsFileSystemArgs struct { SubnetIds pulumi.StringArrayInput // A map of tags to assign to the file system. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags pulumi.StringMapInput - // Throughput (megabytes per second) of the file system in power of 2 increments. Minimum of `8` and maximum of `2048`. + // Throughput (megabytes per second) of the file system. For valid values, refer to the [AWS documentation](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/performance.html). // // The following arguments are optional: ThroughputCapacity pulumi.IntInput @@ -658,7 +658,7 @@ func (o WindowsFileSystemOutput) TagsAll() pulumi.StringMapOutput { return o.ApplyT(func(v *WindowsFileSystem) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput) } -// Throughput (megabytes per second) of the file system in power of 2 increments. Minimum of `8` and maximum of `2048`. +// Throughput (megabytes per second) of the file system. For valid values, refer to the [AWS documentation](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/performance.html). // // The following arguments are optional: func (o WindowsFileSystemOutput) ThroughputCapacity() pulumi.IntOutput { diff --git a/sdk/go/aws/glue/catalogTableOptimizer.go b/sdk/go/aws/glue/catalogTableOptimizer.go index ae391fd864a..0a6e1d496a6 100644 --- a/sdk/go/aws/glue/catalogTableOptimizer.go +++ b/sdk/go/aws/glue/catalogTableOptimizer.go @@ -16,7 +16,7 @@ import ( // // ## Example Usage // -// ### Basic Usage +// ### Compaction Optimizer // // ```go // package main @@ -49,6 +49,85 @@ import ( // // ``` // +// ### Snapshot Retention Optimizer +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glue" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := glue.NewCatalogTableOptimizer(ctx, "example", &glue.CatalogTableOptimizerArgs{ +// CatalogId: pulumi.String("123456789012"), +// DatabaseName: pulumi.String("example_database"), +// TableName: pulumi.String("example_table"), +// Configuration: &glue.CatalogTableOptimizerConfigurationArgs{ +// RoleArn: pulumi.String("arn:aws:iam::123456789012:role/example-role"), +// Enabled: pulumi.Bool(true), +// RetentionConfiguration: &glue.CatalogTableOptimizerConfigurationRetentionConfigurationArgs{ +// IcebergConfiguration: &glue.CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationArgs{ +// SnapshotRetentionPeriodInDays: pulumi.Float64(7), +// NumberOfSnapshotsToRetain: pulumi.Float64(3), +// CleanExpiredFiles: pulumi.Bool(true), +// }, +// }, +// }, +// Type: pulumi.String("retention"), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// ### Orphan File Deletion Optimizer +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glue" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := glue.NewCatalogTableOptimizer(ctx, "example", &glue.CatalogTableOptimizerArgs{ +// CatalogId: pulumi.String("123456789012"), +// DatabaseName: pulumi.String("example_database"), +// TableName: pulumi.String("example_table"), +// Configuration: &glue.CatalogTableOptimizerConfigurationArgs{ +// RoleArn: pulumi.String("arn:aws:iam::123456789012:role/example-role"), +// Enabled: pulumi.Bool(true), +// OrphanFileDeletionConfiguration: &glue.CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationArgs{ +// IcebergConfiguration: &glue.CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationArgs{ +// OrphanFileRetentionPeriodInDays: pulumi.Float64(7), +// Location: pulumi.String("s3://example-bucket/example_table/"), +// }, +// }, +// }, +// Type: pulumi.String("orphan_file_deletion"), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// // ## Import // // Using `pulumi import`, import Glue Catalog Table Optimizer using the `catalog_id,database_name,table_name,type`. For example: @@ -61,13 +140,13 @@ type CatalogTableOptimizer struct { // The Catalog ID of the table. CatalogId pulumi.StringOutput `pulumi:"catalogId"` - // A configuration block that defines the table optimizer settings. The block contains: + // A configuration block that defines the table optimizer settings. See Configuration for additional details. Configuration CatalogTableOptimizerConfigurationPtrOutput `pulumi:"configuration"` // The name of the database in the catalog in which the table resides. DatabaseName pulumi.StringOutput `pulumi:"databaseName"` // The name of the table. TableName pulumi.StringOutput `pulumi:"tableName"` - // The type of table optimizer. Currently, the only valid value is compaction. + // The type of table optimizer. Valid values are `compaction`, `retention`, and `orphanFileDeletion`. Type pulumi.StringOutput `pulumi:"type"` } @@ -115,26 +194,26 @@ func GetCatalogTableOptimizer(ctx *pulumi.Context, type catalogTableOptimizerState struct { // The Catalog ID of the table. CatalogId *string `pulumi:"catalogId"` - // A configuration block that defines the table optimizer settings. The block contains: + // A configuration block that defines the table optimizer settings. See Configuration for additional details. Configuration *CatalogTableOptimizerConfiguration `pulumi:"configuration"` // The name of the database in the catalog in which the table resides. DatabaseName *string `pulumi:"databaseName"` // The name of the table. TableName *string `pulumi:"tableName"` - // The type of table optimizer. Currently, the only valid value is compaction. + // The type of table optimizer. Valid values are `compaction`, `retention`, and `orphanFileDeletion`. Type *string `pulumi:"type"` } type CatalogTableOptimizerState struct { // The Catalog ID of the table. CatalogId pulumi.StringPtrInput - // A configuration block that defines the table optimizer settings. The block contains: + // A configuration block that defines the table optimizer settings. See Configuration for additional details. Configuration CatalogTableOptimizerConfigurationPtrInput // The name of the database in the catalog in which the table resides. DatabaseName pulumi.StringPtrInput // The name of the table. TableName pulumi.StringPtrInput - // The type of table optimizer. Currently, the only valid value is compaction. + // The type of table optimizer. Valid values are `compaction`, `retention`, and `orphanFileDeletion`. Type pulumi.StringPtrInput } @@ -145,13 +224,13 @@ func (CatalogTableOptimizerState) ElementType() reflect.Type { type catalogTableOptimizerArgs struct { // The Catalog ID of the table. CatalogId string `pulumi:"catalogId"` - // A configuration block that defines the table optimizer settings. The block contains: + // A configuration block that defines the table optimizer settings. See Configuration for additional details. Configuration *CatalogTableOptimizerConfiguration `pulumi:"configuration"` // The name of the database in the catalog in which the table resides. DatabaseName string `pulumi:"databaseName"` // The name of the table. TableName string `pulumi:"tableName"` - // The type of table optimizer. Currently, the only valid value is compaction. + // The type of table optimizer. Valid values are `compaction`, `retention`, and `orphanFileDeletion`. Type string `pulumi:"type"` } @@ -159,13 +238,13 @@ type catalogTableOptimizerArgs struct { type CatalogTableOptimizerArgs struct { // The Catalog ID of the table. CatalogId pulumi.StringInput - // A configuration block that defines the table optimizer settings. The block contains: + // A configuration block that defines the table optimizer settings. See Configuration for additional details. Configuration CatalogTableOptimizerConfigurationPtrInput // The name of the database in the catalog in which the table resides. DatabaseName pulumi.StringInput // The name of the table. TableName pulumi.StringInput - // The type of table optimizer. Currently, the only valid value is compaction. + // The type of table optimizer. Valid values are `compaction`, `retention`, and `orphanFileDeletion`. Type pulumi.StringInput } @@ -261,7 +340,7 @@ func (o CatalogTableOptimizerOutput) CatalogId() pulumi.StringOutput { return o.ApplyT(func(v *CatalogTableOptimizer) pulumi.StringOutput { return v.CatalogId }).(pulumi.StringOutput) } -// A configuration block that defines the table optimizer settings. The block contains: +// A configuration block that defines the table optimizer settings. See Configuration for additional details. func (o CatalogTableOptimizerOutput) Configuration() CatalogTableOptimizerConfigurationPtrOutput { return o.ApplyT(func(v *CatalogTableOptimizer) CatalogTableOptimizerConfigurationPtrOutput { return v.Configuration }).(CatalogTableOptimizerConfigurationPtrOutput) } @@ -276,7 +355,7 @@ func (o CatalogTableOptimizerOutput) TableName() pulumi.StringOutput { return o.ApplyT(func(v *CatalogTableOptimizer) pulumi.StringOutput { return v.TableName }).(pulumi.StringOutput) } -// The type of table optimizer. Currently, the only valid value is compaction. +// The type of table optimizer. Valid values are `compaction`, `retention`, and `orphanFileDeletion`. func (o CatalogTableOptimizerOutput) Type() pulumi.StringOutput { return o.ApplyT(func(v *CatalogTableOptimizer) pulumi.StringOutput { return v.Type }).(pulumi.StringOutput) } diff --git a/sdk/go/aws/glue/pulumiTypes.go b/sdk/go/aws/glue/pulumiTypes.go index 8d9c49886e6..ff0dbbcd373 100644 --- a/sdk/go/aws/glue/pulumiTypes.go +++ b/sdk/go/aws/glue/pulumiTypes.go @@ -889,6 +889,10 @@ func (o CatalogTableOpenTableFormatInputIcebergInputPtrOutput) Version() pulumi. type CatalogTableOptimizerConfiguration struct { // Indicates whether the table optimizer is enabled. Enabled bool `pulumi:"enabled"` + // The configuration block for an orphan file deletion optimizer. See Orphan File Deletion Configuration for additional details. + OrphanFileDeletionConfiguration *CatalogTableOptimizerConfigurationOrphanFileDeletionConfiguration `pulumi:"orphanFileDeletionConfiguration"` + // The configuration block for a snapshot retention optimizer. See Retention Configuration for additional details. + RetentionConfiguration *CatalogTableOptimizerConfigurationRetentionConfiguration `pulumi:"retentionConfiguration"` // The ARN of the IAM role to use for the table optimizer. RoleArn string `pulumi:"roleArn"` } @@ -907,6 +911,10 @@ type CatalogTableOptimizerConfigurationInput interface { type CatalogTableOptimizerConfigurationArgs struct { // Indicates whether the table optimizer is enabled. Enabled pulumi.BoolInput `pulumi:"enabled"` + // The configuration block for an orphan file deletion optimizer. See Orphan File Deletion Configuration for additional details. + OrphanFileDeletionConfiguration CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationPtrInput `pulumi:"orphanFileDeletionConfiguration"` + // The configuration block for a snapshot retention optimizer. See Retention Configuration for additional details. + RetentionConfiguration CatalogTableOptimizerConfigurationRetentionConfigurationPtrInput `pulumi:"retentionConfiguration"` // The ARN of the IAM role to use for the table optimizer. RoleArn pulumi.StringInput `pulumi:"roleArn"` } @@ -993,6 +1001,20 @@ func (o CatalogTableOptimizerConfigurationOutput) Enabled() pulumi.BoolOutput { return o.ApplyT(func(v CatalogTableOptimizerConfiguration) bool { return v.Enabled }).(pulumi.BoolOutput) } +// The configuration block for an orphan file deletion optimizer. See Orphan File Deletion Configuration for additional details. +func (o CatalogTableOptimizerConfigurationOutput) OrphanFileDeletionConfiguration() CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationPtrOutput { + return o.ApplyT(func(v CatalogTableOptimizerConfiguration) *CatalogTableOptimizerConfigurationOrphanFileDeletionConfiguration { + return v.OrphanFileDeletionConfiguration + }).(CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationPtrOutput) +} + +// The configuration block for a snapshot retention optimizer. See Retention Configuration for additional details. +func (o CatalogTableOptimizerConfigurationOutput) RetentionConfiguration() CatalogTableOptimizerConfigurationRetentionConfigurationPtrOutput { + return o.ApplyT(func(v CatalogTableOptimizerConfiguration) *CatalogTableOptimizerConfigurationRetentionConfiguration { + return v.RetentionConfiguration + }).(CatalogTableOptimizerConfigurationRetentionConfigurationPtrOutput) +} + // The ARN of the IAM role to use for the table optimizer. func (o CatalogTableOptimizerConfigurationOutput) RoleArn() pulumi.StringOutput { return o.ApplyT(func(v CatalogTableOptimizerConfiguration) string { return v.RoleArn }).(pulumi.StringOutput) @@ -1032,6 +1054,26 @@ func (o CatalogTableOptimizerConfigurationPtrOutput) Enabled() pulumi.BoolPtrOut }).(pulumi.BoolPtrOutput) } +// The configuration block for an orphan file deletion optimizer. See Orphan File Deletion Configuration for additional details. +func (o CatalogTableOptimizerConfigurationPtrOutput) OrphanFileDeletionConfiguration() CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationPtrOutput { + return o.ApplyT(func(v *CatalogTableOptimizerConfiguration) *CatalogTableOptimizerConfigurationOrphanFileDeletionConfiguration { + if v == nil { + return nil + } + return v.OrphanFileDeletionConfiguration + }).(CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationPtrOutput) +} + +// The configuration block for a snapshot retention optimizer. See Retention Configuration for additional details. +func (o CatalogTableOptimizerConfigurationPtrOutput) RetentionConfiguration() CatalogTableOptimizerConfigurationRetentionConfigurationPtrOutput { + return o.ApplyT(func(v *CatalogTableOptimizerConfiguration) *CatalogTableOptimizerConfigurationRetentionConfiguration { + if v == nil { + return nil + } + return v.RetentionConfiguration + }).(CatalogTableOptimizerConfigurationRetentionConfigurationPtrOutput) +} + // The ARN of the IAM role to use for the table optimizer. func (o CatalogTableOptimizerConfigurationPtrOutput) RoleArn() pulumi.StringPtrOutput { return o.ApplyT(func(v *CatalogTableOptimizerConfiguration) *string { @@ -1042,6 +1084,625 @@ func (o CatalogTableOptimizerConfigurationPtrOutput) RoleArn() pulumi.StringPtrO }).(pulumi.StringPtrOutput) } +type CatalogTableOptimizerConfigurationOrphanFileDeletionConfiguration struct { + // The configuration for an Iceberg orphan file deletion optimizer. + IcebergConfiguration *CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfiguration `pulumi:"icebergConfiguration"` +} + +// CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationInput is an input type that accepts CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationArgs and CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationOutput values. +// You can construct a concrete instance of `CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationInput` via: +// +// CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationArgs{...} +type CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationInput interface { + pulumi.Input + + ToCatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationOutput() CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationOutput + ToCatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationOutputWithContext(context.Context) CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationOutput +} + +type CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationArgs struct { + // The configuration for an Iceberg orphan file deletion optimizer. + IcebergConfiguration CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationPtrInput `pulumi:"icebergConfiguration"` +} + +func (CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*CatalogTableOptimizerConfigurationOrphanFileDeletionConfiguration)(nil)).Elem() +} + +func (i CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationArgs) ToCatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationOutput() CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationOutput { + return i.ToCatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationOutputWithContext(context.Background()) +} + +func (i CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationArgs) ToCatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationOutputWithContext(ctx context.Context) CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationOutput { + return pulumi.ToOutputWithContext(ctx, i).(CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationOutput) +} + +func (i CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationArgs) ToCatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationPtrOutput() CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationPtrOutput { + return i.ToCatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationPtrOutputWithContext(context.Background()) +} + +func (i CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationArgs) ToCatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationPtrOutputWithContext(ctx context.Context) CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationOutput).ToCatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationPtrOutputWithContext(ctx) +} + +// CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationPtrInput is an input type that accepts CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationArgs, CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationPtr and CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationPtrOutput values. +// You can construct a concrete instance of `CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationPtrInput` via: +// +// CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationArgs{...} +// +// or: +// +// nil +type CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationPtrInput interface { + pulumi.Input + + ToCatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationPtrOutput() CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationPtrOutput + ToCatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationPtrOutputWithContext(context.Context) CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationPtrOutput +} + +type catalogTableOptimizerConfigurationOrphanFileDeletionConfigurationPtrType CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationArgs + +func CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationPtr(v *CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationArgs) CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationPtrInput { + return (*catalogTableOptimizerConfigurationOrphanFileDeletionConfigurationPtrType)(v) +} + +func (*catalogTableOptimizerConfigurationOrphanFileDeletionConfigurationPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**CatalogTableOptimizerConfigurationOrphanFileDeletionConfiguration)(nil)).Elem() +} + +func (i *catalogTableOptimizerConfigurationOrphanFileDeletionConfigurationPtrType) ToCatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationPtrOutput() CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationPtrOutput { + return i.ToCatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationPtrOutputWithContext(context.Background()) +} + +func (i *catalogTableOptimizerConfigurationOrphanFileDeletionConfigurationPtrType) ToCatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationPtrOutputWithContext(ctx context.Context) CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationPtrOutput) +} + +type CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationOutput struct{ *pulumi.OutputState } + +func (CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CatalogTableOptimizerConfigurationOrphanFileDeletionConfiguration)(nil)).Elem() +} + +func (o CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationOutput) ToCatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationOutput() CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationOutput { + return o +} + +func (o CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationOutput) ToCatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationOutputWithContext(ctx context.Context) CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationOutput { + return o +} + +func (o CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationOutput) ToCatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationPtrOutput() CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationPtrOutput { + return o.ToCatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationPtrOutputWithContext(context.Background()) +} + +func (o CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationOutput) ToCatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationPtrOutputWithContext(ctx context.Context) CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v CatalogTableOptimizerConfigurationOrphanFileDeletionConfiguration) *CatalogTableOptimizerConfigurationOrphanFileDeletionConfiguration { + return &v + }).(CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationPtrOutput) +} + +// The configuration for an Iceberg orphan file deletion optimizer. +func (o CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationOutput) IcebergConfiguration() CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationPtrOutput { + return o.ApplyT(func(v CatalogTableOptimizerConfigurationOrphanFileDeletionConfiguration) *CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfiguration { + return v.IcebergConfiguration + }).(CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationPtrOutput) +} + +type CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationPtrOutput struct{ *pulumi.OutputState } + +func (CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**CatalogTableOptimizerConfigurationOrphanFileDeletionConfiguration)(nil)).Elem() +} + +func (o CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationPtrOutput) ToCatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationPtrOutput() CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationPtrOutput { + return o +} + +func (o CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationPtrOutput) ToCatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationPtrOutputWithContext(ctx context.Context) CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationPtrOutput { + return o +} + +func (o CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationPtrOutput) Elem() CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationOutput { + return o.ApplyT(func(v *CatalogTableOptimizerConfigurationOrphanFileDeletionConfiguration) CatalogTableOptimizerConfigurationOrphanFileDeletionConfiguration { + if v != nil { + return *v + } + var ret CatalogTableOptimizerConfigurationOrphanFileDeletionConfiguration + return ret + }).(CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationOutput) +} + +// The configuration for an Iceberg orphan file deletion optimizer. +func (o CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationPtrOutput) IcebergConfiguration() CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationPtrOutput { + return o.ApplyT(func(v *CatalogTableOptimizerConfigurationOrphanFileDeletionConfiguration) *CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfiguration { + if v == nil { + return nil + } + return v.IcebergConfiguration + }).(CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationPtrOutput) +} + +type CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfiguration struct { + // Specifies a directory in which to look for files. You may choose a sub-directory rather than the top-level table location. Defaults to the table's location. + Location *string `pulumi:"location"` + // The number of days that orphan files should be retained before file deletion. Defaults to `3`. + OrphanFileRetentionPeriodInDays *float64 `pulumi:"orphanFileRetentionPeriodInDays"` +} + +// CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationInput is an input type that accepts CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationArgs and CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationOutput values. +// You can construct a concrete instance of `CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationInput` via: +// +// CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationArgs{...} +type CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationInput interface { + pulumi.Input + + ToCatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationOutput() CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationOutput + ToCatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationOutputWithContext(context.Context) CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationOutput +} + +type CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationArgs struct { + // Specifies a directory in which to look for files. You may choose a sub-directory rather than the top-level table location. Defaults to the table's location. + Location pulumi.StringPtrInput `pulumi:"location"` + // The number of days that orphan files should be retained before file deletion. Defaults to `3`. + OrphanFileRetentionPeriodInDays pulumi.Float64PtrInput `pulumi:"orphanFileRetentionPeriodInDays"` +} + +func (CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfiguration)(nil)).Elem() +} + +func (i CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationArgs) ToCatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationOutput() CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationOutput { + return i.ToCatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationOutputWithContext(context.Background()) +} + +func (i CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationArgs) ToCatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationOutputWithContext(ctx context.Context) CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationOutput { + return pulumi.ToOutputWithContext(ctx, i).(CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationOutput) +} + +func (i CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationArgs) ToCatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationPtrOutput() CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationPtrOutput { + return i.ToCatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationPtrOutputWithContext(context.Background()) +} + +func (i CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationArgs) ToCatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationPtrOutputWithContext(ctx context.Context) CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationOutput).ToCatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationPtrOutputWithContext(ctx) +} + +// CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationPtrInput is an input type that accepts CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationArgs, CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationPtr and CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationPtrOutput values. +// You can construct a concrete instance of `CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationPtrInput` via: +// +// CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationArgs{...} +// +// or: +// +// nil +type CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationPtrInput interface { + pulumi.Input + + ToCatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationPtrOutput() CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationPtrOutput + ToCatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationPtrOutputWithContext(context.Context) CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationPtrOutput +} + +type catalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationPtrType CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationArgs + +func CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationPtr(v *CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationArgs) CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationPtrInput { + return (*catalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationPtrType)(v) +} + +func (*catalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfiguration)(nil)).Elem() +} + +func (i *catalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationPtrType) ToCatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationPtrOutput() CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationPtrOutput { + return i.ToCatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationPtrOutputWithContext(context.Background()) +} + +func (i *catalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationPtrType) ToCatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationPtrOutputWithContext(ctx context.Context) CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationPtrOutput) +} + +type CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationOutput struct{ *pulumi.OutputState } + +func (CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfiguration)(nil)).Elem() +} + +func (o CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationOutput) ToCatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationOutput() CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationOutput { + return o +} + +func (o CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationOutput) ToCatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationOutputWithContext(ctx context.Context) CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationOutput { + return o +} + +func (o CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationOutput) ToCatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationPtrOutput() CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationPtrOutput { + return o.ToCatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationPtrOutputWithContext(context.Background()) +} + +func (o CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationOutput) ToCatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationPtrOutputWithContext(ctx context.Context) CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfiguration) *CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfiguration { + return &v + }).(CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationPtrOutput) +} + +// Specifies a directory in which to look for files. You may choose a sub-directory rather than the top-level table location. Defaults to the table's location. +func (o CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationOutput) Location() pulumi.StringPtrOutput { + return o.ApplyT(func(v CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfiguration) *string { + return v.Location + }).(pulumi.StringPtrOutput) +} + +// The number of days that orphan files should be retained before file deletion. Defaults to `3`. +func (o CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationOutput) OrphanFileRetentionPeriodInDays() pulumi.Float64PtrOutput { + return o.ApplyT(func(v CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfiguration) *float64 { + return v.OrphanFileRetentionPeriodInDays + }).(pulumi.Float64PtrOutput) +} + +type CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationPtrOutput struct{ *pulumi.OutputState } + +func (CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfiguration)(nil)).Elem() +} + +func (o CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationPtrOutput) ToCatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationPtrOutput() CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationPtrOutput { + return o +} + +func (o CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationPtrOutput) ToCatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationPtrOutputWithContext(ctx context.Context) CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationPtrOutput { + return o +} + +func (o CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationPtrOutput) Elem() CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationOutput { + return o.ApplyT(func(v *CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfiguration) CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfiguration { + if v != nil { + return *v + } + var ret CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfiguration + return ret + }).(CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationOutput) +} + +// Specifies a directory in which to look for files. You may choose a sub-directory rather than the top-level table location. Defaults to the table's location. +func (o CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationPtrOutput) Location() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfiguration) *string { + if v == nil { + return nil + } + return v.Location + }).(pulumi.StringPtrOutput) +} + +// The number of days that orphan files should be retained before file deletion. Defaults to `3`. +func (o CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationPtrOutput) OrphanFileRetentionPeriodInDays() pulumi.Float64PtrOutput { + return o.ApplyT(func(v *CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfiguration) *float64 { + if v == nil { + return nil + } + return v.OrphanFileRetentionPeriodInDays + }).(pulumi.Float64PtrOutput) +} + +type CatalogTableOptimizerConfigurationRetentionConfiguration struct { + // The configuration for an Iceberg snapshot retention optimizer. + IcebergConfiguration *CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfiguration `pulumi:"icebergConfiguration"` +} + +// CatalogTableOptimizerConfigurationRetentionConfigurationInput is an input type that accepts CatalogTableOptimizerConfigurationRetentionConfigurationArgs and CatalogTableOptimizerConfigurationRetentionConfigurationOutput values. +// You can construct a concrete instance of `CatalogTableOptimizerConfigurationRetentionConfigurationInput` via: +// +// CatalogTableOptimizerConfigurationRetentionConfigurationArgs{...} +type CatalogTableOptimizerConfigurationRetentionConfigurationInput interface { + pulumi.Input + + ToCatalogTableOptimizerConfigurationRetentionConfigurationOutput() CatalogTableOptimizerConfigurationRetentionConfigurationOutput + ToCatalogTableOptimizerConfigurationRetentionConfigurationOutputWithContext(context.Context) CatalogTableOptimizerConfigurationRetentionConfigurationOutput +} + +type CatalogTableOptimizerConfigurationRetentionConfigurationArgs struct { + // The configuration for an Iceberg snapshot retention optimizer. + IcebergConfiguration CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationPtrInput `pulumi:"icebergConfiguration"` +} + +func (CatalogTableOptimizerConfigurationRetentionConfigurationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*CatalogTableOptimizerConfigurationRetentionConfiguration)(nil)).Elem() +} + +func (i CatalogTableOptimizerConfigurationRetentionConfigurationArgs) ToCatalogTableOptimizerConfigurationRetentionConfigurationOutput() CatalogTableOptimizerConfigurationRetentionConfigurationOutput { + return i.ToCatalogTableOptimizerConfigurationRetentionConfigurationOutputWithContext(context.Background()) +} + +func (i CatalogTableOptimizerConfigurationRetentionConfigurationArgs) ToCatalogTableOptimizerConfigurationRetentionConfigurationOutputWithContext(ctx context.Context) CatalogTableOptimizerConfigurationRetentionConfigurationOutput { + return pulumi.ToOutputWithContext(ctx, i).(CatalogTableOptimizerConfigurationRetentionConfigurationOutput) +} + +func (i CatalogTableOptimizerConfigurationRetentionConfigurationArgs) ToCatalogTableOptimizerConfigurationRetentionConfigurationPtrOutput() CatalogTableOptimizerConfigurationRetentionConfigurationPtrOutput { + return i.ToCatalogTableOptimizerConfigurationRetentionConfigurationPtrOutputWithContext(context.Background()) +} + +func (i CatalogTableOptimizerConfigurationRetentionConfigurationArgs) ToCatalogTableOptimizerConfigurationRetentionConfigurationPtrOutputWithContext(ctx context.Context) CatalogTableOptimizerConfigurationRetentionConfigurationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CatalogTableOptimizerConfigurationRetentionConfigurationOutput).ToCatalogTableOptimizerConfigurationRetentionConfigurationPtrOutputWithContext(ctx) +} + +// CatalogTableOptimizerConfigurationRetentionConfigurationPtrInput is an input type that accepts CatalogTableOptimizerConfigurationRetentionConfigurationArgs, CatalogTableOptimizerConfigurationRetentionConfigurationPtr and CatalogTableOptimizerConfigurationRetentionConfigurationPtrOutput values. +// You can construct a concrete instance of `CatalogTableOptimizerConfigurationRetentionConfigurationPtrInput` via: +// +// CatalogTableOptimizerConfigurationRetentionConfigurationArgs{...} +// +// or: +// +// nil +type CatalogTableOptimizerConfigurationRetentionConfigurationPtrInput interface { + pulumi.Input + + ToCatalogTableOptimizerConfigurationRetentionConfigurationPtrOutput() CatalogTableOptimizerConfigurationRetentionConfigurationPtrOutput + ToCatalogTableOptimizerConfigurationRetentionConfigurationPtrOutputWithContext(context.Context) CatalogTableOptimizerConfigurationRetentionConfigurationPtrOutput +} + +type catalogTableOptimizerConfigurationRetentionConfigurationPtrType CatalogTableOptimizerConfigurationRetentionConfigurationArgs + +func CatalogTableOptimizerConfigurationRetentionConfigurationPtr(v *CatalogTableOptimizerConfigurationRetentionConfigurationArgs) CatalogTableOptimizerConfigurationRetentionConfigurationPtrInput { + return (*catalogTableOptimizerConfigurationRetentionConfigurationPtrType)(v) +} + +func (*catalogTableOptimizerConfigurationRetentionConfigurationPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**CatalogTableOptimizerConfigurationRetentionConfiguration)(nil)).Elem() +} + +func (i *catalogTableOptimizerConfigurationRetentionConfigurationPtrType) ToCatalogTableOptimizerConfigurationRetentionConfigurationPtrOutput() CatalogTableOptimizerConfigurationRetentionConfigurationPtrOutput { + return i.ToCatalogTableOptimizerConfigurationRetentionConfigurationPtrOutputWithContext(context.Background()) +} + +func (i *catalogTableOptimizerConfigurationRetentionConfigurationPtrType) ToCatalogTableOptimizerConfigurationRetentionConfigurationPtrOutputWithContext(ctx context.Context) CatalogTableOptimizerConfigurationRetentionConfigurationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CatalogTableOptimizerConfigurationRetentionConfigurationPtrOutput) +} + +type CatalogTableOptimizerConfigurationRetentionConfigurationOutput struct{ *pulumi.OutputState } + +func (CatalogTableOptimizerConfigurationRetentionConfigurationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CatalogTableOptimizerConfigurationRetentionConfiguration)(nil)).Elem() +} + +func (o CatalogTableOptimizerConfigurationRetentionConfigurationOutput) ToCatalogTableOptimizerConfigurationRetentionConfigurationOutput() CatalogTableOptimizerConfigurationRetentionConfigurationOutput { + return o +} + +func (o CatalogTableOptimizerConfigurationRetentionConfigurationOutput) ToCatalogTableOptimizerConfigurationRetentionConfigurationOutputWithContext(ctx context.Context) CatalogTableOptimizerConfigurationRetentionConfigurationOutput { + return o +} + +func (o CatalogTableOptimizerConfigurationRetentionConfigurationOutput) ToCatalogTableOptimizerConfigurationRetentionConfigurationPtrOutput() CatalogTableOptimizerConfigurationRetentionConfigurationPtrOutput { + return o.ToCatalogTableOptimizerConfigurationRetentionConfigurationPtrOutputWithContext(context.Background()) +} + +func (o CatalogTableOptimizerConfigurationRetentionConfigurationOutput) ToCatalogTableOptimizerConfigurationRetentionConfigurationPtrOutputWithContext(ctx context.Context) CatalogTableOptimizerConfigurationRetentionConfigurationPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v CatalogTableOptimizerConfigurationRetentionConfiguration) *CatalogTableOptimizerConfigurationRetentionConfiguration { + return &v + }).(CatalogTableOptimizerConfigurationRetentionConfigurationPtrOutput) +} + +// The configuration for an Iceberg snapshot retention optimizer. +func (o CatalogTableOptimizerConfigurationRetentionConfigurationOutput) IcebergConfiguration() CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationPtrOutput { + return o.ApplyT(func(v CatalogTableOptimizerConfigurationRetentionConfiguration) *CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfiguration { + return v.IcebergConfiguration + }).(CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationPtrOutput) +} + +type CatalogTableOptimizerConfigurationRetentionConfigurationPtrOutput struct{ *pulumi.OutputState } + +func (CatalogTableOptimizerConfigurationRetentionConfigurationPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**CatalogTableOptimizerConfigurationRetentionConfiguration)(nil)).Elem() +} + +func (o CatalogTableOptimizerConfigurationRetentionConfigurationPtrOutput) ToCatalogTableOptimizerConfigurationRetentionConfigurationPtrOutput() CatalogTableOptimizerConfigurationRetentionConfigurationPtrOutput { + return o +} + +func (o CatalogTableOptimizerConfigurationRetentionConfigurationPtrOutput) ToCatalogTableOptimizerConfigurationRetentionConfigurationPtrOutputWithContext(ctx context.Context) CatalogTableOptimizerConfigurationRetentionConfigurationPtrOutput { + return o +} + +func (o CatalogTableOptimizerConfigurationRetentionConfigurationPtrOutput) Elem() CatalogTableOptimizerConfigurationRetentionConfigurationOutput { + return o.ApplyT(func(v *CatalogTableOptimizerConfigurationRetentionConfiguration) CatalogTableOptimizerConfigurationRetentionConfiguration { + if v != nil { + return *v + } + var ret CatalogTableOptimizerConfigurationRetentionConfiguration + return ret + }).(CatalogTableOptimizerConfigurationRetentionConfigurationOutput) +} + +// The configuration for an Iceberg snapshot retention optimizer. +func (o CatalogTableOptimizerConfigurationRetentionConfigurationPtrOutput) IcebergConfiguration() CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationPtrOutput { + return o.ApplyT(func(v *CatalogTableOptimizerConfigurationRetentionConfiguration) *CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfiguration { + if v == nil { + return nil + } + return v.IcebergConfiguration + }).(CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationPtrOutput) +} + +type CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfiguration struct { + // If set to `false`, snapshots are only deleted from table metadata, and the underlying data and metadata files are not deleted. Defaults to `false`. + CleanExpiredFiles *bool `pulumi:"cleanExpiredFiles"` + // The number of Iceberg snapshots to retain within the retention period. Defaults to `1` or the corresponding Iceberg table configuration field if it exists. + NumberOfSnapshotsToRetain *float64 `pulumi:"numberOfSnapshotsToRetain"` + // The number of days to retain the Iceberg snapshots. Defaults to `5`, or the corresponding Iceberg table configuration field if it exists. + SnapshotRetentionPeriodInDays *float64 `pulumi:"snapshotRetentionPeriodInDays"` +} + +// CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationInput is an input type that accepts CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationArgs and CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationOutput values. +// You can construct a concrete instance of `CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationInput` via: +// +// CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationArgs{...} +type CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationInput interface { + pulumi.Input + + ToCatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationOutput() CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationOutput + ToCatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationOutputWithContext(context.Context) CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationOutput +} + +type CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationArgs struct { + // If set to `false`, snapshots are only deleted from table metadata, and the underlying data and metadata files are not deleted. Defaults to `false`. + CleanExpiredFiles pulumi.BoolPtrInput `pulumi:"cleanExpiredFiles"` + // The number of Iceberg snapshots to retain within the retention period. Defaults to `1` or the corresponding Iceberg table configuration field if it exists. + NumberOfSnapshotsToRetain pulumi.Float64PtrInput `pulumi:"numberOfSnapshotsToRetain"` + // The number of days to retain the Iceberg snapshots. Defaults to `5`, or the corresponding Iceberg table configuration field if it exists. + SnapshotRetentionPeriodInDays pulumi.Float64PtrInput `pulumi:"snapshotRetentionPeriodInDays"` +} + +func (CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfiguration)(nil)).Elem() +} + +func (i CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationArgs) ToCatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationOutput() CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationOutput { + return i.ToCatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationOutputWithContext(context.Background()) +} + +func (i CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationArgs) ToCatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationOutputWithContext(ctx context.Context) CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationOutput { + return pulumi.ToOutputWithContext(ctx, i).(CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationOutput) +} + +func (i CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationArgs) ToCatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationPtrOutput() CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationPtrOutput { + return i.ToCatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationPtrOutputWithContext(context.Background()) +} + +func (i CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationArgs) ToCatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationPtrOutputWithContext(ctx context.Context) CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationOutput).ToCatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationPtrOutputWithContext(ctx) +} + +// CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationPtrInput is an input type that accepts CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationArgs, CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationPtr and CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationPtrOutput values. +// You can construct a concrete instance of `CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationPtrInput` via: +// +// CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationArgs{...} +// +// or: +// +// nil +type CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationPtrInput interface { + pulumi.Input + + ToCatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationPtrOutput() CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationPtrOutput + ToCatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationPtrOutputWithContext(context.Context) CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationPtrOutput +} + +type catalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationPtrType CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationArgs + +func CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationPtr(v *CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationArgs) CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationPtrInput { + return (*catalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationPtrType)(v) +} + +func (*catalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfiguration)(nil)).Elem() +} + +func (i *catalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationPtrType) ToCatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationPtrOutput() CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationPtrOutput { + return i.ToCatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationPtrOutputWithContext(context.Background()) +} + +func (i *catalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationPtrType) ToCatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationPtrOutputWithContext(ctx context.Context) CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationPtrOutput) +} + +type CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationOutput struct{ *pulumi.OutputState } + +func (CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfiguration)(nil)).Elem() +} + +func (o CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationOutput) ToCatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationOutput() CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationOutput { + return o +} + +func (o CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationOutput) ToCatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationOutputWithContext(ctx context.Context) CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationOutput { + return o +} + +func (o CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationOutput) ToCatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationPtrOutput() CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationPtrOutput { + return o.ToCatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationPtrOutputWithContext(context.Background()) +} + +func (o CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationOutput) ToCatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationPtrOutputWithContext(ctx context.Context) CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfiguration) *CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfiguration { + return &v + }).(CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationPtrOutput) +} + +// If set to `false`, snapshots are only deleted from table metadata, and the underlying data and metadata files are not deleted. Defaults to `false`. +func (o CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationOutput) CleanExpiredFiles() pulumi.BoolPtrOutput { + return o.ApplyT(func(v CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfiguration) *bool { + return v.CleanExpiredFiles + }).(pulumi.BoolPtrOutput) +} + +// The number of Iceberg snapshots to retain within the retention period. Defaults to `1` or the corresponding Iceberg table configuration field if it exists. +func (o CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationOutput) NumberOfSnapshotsToRetain() pulumi.Float64PtrOutput { + return o.ApplyT(func(v CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfiguration) *float64 { + return v.NumberOfSnapshotsToRetain + }).(pulumi.Float64PtrOutput) +} + +// The number of days to retain the Iceberg snapshots. Defaults to `5`, or the corresponding Iceberg table configuration field if it exists. +func (o CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationOutput) SnapshotRetentionPeriodInDays() pulumi.Float64PtrOutput { + return o.ApplyT(func(v CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfiguration) *float64 { + return v.SnapshotRetentionPeriodInDays + }).(pulumi.Float64PtrOutput) +} + +type CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationPtrOutput struct{ *pulumi.OutputState } + +func (CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfiguration)(nil)).Elem() +} + +func (o CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationPtrOutput) ToCatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationPtrOutput() CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationPtrOutput { + return o +} + +func (o CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationPtrOutput) ToCatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationPtrOutputWithContext(ctx context.Context) CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationPtrOutput { + return o +} + +func (o CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationPtrOutput) Elem() CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationOutput { + return o.ApplyT(func(v *CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfiguration) CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfiguration { + if v != nil { + return *v + } + var ret CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfiguration + return ret + }).(CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationOutput) +} + +// If set to `false`, snapshots are only deleted from table metadata, and the underlying data and metadata files are not deleted. Defaults to `false`. +func (o CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationPtrOutput) CleanExpiredFiles() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfiguration) *bool { + if v == nil { + return nil + } + return v.CleanExpiredFiles + }).(pulumi.BoolPtrOutput) +} + +// The number of Iceberg snapshots to retain within the retention period. Defaults to `1` or the corresponding Iceberg table configuration field if it exists. +func (o CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationPtrOutput) NumberOfSnapshotsToRetain() pulumi.Float64PtrOutput { + return o.ApplyT(func(v *CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfiguration) *float64 { + if v == nil { + return nil + } + return v.NumberOfSnapshotsToRetain + }).(pulumi.Float64PtrOutput) +} + +// The number of days to retain the Iceberg snapshots. Defaults to `5`, or the corresponding Iceberg table configuration field if it exists. +func (o CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationPtrOutput) SnapshotRetentionPeriodInDays() pulumi.Float64PtrOutput { + return o.ApplyT(func(v *CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfiguration) *float64 { + if v == nil { + return nil + } + return v.SnapshotRetentionPeriodInDays + }).(pulumi.Float64PtrOutput) +} + type CatalogTablePartitionIndex struct { // Name of the partition index. IndexName string `pulumi:"indexName"` @@ -11633,6 +12294,14 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*CatalogTableOpenTableFormatInputIcebergInputPtrInput)(nil)).Elem(), CatalogTableOpenTableFormatInputIcebergInputArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*CatalogTableOptimizerConfigurationInput)(nil)).Elem(), CatalogTableOptimizerConfigurationArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*CatalogTableOptimizerConfigurationPtrInput)(nil)).Elem(), CatalogTableOptimizerConfigurationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationInput)(nil)).Elem(), CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationPtrInput)(nil)).Elem(), CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationInput)(nil)).Elem(), CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationPtrInput)(nil)).Elem(), CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CatalogTableOptimizerConfigurationRetentionConfigurationInput)(nil)).Elem(), CatalogTableOptimizerConfigurationRetentionConfigurationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CatalogTableOptimizerConfigurationRetentionConfigurationPtrInput)(nil)).Elem(), CatalogTableOptimizerConfigurationRetentionConfigurationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationInput)(nil)).Elem(), CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationPtrInput)(nil)).Elem(), CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*CatalogTablePartitionIndexInput)(nil)).Elem(), CatalogTablePartitionIndexArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*CatalogTablePartitionIndexArrayInput)(nil)).Elem(), CatalogTablePartitionIndexArray{}) pulumi.RegisterInputType(reflect.TypeOf((*CatalogTablePartitionKeyInput)(nil)).Elem(), CatalogTablePartitionKeyArgs{}) @@ -11789,6 +12458,14 @@ func init() { pulumi.RegisterOutputType(CatalogTableOpenTableFormatInputIcebergInputPtrOutput{}) pulumi.RegisterOutputType(CatalogTableOptimizerConfigurationOutput{}) pulumi.RegisterOutputType(CatalogTableOptimizerConfigurationPtrOutput{}) + pulumi.RegisterOutputType(CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationOutput{}) + pulumi.RegisterOutputType(CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationPtrOutput{}) + pulumi.RegisterOutputType(CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationOutput{}) + pulumi.RegisterOutputType(CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationPtrOutput{}) + pulumi.RegisterOutputType(CatalogTableOptimizerConfigurationRetentionConfigurationOutput{}) + pulumi.RegisterOutputType(CatalogTableOptimizerConfigurationRetentionConfigurationPtrOutput{}) + pulumi.RegisterOutputType(CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationOutput{}) + pulumi.RegisterOutputType(CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationPtrOutput{}) pulumi.RegisterOutputType(CatalogTablePartitionIndexOutput{}) pulumi.RegisterOutputType(CatalogTablePartitionIndexArrayOutput{}) pulumi.RegisterOutputType(CatalogTablePartitionKeyOutput{}) diff --git a/sdk/go/aws/iam/openIdConnectProvider.go b/sdk/go/aws/iam/openIdConnectProvider.go index 0da40051efb..547a167ea06 100644 --- a/sdk/go/aws/iam/openIdConnectProvider.go +++ b/sdk/go/aws/iam/openIdConnectProvider.go @@ -16,6 +16,8 @@ import ( // // ## Example Usage // +// ### Basic Usage +// // ```go // package main // @@ -46,6 +48,35 @@ import ( // // ``` // +// ### Without A Thumbprint +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := iam.NewOpenIdConnectProvider(ctx, "default", &iam.OpenIdConnectProviderArgs{ +// Url: pulumi.String("https://accounts.google.com"), +// ClientIdLists: pulumi.StringArray{ +// pulumi.String("266362248691-342342xasdasdasda-apps.googleusercontent.com"), +// }, +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// // ## Import // // Using `pulumi import`, import IAM OpenID Connect Providers using the `arn`. For example: @@ -56,19 +87,18 @@ import ( type OpenIdConnectProvider struct { pulumi.CustomResourceState - // The ARN assigned by AWS for this provider. + // ARN assigned by AWS for this provider. Arn pulumi.StringOutput `pulumi:"arn"` - // A list of client IDs (also known as audiences). When a mobile or web app registers with an OpenID Connect provider, they establish a value that identifies the application. (This is the value that's sent as the clientId parameter on OAuth requests.) + // List of client IDs (audiences) that identify the application registered with the OpenID Connect provider. This is the value sent as the `clientId` parameter in OAuth requests. ClientIdLists pulumi.StringArrayOutput `pulumi:"clientIdLists"` // Map of resource tags for the IAM OIDC provider. 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. + // Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. // // Deprecated: Please use `tags` instead. - TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"` - // A list of server certificate thumbprints for the OpenID Connect (OIDC) identity provider's server certificate(s). + TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"` ThumbprintLists pulumi.StringArrayOutput `pulumi:"thumbprintLists"` - // The URL of the identity provider. Corresponds to the _iss_ claim. + // URL of the identity provider, corresponding to the `iss` claim. Url pulumi.StringOutput `pulumi:"url"` } @@ -82,9 +112,6 @@ func NewOpenIdConnectProvider(ctx *pulumi.Context, if args.ClientIdLists == nil { return nil, errors.New("invalid value for required argument 'ClientIdLists'") } - if args.ThumbprintLists == nil { - return nil, errors.New("invalid value for required argument 'ThumbprintLists'") - } if args.Url == nil { return nil, errors.New("invalid value for required argument 'Url'") } @@ -111,36 +138,34 @@ func GetOpenIdConnectProvider(ctx *pulumi.Context, // Input properties used for looking up and filtering OpenIdConnectProvider resources. type openIdConnectProviderState struct { - // The ARN assigned by AWS for this provider. + // ARN assigned by AWS for this provider. Arn *string `pulumi:"arn"` - // A list of client IDs (also known as audiences). When a mobile or web app registers with an OpenID Connect provider, they establish a value that identifies the application. (This is the value that's sent as the clientId parameter on OAuth requests.) + // List of client IDs (audiences) that identify the application registered with the OpenID Connect provider. This is the value sent as the `clientId` parameter in OAuth requests. ClientIdLists []string `pulumi:"clientIdLists"` // Map of resource tags for the IAM OIDC provider. 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. + // Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. // // Deprecated: Please use `tags` instead. - TagsAll map[string]string `pulumi:"tagsAll"` - // A list of server certificate thumbprints for the OpenID Connect (OIDC) identity provider's server certificate(s). - ThumbprintLists []string `pulumi:"thumbprintLists"` - // The URL of the identity provider. Corresponds to the _iss_ claim. + TagsAll map[string]string `pulumi:"tagsAll"` + ThumbprintLists []string `pulumi:"thumbprintLists"` + // URL of the identity provider, corresponding to the `iss` claim. Url *string `pulumi:"url"` } type OpenIdConnectProviderState struct { - // The ARN assigned by AWS for this provider. + // ARN assigned by AWS for this provider. Arn pulumi.StringPtrInput - // A list of client IDs (also known as audiences). When a mobile or web app registers with an OpenID Connect provider, they establish a value that identifies the application. (This is the value that's sent as the clientId parameter on OAuth requests.) + // List of client IDs (audiences) that identify the application registered with the OpenID Connect provider. This is the value sent as the `clientId` parameter in OAuth requests. ClientIdLists pulumi.StringArrayInput // Map of resource tags for the IAM OIDC provider. 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. + // Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. // // Deprecated: Please use `tags` instead. - TagsAll pulumi.StringMapInput - // A list of server certificate thumbprints for the OpenID Connect (OIDC) identity provider's server certificate(s). + TagsAll pulumi.StringMapInput ThumbprintLists pulumi.StringArrayInput - // The URL of the identity provider. Corresponds to the _iss_ claim. + // URL of the identity provider, corresponding to the `iss` claim. Url pulumi.StringPtrInput } @@ -149,25 +174,23 @@ func (OpenIdConnectProviderState) ElementType() reflect.Type { } type openIdConnectProviderArgs struct { - // A list of client IDs (also known as audiences). When a mobile or web app registers with an OpenID Connect provider, they establish a value that identifies the application. (This is the value that's sent as the clientId parameter on OAuth requests.) + // List of client IDs (audiences) that identify the application registered with the OpenID Connect provider. This is the value sent as the `clientId` parameter in OAuth requests. ClientIdLists []string `pulumi:"clientIdLists"` // Map of resource tags for the IAM OIDC provider. 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 list of server certificate thumbprints for the OpenID Connect (OIDC) identity provider's server certificate(s). - ThumbprintLists []string `pulumi:"thumbprintLists"` - // The URL of the identity provider. Corresponds to the _iss_ claim. + Tags map[string]string `pulumi:"tags"` + ThumbprintLists []string `pulumi:"thumbprintLists"` + // URL of the identity provider, corresponding to the `iss` claim. Url string `pulumi:"url"` } // The set of arguments for constructing a OpenIdConnectProvider resource. type OpenIdConnectProviderArgs struct { - // A list of client IDs (also known as audiences). When a mobile or web app registers with an OpenID Connect provider, they establish a value that identifies the application. (This is the value that's sent as the clientId parameter on OAuth requests.) + // List of client IDs (audiences) that identify the application registered with the OpenID Connect provider. This is the value sent as the `clientId` parameter in OAuth requests. ClientIdLists pulumi.StringArrayInput // Map of resource tags for the IAM OIDC provider. 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 list of server certificate thumbprints for the OpenID Connect (OIDC) identity provider's server certificate(s). + Tags pulumi.StringMapInput ThumbprintLists pulumi.StringArrayInput - // The URL of the identity provider. Corresponds to the _iss_ claim. + // URL of the identity provider, corresponding to the `iss` claim. Url pulumi.StringInput } @@ -258,12 +281,12 @@ func (o OpenIdConnectProviderOutput) ToOpenIdConnectProviderOutputWithContext(ct return o } -// The ARN assigned by AWS for this provider. +// ARN assigned by AWS for this provider. func (o OpenIdConnectProviderOutput) Arn() pulumi.StringOutput { return o.ApplyT(func(v *OpenIdConnectProvider) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) } -// A list of client IDs (also known as audiences). When a mobile or web app registers with an OpenID Connect provider, they establish a value that identifies the application. (This is the value that's sent as the clientId parameter on OAuth requests.) +// List of client IDs (audiences) that identify the application registered with the OpenID Connect provider. This is the value sent as the `clientId` parameter in OAuth requests. func (o OpenIdConnectProviderOutput) ClientIdLists() pulumi.StringArrayOutput { return o.ApplyT(func(v *OpenIdConnectProvider) pulumi.StringArrayOutput { return v.ClientIdLists }).(pulumi.StringArrayOutput) } @@ -273,19 +296,18 @@ func (o OpenIdConnectProviderOutput) Tags() pulumi.StringMapOutput { return o.ApplyT(func(v *OpenIdConnectProvider) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) } -// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. +// Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. // // Deprecated: Please use `tags` instead. func (o OpenIdConnectProviderOutput) TagsAll() pulumi.StringMapOutput { return o.ApplyT(func(v *OpenIdConnectProvider) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput) } -// A list of server certificate thumbprints for the OpenID Connect (OIDC) identity provider's server certificate(s). func (o OpenIdConnectProviderOutput) ThumbprintLists() pulumi.StringArrayOutput { return o.ApplyT(func(v *OpenIdConnectProvider) pulumi.StringArrayOutput { return v.ThumbprintLists }).(pulumi.StringArrayOutput) } -// The URL of the identity provider. Corresponds to the _iss_ claim. +// URL of the identity provider, corresponding to the `iss` claim. func (o OpenIdConnectProviderOutput) Url() pulumi.StringOutput { return o.ApplyT(func(v *OpenIdConnectProvider) pulumi.StringOutput { return v.Url }).(pulumi.StringOutput) } diff --git a/sdk/go/aws/lb/listener.go b/sdk/go/aws/lb/listener.go index 5af77433eb8..f7abf17c6b1 100644 --- a/sdk/go/aws/lb/listener.go +++ b/sdk/go/aws/lb/listener.go @@ -433,6 +433,8 @@ type Listener struct { // Name of the SSL Policy for the listener. Required if `protocol` is `HTTPS` or `TLS`. Default is `ELBSecurityPolicy-2016-08`. SslPolicy pulumi.StringOutput `pulumi:"sslPolicy"` // A map of tags to assign to the resource. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + // + // > **Note::** When a `Name` key is specified in the map, the AWS Console maps the value to the `Name Tag` column value inside the `Listener Rules` table within a specific load balancer listener page. Otherwise, the value resolves to `Default`. Tags pulumi.StringMapOutput `pulumi:"tags"` // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. // @@ -505,6 +507,8 @@ type listenerState struct { // Name of the SSL Policy for the listener. Required if `protocol` is `HTTPS` or `TLS`. Default is `ELBSecurityPolicy-2016-08`. SslPolicy *string `pulumi:"sslPolicy"` // A map of tags to assign to the resource. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + // + // > **Note::** When a `Name` key is specified in the map, the AWS Console maps the value to the `Name Tag` column value inside the `Listener Rules` table within a specific load balancer listener page. Otherwise, the value resolves to `Default`. Tags map[string]string `pulumi:"tags"` // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. // @@ -536,6 +540,8 @@ type ListenerState struct { // Name of the SSL Policy for the listener. Required if `protocol` is `HTTPS` or `TLS`. Default is `ELBSecurityPolicy-2016-08`. SslPolicy pulumi.StringPtrInput // A map of tags to assign to the resource. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + // + // > **Note::** When a `Name` key is specified in the map, the AWS Console maps the value to the `Name Tag` column value inside the `Listener Rules` table within a specific load balancer listener page. Otherwise, the value resolves to `Default`. Tags pulumi.StringMapInput // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. // @@ -569,6 +575,8 @@ type listenerArgs struct { // Name of the SSL Policy for the listener. Required if `protocol` is `HTTPS` or `TLS`. Default is `ELBSecurityPolicy-2016-08`. SslPolicy *string `pulumi:"sslPolicy"` // A map of tags to assign to the resource. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + // + // > **Note::** When a `Name` key is specified in the map, the AWS Console maps the value to the `Name Tag` column value inside the `Listener Rules` table within a specific load balancer listener page. Otherwise, the value resolves to `Default`. Tags map[string]string `pulumi:"tags"` // TCP idle timeout value in seconds. Can only be set if protocol is `TCP` on Network Load Balancer, or with a Gateway Load Balancer. Not supported for Application Load Balancers. Valid values are between `60` and `6000` inclusive. Default: `350`. TcpIdleTimeoutSeconds *int `pulumi:"tcpIdleTimeoutSeconds"` @@ -595,6 +603,8 @@ type ListenerArgs struct { // Name of the SSL Policy for the listener. Required if `protocol` is `HTTPS` or `TLS`. Default is `ELBSecurityPolicy-2016-08`. SslPolicy pulumi.StringPtrInput // A map of tags to assign to the resource. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + // + // > **Note::** When a `Name` key is specified in the map, the AWS Console maps the value to the `Name Tag` column value inside the `Listener Rules` table within a specific load balancer listener page. Otherwise, the value resolves to `Default`. Tags pulumi.StringMapInput // TCP idle timeout value in seconds. Can only be set if protocol is `TCP` on Network Load Balancer, or with a Gateway Load Balancer. Not supported for Application Load Balancers. Valid values are between `60` and `6000` inclusive. Default: `350`. TcpIdleTimeoutSeconds pulumi.IntPtrInput @@ -735,6 +745,8 @@ func (o ListenerOutput) SslPolicy() pulumi.StringOutput { } // A map of tags to assign to the resource. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. +// +// > **Note::** When a `Name` key is specified in the map, the AWS Console maps the value to the `Name Tag` column value inside the `Listener Rules` table within a specific load balancer listener page. Otherwise, the value resolves to `Default`. func (o ListenerOutput) Tags() pulumi.StringMapOutput { return o.ApplyT(func(v *Listener) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) } diff --git a/sdk/go/aws/msk/init.go b/sdk/go/aws/msk/init.go index ea772897045..48ceddc000e 100644 --- a/sdk/go/aws/msk/init.go +++ b/sdk/go/aws/msk/init.go @@ -33,6 +33,8 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi r = &ScramSecretAssociation{} case "aws:msk/serverlessCluster:ServerlessCluster": r = &ServerlessCluster{} + case "aws:msk/singleScramSecretAssociation:SingleScramSecretAssociation": + r = &SingleScramSecretAssociation{} case "aws:msk/vpcConnection:VpcConnection": r = &VpcConnection{} default: @@ -78,6 +80,11 @@ func init() { "msk/serverlessCluster", &module{version}, ) + pulumi.RegisterResourceModule( + "aws", + "msk/singleScramSecretAssociation", + &module{version}, + ) pulumi.RegisterResourceModule( "aws", "msk/vpcConnection", diff --git a/sdk/go/aws/msk/pulumiTypes.go b/sdk/go/aws/msk/pulumiTypes.go index 0a925f8ecda..97dfc3a3858 100644 --- a/sdk/go/aws/msk/pulumiTypes.go +++ b/sdk/go/aws/msk/pulumiTypes.go @@ -4330,7 +4330,8 @@ type ReplicatorReplicationInfoListTopicReplication struct { // Whether to periodically check for new topics and partitions. DetectAndCopyNewTopics *bool `pulumi:"detectAndCopyNewTopics"` // Configuration for specifying the position in the topics to start replicating from. - StartingPosition *ReplicatorReplicationInfoListTopicReplicationStartingPosition `pulumi:"startingPosition"` + StartingPosition *ReplicatorReplicationInfoListTopicReplicationStartingPosition `pulumi:"startingPosition"` + TopicNameConfiguration *ReplicatorReplicationInfoListTopicReplicationTopicNameConfiguration `pulumi:"topicNameConfiguration"` // List of regular expression patterns indicating the topics that should not be replica. TopicsToExcludes []string `pulumi:"topicsToExcludes"` // List of regular expression patterns indicating the topics to copy. @@ -4356,7 +4357,8 @@ type ReplicatorReplicationInfoListTopicReplicationArgs struct { // Whether to periodically check for new topics and partitions. DetectAndCopyNewTopics pulumi.BoolPtrInput `pulumi:"detectAndCopyNewTopics"` // Configuration for specifying the position in the topics to start replicating from. - StartingPosition ReplicatorReplicationInfoListTopicReplicationStartingPositionPtrInput `pulumi:"startingPosition"` + StartingPosition ReplicatorReplicationInfoListTopicReplicationStartingPositionPtrInput `pulumi:"startingPosition"` + TopicNameConfiguration ReplicatorReplicationInfoListTopicReplicationTopicNameConfigurationPtrInput `pulumi:"topicNameConfiguration"` // List of regular expression patterns indicating the topics that should not be replica. TopicsToExcludes pulumi.StringArrayInput `pulumi:"topicsToExcludes"` // List of regular expression patterns indicating the topics to copy. @@ -4436,6 +4438,12 @@ func (o ReplicatorReplicationInfoListTopicReplicationOutput) StartingPosition() }).(ReplicatorReplicationInfoListTopicReplicationStartingPositionPtrOutput) } +func (o ReplicatorReplicationInfoListTopicReplicationOutput) TopicNameConfiguration() ReplicatorReplicationInfoListTopicReplicationTopicNameConfigurationPtrOutput { + return o.ApplyT(func(v ReplicatorReplicationInfoListTopicReplication) *ReplicatorReplicationInfoListTopicReplicationTopicNameConfiguration { + return v.TopicNameConfiguration + }).(ReplicatorReplicationInfoListTopicReplicationTopicNameConfigurationPtrOutput) +} + // List of regular expression patterns indicating the topics that should not be replica. func (o ReplicatorReplicationInfoListTopicReplicationOutput) TopicsToExcludes() pulumi.StringArrayOutput { return o.ApplyT(func(v ReplicatorReplicationInfoListTopicReplication) []string { return v.TopicsToExcludes }).(pulumi.StringArrayOutput) @@ -4603,6 +4611,139 @@ func (o ReplicatorReplicationInfoListTopicReplicationStartingPositionPtrOutput) }).(pulumi.StringPtrOutput) } +type ReplicatorReplicationInfoListTopicReplicationTopicNameConfiguration struct { + Type *string `pulumi:"type"` +} + +// ReplicatorReplicationInfoListTopicReplicationTopicNameConfigurationInput is an input type that accepts ReplicatorReplicationInfoListTopicReplicationTopicNameConfigurationArgs and ReplicatorReplicationInfoListTopicReplicationTopicNameConfigurationOutput values. +// You can construct a concrete instance of `ReplicatorReplicationInfoListTopicReplicationTopicNameConfigurationInput` via: +// +// ReplicatorReplicationInfoListTopicReplicationTopicNameConfigurationArgs{...} +type ReplicatorReplicationInfoListTopicReplicationTopicNameConfigurationInput interface { + pulumi.Input + + ToReplicatorReplicationInfoListTopicReplicationTopicNameConfigurationOutput() ReplicatorReplicationInfoListTopicReplicationTopicNameConfigurationOutput + ToReplicatorReplicationInfoListTopicReplicationTopicNameConfigurationOutputWithContext(context.Context) ReplicatorReplicationInfoListTopicReplicationTopicNameConfigurationOutput +} + +type ReplicatorReplicationInfoListTopicReplicationTopicNameConfigurationArgs struct { + Type pulumi.StringPtrInput `pulumi:"type"` +} + +func (ReplicatorReplicationInfoListTopicReplicationTopicNameConfigurationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ReplicatorReplicationInfoListTopicReplicationTopicNameConfiguration)(nil)).Elem() +} + +func (i ReplicatorReplicationInfoListTopicReplicationTopicNameConfigurationArgs) ToReplicatorReplicationInfoListTopicReplicationTopicNameConfigurationOutput() ReplicatorReplicationInfoListTopicReplicationTopicNameConfigurationOutput { + return i.ToReplicatorReplicationInfoListTopicReplicationTopicNameConfigurationOutputWithContext(context.Background()) +} + +func (i ReplicatorReplicationInfoListTopicReplicationTopicNameConfigurationArgs) ToReplicatorReplicationInfoListTopicReplicationTopicNameConfigurationOutputWithContext(ctx context.Context) ReplicatorReplicationInfoListTopicReplicationTopicNameConfigurationOutput { + return pulumi.ToOutputWithContext(ctx, i).(ReplicatorReplicationInfoListTopicReplicationTopicNameConfigurationOutput) +} + +func (i ReplicatorReplicationInfoListTopicReplicationTopicNameConfigurationArgs) ToReplicatorReplicationInfoListTopicReplicationTopicNameConfigurationPtrOutput() ReplicatorReplicationInfoListTopicReplicationTopicNameConfigurationPtrOutput { + return i.ToReplicatorReplicationInfoListTopicReplicationTopicNameConfigurationPtrOutputWithContext(context.Background()) +} + +func (i ReplicatorReplicationInfoListTopicReplicationTopicNameConfigurationArgs) ToReplicatorReplicationInfoListTopicReplicationTopicNameConfigurationPtrOutputWithContext(ctx context.Context) ReplicatorReplicationInfoListTopicReplicationTopicNameConfigurationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ReplicatorReplicationInfoListTopicReplicationTopicNameConfigurationOutput).ToReplicatorReplicationInfoListTopicReplicationTopicNameConfigurationPtrOutputWithContext(ctx) +} + +// ReplicatorReplicationInfoListTopicReplicationTopicNameConfigurationPtrInput is an input type that accepts ReplicatorReplicationInfoListTopicReplicationTopicNameConfigurationArgs, ReplicatorReplicationInfoListTopicReplicationTopicNameConfigurationPtr and ReplicatorReplicationInfoListTopicReplicationTopicNameConfigurationPtrOutput values. +// You can construct a concrete instance of `ReplicatorReplicationInfoListTopicReplicationTopicNameConfigurationPtrInput` via: +// +// ReplicatorReplicationInfoListTopicReplicationTopicNameConfigurationArgs{...} +// +// or: +// +// nil +type ReplicatorReplicationInfoListTopicReplicationTopicNameConfigurationPtrInput interface { + pulumi.Input + + ToReplicatorReplicationInfoListTopicReplicationTopicNameConfigurationPtrOutput() ReplicatorReplicationInfoListTopicReplicationTopicNameConfigurationPtrOutput + ToReplicatorReplicationInfoListTopicReplicationTopicNameConfigurationPtrOutputWithContext(context.Context) ReplicatorReplicationInfoListTopicReplicationTopicNameConfigurationPtrOutput +} + +type replicatorReplicationInfoListTopicReplicationTopicNameConfigurationPtrType ReplicatorReplicationInfoListTopicReplicationTopicNameConfigurationArgs + +func ReplicatorReplicationInfoListTopicReplicationTopicNameConfigurationPtr(v *ReplicatorReplicationInfoListTopicReplicationTopicNameConfigurationArgs) ReplicatorReplicationInfoListTopicReplicationTopicNameConfigurationPtrInput { + return (*replicatorReplicationInfoListTopicReplicationTopicNameConfigurationPtrType)(v) +} + +func (*replicatorReplicationInfoListTopicReplicationTopicNameConfigurationPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**ReplicatorReplicationInfoListTopicReplicationTopicNameConfiguration)(nil)).Elem() +} + +func (i *replicatorReplicationInfoListTopicReplicationTopicNameConfigurationPtrType) ToReplicatorReplicationInfoListTopicReplicationTopicNameConfigurationPtrOutput() ReplicatorReplicationInfoListTopicReplicationTopicNameConfigurationPtrOutput { + return i.ToReplicatorReplicationInfoListTopicReplicationTopicNameConfigurationPtrOutputWithContext(context.Background()) +} + +func (i *replicatorReplicationInfoListTopicReplicationTopicNameConfigurationPtrType) ToReplicatorReplicationInfoListTopicReplicationTopicNameConfigurationPtrOutputWithContext(ctx context.Context) ReplicatorReplicationInfoListTopicReplicationTopicNameConfigurationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ReplicatorReplicationInfoListTopicReplicationTopicNameConfigurationPtrOutput) +} + +type ReplicatorReplicationInfoListTopicReplicationTopicNameConfigurationOutput struct{ *pulumi.OutputState } + +func (ReplicatorReplicationInfoListTopicReplicationTopicNameConfigurationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ReplicatorReplicationInfoListTopicReplicationTopicNameConfiguration)(nil)).Elem() +} + +func (o ReplicatorReplicationInfoListTopicReplicationTopicNameConfigurationOutput) ToReplicatorReplicationInfoListTopicReplicationTopicNameConfigurationOutput() ReplicatorReplicationInfoListTopicReplicationTopicNameConfigurationOutput { + return o +} + +func (o ReplicatorReplicationInfoListTopicReplicationTopicNameConfigurationOutput) ToReplicatorReplicationInfoListTopicReplicationTopicNameConfigurationOutputWithContext(ctx context.Context) ReplicatorReplicationInfoListTopicReplicationTopicNameConfigurationOutput { + return o +} + +func (o ReplicatorReplicationInfoListTopicReplicationTopicNameConfigurationOutput) ToReplicatorReplicationInfoListTopicReplicationTopicNameConfigurationPtrOutput() ReplicatorReplicationInfoListTopicReplicationTopicNameConfigurationPtrOutput { + return o.ToReplicatorReplicationInfoListTopicReplicationTopicNameConfigurationPtrOutputWithContext(context.Background()) +} + +func (o ReplicatorReplicationInfoListTopicReplicationTopicNameConfigurationOutput) ToReplicatorReplicationInfoListTopicReplicationTopicNameConfigurationPtrOutputWithContext(ctx context.Context) ReplicatorReplicationInfoListTopicReplicationTopicNameConfigurationPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ReplicatorReplicationInfoListTopicReplicationTopicNameConfiguration) *ReplicatorReplicationInfoListTopicReplicationTopicNameConfiguration { + return &v + }).(ReplicatorReplicationInfoListTopicReplicationTopicNameConfigurationPtrOutput) +} + +func (o ReplicatorReplicationInfoListTopicReplicationTopicNameConfigurationOutput) Type() pulumi.StringPtrOutput { + return o.ApplyT(func(v ReplicatorReplicationInfoListTopicReplicationTopicNameConfiguration) *string { return v.Type }).(pulumi.StringPtrOutput) +} + +type ReplicatorReplicationInfoListTopicReplicationTopicNameConfigurationPtrOutput struct{ *pulumi.OutputState } + +func (ReplicatorReplicationInfoListTopicReplicationTopicNameConfigurationPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ReplicatorReplicationInfoListTopicReplicationTopicNameConfiguration)(nil)).Elem() +} + +func (o ReplicatorReplicationInfoListTopicReplicationTopicNameConfigurationPtrOutput) ToReplicatorReplicationInfoListTopicReplicationTopicNameConfigurationPtrOutput() ReplicatorReplicationInfoListTopicReplicationTopicNameConfigurationPtrOutput { + return o +} + +func (o ReplicatorReplicationInfoListTopicReplicationTopicNameConfigurationPtrOutput) ToReplicatorReplicationInfoListTopicReplicationTopicNameConfigurationPtrOutputWithContext(ctx context.Context) ReplicatorReplicationInfoListTopicReplicationTopicNameConfigurationPtrOutput { + return o +} + +func (o ReplicatorReplicationInfoListTopicReplicationTopicNameConfigurationPtrOutput) Elem() ReplicatorReplicationInfoListTopicReplicationTopicNameConfigurationOutput { + return o.ApplyT(func(v *ReplicatorReplicationInfoListTopicReplicationTopicNameConfiguration) ReplicatorReplicationInfoListTopicReplicationTopicNameConfiguration { + if v != nil { + return *v + } + var ret ReplicatorReplicationInfoListTopicReplicationTopicNameConfiguration + return ret + }).(ReplicatorReplicationInfoListTopicReplicationTopicNameConfigurationOutput) +} + +func (o ReplicatorReplicationInfoListTopicReplicationTopicNameConfigurationPtrOutput) Type() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ReplicatorReplicationInfoListTopicReplicationTopicNameConfiguration) *string { + if v == nil { + return nil + } + return v.Type + }).(pulumi.StringPtrOutput) +} + type ServerlessClusterClientAuthentication struct { // Details for client authentication using SASL. See below. Sasl ServerlessClusterClientAuthenticationSasl `pulumi:"sasl"` @@ -6257,6 +6398,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*ReplicatorReplicationInfoListTopicReplicationArrayInput)(nil)).Elem(), ReplicatorReplicationInfoListTopicReplicationArray{}) pulumi.RegisterInputType(reflect.TypeOf((*ReplicatorReplicationInfoListTopicReplicationStartingPositionInput)(nil)).Elem(), ReplicatorReplicationInfoListTopicReplicationStartingPositionArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ReplicatorReplicationInfoListTopicReplicationStartingPositionPtrInput)(nil)).Elem(), ReplicatorReplicationInfoListTopicReplicationStartingPositionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ReplicatorReplicationInfoListTopicReplicationTopicNameConfigurationInput)(nil)).Elem(), ReplicatorReplicationInfoListTopicReplicationTopicNameConfigurationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ReplicatorReplicationInfoListTopicReplicationTopicNameConfigurationPtrInput)(nil)).Elem(), ReplicatorReplicationInfoListTopicReplicationTopicNameConfigurationArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ServerlessClusterClientAuthenticationInput)(nil)).Elem(), ServerlessClusterClientAuthenticationArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ServerlessClusterClientAuthenticationPtrInput)(nil)).Elem(), ServerlessClusterClientAuthenticationArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ServerlessClusterClientAuthenticationSaslInput)(nil)).Elem(), ServerlessClusterClientAuthenticationSaslArgs{}) @@ -6345,6 +6488,8 @@ func init() { pulumi.RegisterOutputType(ReplicatorReplicationInfoListTopicReplicationArrayOutput{}) pulumi.RegisterOutputType(ReplicatorReplicationInfoListTopicReplicationStartingPositionOutput{}) pulumi.RegisterOutputType(ReplicatorReplicationInfoListTopicReplicationStartingPositionPtrOutput{}) + pulumi.RegisterOutputType(ReplicatorReplicationInfoListTopicReplicationTopicNameConfigurationOutput{}) + pulumi.RegisterOutputType(ReplicatorReplicationInfoListTopicReplicationTopicNameConfigurationPtrOutput{}) pulumi.RegisterOutputType(ServerlessClusterClientAuthenticationOutput{}) pulumi.RegisterOutputType(ServerlessClusterClientAuthenticationPtrOutput{}) pulumi.RegisterOutputType(ServerlessClusterClientAuthenticationSaslOutput{}) diff --git a/sdk/go/aws/msk/replicator.go b/sdk/go/aws/msk/replicator.go index b65464e81a1..3733fc5d497 100644 --- a/sdk/go/aws/msk/replicator.go +++ b/sdk/go/aws/msk/replicator.go @@ -16,78 +16,6 @@ import ( // // ## Example Usage // -// ### Basic Usage -// -// ```go -// package main -// -// import ( -// -// "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/msk" -// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" -// -// ) -// func main() { -// pulumi.Run(func(ctx *pulumi.Context) error { -// _, err := msk.NewReplicator(ctx, "test", &msk.ReplicatorArgs{ -// ReplicatorName: pulumi.String("test-name"), -// Description: pulumi.String("test-description"), -// ServiceExecutionRoleArn: pulumi.Any(sourceAwsIamRole.Arn), -// KafkaClusters: msk.ReplicatorKafkaClusterArray{ -// &msk.ReplicatorKafkaClusterArgs{ -// AmazonMskCluster: &msk.ReplicatorKafkaClusterAmazonMskClusterArgs{ -// MskClusterArn: pulumi.Any(source.Arn), -// }, -// VpcConfig: &msk.ReplicatorKafkaClusterVpcConfigArgs{ -// SubnetIds: []pulumi.String(%!v(PANIC=Format method: fatal: A failure has occurred: unlowered splat expression @ example.pp:9,27-48)), -// SecurityGroupsIds: pulumi.StringArray{ -// sourceAwsSecurityGroup.Id, -// }, -// }, -// }, -// &msk.ReplicatorKafkaClusterArgs{ -// AmazonMskCluster: &msk.ReplicatorKafkaClusterAmazonMskClusterArgs{ -// MskClusterArn: pulumi.Any(target.Arn), -// }, -// VpcConfig: &msk.ReplicatorKafkaClusterVpcConfigArgs{ -// SubnetIds: []pulumi.String(%!v(PANIC=Format method: fatal: A failure has occurred: unlowered splat expression @ example.pp:17,27-48)), -// SecurityGroupsIds: pulumi.StringArray{ -// targetAwsSecurityGroup.Id, -// }, -// }, -// }, -// }, -// ReplicationInfoList: &msk.ReplicatorReplicationInfoListArgs{ -// SourceKafkaClusterArn: pulumi.Any(source.Arn), -// TargetKafkaClusterArn: pulumi.Any(target.Arn), -// TargetCompressionType: pulumi.String("NONE"), -// TopicReplications: msk.ReplicatorReplicationInfoListTopicReplicationArray{ -// &msk.ReplicatorReplicationInfoListTopicReplicationArgs{ -// TopicsToReplicates: pulumi.StringArray{ -// pulumi.String(".*"), -// }, -// StartingPosition: &msk.ReplicatorReplicationInfoListTopicReplicationStartingPositionArgs{ -// Type: pulumi.String("LATEST"), -// }, -// }, -// }, -// ConsumerGroupReplications: msk.ReplicatorReplicationInfoListConsumerGroupReplicationArray{ -// &msk.ReplicatorReplicationInfoListConsumerGroupReplicationArgs{ -// ConsumerGroupsToReplicates: pulumi.StringArray{ -// pulumi.String(".*"), -// }, -// }, -// }, -// }, -// }) -// if err != nil { -// return err -// } -// return nil -// }) -// } -// ``` -// // ## Import // // Using `pulumi import`, import MSK replicators using the replicator ARN. For example: diff --git a/sdk/go/aws/msk/scramSecretAssociation.go b/sdk/go/aws/msk/scramSecretAssociation.go index 0ecff16eb5a..89f90277c93 100644 --- a/sdk/go/aws/msk/scramSecretAssociation.go +++ b/sdk/go/aws/msk/scramSecretAssociation.go @@ -14,6 +14,8 @@ import ( // Associates SCRAM secrets stored in the Secrets Manager service with a Managed Streaming for Kafka (MSK) cluster. // +// !> This resource takes exclusive ownership over SCRAM secrets associated with a cluster. This includes removal of SCRAM secrets which are not explicitly configured. To prevent persistent drift, ensure any `msk.SingleScramSecretAssociation` resources managed alongside this resource are included in the `secretArnList` argument. +// // > **Note:** The following assumes the MSK cluster has SASL/SCRAM authentication enabled. See below for example usage or refer to the [Username/Password Authentication](https://docs.aws.amazon.com/msk/latest/developerguide/msk-password.html) section of the MSK Developer Guide for more details. // // To set up username and password authentication for a cluster, create an `secretsmanager.Secret` resource and associate diff --git a/sdk/go/aws/msk/singleScramSecretAssociation.go b/sdk/go/aws/msk/singleScramSecretAssociation.go new file mode 100644 index 00000000000..acc2a1455ca --- /dev/null +++ b/sdk/go/aws/msk/singleScramSecretAssociation.go @@ -0,0 +1,272 @@ +// 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 msk + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Associates a single SCRAM secret with a Managed Streaming for Kafka (MSK) cluster. +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/msk" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := msk.NewSingleScramSecretAssociation(ctx, "example", &msk.SingleScramSecretAssociationArgs{ +// ClusterArn: pulumi.Any(exampleAwsMskCluster.Arn), +// SecretArn: pulumi.Any(exampleAwsSecretsmanagerSecret.Arn), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// ## Import +// +// Using `pulumi import`, import an MSK SCRAM Secret Association using the `cluster_arn` and `secret_arn`. For example: +// +// ```sh +// $ pulumi import aws:msk/singleScramSecretAssociation:SingleScramSecretAssociation example arn:aws:kafka:us-west-2:123456789012:cluster/example/279c0212-d057-4dba-9aa9-1c4e5a25bfc7-3,arn:aws:secretsmanager:us-east-1:123456789012:secret:example-123456 +// ``` +type SingleScramSecretAssociation struct { + pulumi.CustomResourceState + + // Amazon Resource Name (ARN) of the MSK cluster. + ClusterArn pulumi.StringOutput `pulumi:"clusterArn"` + // AWS Secrets Manager secret ARN. + SecretArn pulumi.StringOutput `pulumi:"secretArn"` +} + +// NewSingleScramSecretAssociation registers a new resource with the given unique name, arguments, and options. +func NewSingleScramSecretAssociation(ctx *pulumi.Context, + name string, args *SingleScramSecretAssociationArgs, opts ...pulumi.ResourceOption) (*SingleScramSecretAssociation, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.ClusterArn == nil { + return nil, errors.New("invalid value for required argument 'ClusterArn'") + } + if args.SecretArn == nil { + return nil, errors.New("invalid value for required argument 'SecretArn'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource SingleScramSecretAssociation + err := ctx.RegisterResource("aws:msk/singleScramSecretAssociation:SingleScramSecretAssociation", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetSingleScramSecretAssociation gets an existing SingleScramSecretAssociation 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 GetSingleScramSecretAssociation(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *SingleScramSecretAssociationState, opts ...pulumi.ResourceOption) (*SingleScramSecretAssociation, error) { + var resource SingleScramSecretAssociation + err := ctx.ReadResource("aws:msk/singleScramSecretAssociation:SingleScramSecretAssociation", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering SingleScramSecretAssociation resources. +type singleScramSecretAssociationState struct { + // Amazon Resource Name (ARN) of the MSK cluster. + ClusterArn *string `pulumi:"clusterArn"` + // AWS Secrets Manager secret ARN. + SecretArn *string `pulumi:"secretArn"` +} + +type SingleScramSecretAssociationState struct { + // Amazon Resource Name (ARN) of the MSK cluster. + ClusterArn pulumi.StringPtrInput + // AWS Secrets Manager secret ARN. + SecretArn pulumi.StringPtrInput +} + +func (SingleScramSecretAssociationState) ElementType() reflect.Type { + return reflect.TypeOf((*singleScramSecretAssociationState)(nil)).Elem() +} + +type singleScramSecretAssociationArgs struct { + // Amazon Resource Name (ARN) of the MSK cluster. + ClusterArn string `pulumi:"clusterArn"` + // AWS Secrets Manager secret ARN. + SecretArn string `pulumi:"secretArn"` +} + +// The set of arguments for constructing a SingleScramSecretAssociation resource. +type SingleScramSecretAssociationArgs struct { + // Amazon Resource Name (ARN) of the MSK cluster. + ClusterArn pulumi.StringInput + // AWS Secrets Manager secret ARN. + SecretArn pulumi.StringInput +} + +func (SingleScramSecretAssociationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*singleScramSecretAssociationArgs)(nil)).Elem() +} + +type SingleScramSecretAssociationInput interface { + pulumi.Input + + ToSingleScramSecretAssociationOutput() SingleScramSecretAssociationOutput + ToSingleScramSecretAssociationOutputWithContext(ctx context.Context) SingleScramSecretAssociationOutput +} + +func (*SingleScramSecretAssociation) ElementType() reflect.Type { + return reflect.TypeOf((**SingleScramSecretAssociation)(nil)).Elem() +} + +func (i *SingleScramSecretAssociation) ToSingleScramSecretAssociationOutput() SingleScramSecretAssociationOutput { + return i.ToSingleScramSecretAssociationOutputWithContext(context.Background()) +} + +func (i *SingleScramSecretAssociation) ToSingleScramSecretAssociationOutputWithContext(ctx context.Context) SingleScramSecretAssociationOutput { + return pulumi.ToOutputWithContext(ctx, i).(SingleScramSecretAssociationOutput) +} + +// SingleScramSecretAssociationArrayInput is an input type that accepts SingleScramSecretAssociationArray and SingleScramSecretAssociationArrayOutput values. +// You can construct a concrete instance of `SingleScramSecretAssociationArrayInput` via: +// +// SingleScramSecretAssociationArray{ SingleScramSecretAssociationArgs{...} } +type SingleScramSecretAssociationArrayInput interface { + pulumi.Input + + ToSingleScramSecretAssociationArrayOutput() SingleScramSecretAssociationArrayOutput + ToSingleScramSecretAssociationArrayOutputWithContext(context.Context) SingleScramSecretAssociationArrayOutput +} + +type SingleScramSecretAssociationArray []SingleScramSecretAssociationInput + +func (SingleScramSecretAssociationArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*SingleScramSecretAssociation)(nil)).Elem() +} + +func (i SingleScramSecretAssociationArray) ToSingleScramSecretAssociationArrayOutput() SingleScramSecretAssociationArrayOutput { + return i.ToSingleScramSecretAssociationArrayOutputWithContext(context.Background()) +} + +func (i SingleScramSecretAssociationArray) ToSingleScramSecretAssociationArrayOutputWithContext(ctx context.Context) SingleScramSecretAssociationArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(SingleScramSecretAssociationArrayOutput) +} + +// SingleScramSecretAssociationMapInput is an input type that accepts SingleScramSecretAssociationMap and SingleScramSecretAssociationMapOutput values. +// You can construct a concrete instance of `SingleScramSecretAssociationMapInput` via: +// +// SingleScramSecretAssociationMap{ "key": SingleScramSecretAssociationArgs{...} } +type SingleScramSecretAssociationMapInput interface { + pulumi.Input + + ToSingleScramSecretAssociationMapOutput() SingleScramSecretAssociationMapOutput + ToSingleScramSecretAssociationMapOutputWithContext(context.Context) SingleScramSecretAssociationMapOutput +} + +type SingleScramSecretAssociationMap map[string]SingleScramSecretAssociationInput + +func (SingleScramSecretAssociationMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*SingleScramSecretAssociation)(nil)).Elem() +} + +func (i SingleScramSecretAssociationMap) ToSingleScramSecretAssociationMapOutput() SingleScramSecretAssociationMapOutput { + return i.ToSingleScramSecretAssociationMapOutputWithContext(context.Background()) +} + +func (i SingleScramSecretAssociationMap) ToSingleScramSecretAssociationMapOutputWithContext(ctx context.Context) SingleScramSecretAssociationMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(SingleScramSecretAssociationMapOutput) +} + +type SingleScramSecretAssociationOutput struct{ *pulumi.OutputState } + +func (SingleScramSecretAssociationOutput) ElementType() reflect.Type { + return reflect.TypeOf((**SingleScramSecretAssociation)(nil)).Elem() +} + +func (o SingleScramSecretAssociationOutput) ToSingleScramSecretAssociationOutput() SingleScramSecretAssociationOutput { + return o +} + +func (o SingleScramSecretAssociationOutput) ToSingleScramSecretAssociationOutputWithContext(ctx context.Context) SingleScramSecretAssociationOutput { + return o +} + +// Amazon Resource Name (ARN) of the MSK cluster. +func (o SingleScramSecretAssociationOutput) ClusterArn() pulumi.StringOutput { + return o.ApplyT(func(v *SingleScramSecretAssociation) pulumi.StringOutput { return v.ClusterArn }).(pulumi.StringOutput) +} + +// AWS Secrets Manager secret ARN. +func (o SingleScramSecretAssociationOutput) SecretArn() pulumi.StringOutput { + return o.ApplyT(func(v *SingleScramSecretAssociation) pulumi.StringOutput { return v.SecretArn }).(pulumi.StringOutput) +} + +type SingleScramSecretAssociationArrayOutput struct{ *pulumi.OutputState } + +func (SingleScramSecretAssociationArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*SingleScramSecretAssociation)(nil)).Elem() +} + +func (o SingleScramSecretAssociationArrayOutput) ToSingleScramSecretAssociationArrayOutput() SingleScramSecretAssociationArrayOutput { + return o +} + +func (o SingleScramSecretAssociationArrayOutput) ToSingleScramSecretAssociationArrayOutputWithContext(ctx context.Context) SingleScramSecretAssociationArrayOutput { + return o +} + +func (o SingleScramSecretAssociationArrayOutput) Index(i pulumi.IntInput) SingleScramSecretAssociationOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *SingleScramSecretAssociation { + return vs[0].([]*SingleScramSecretAssociation)[vs[1].(int)] + }).(SingleScramSecretAssociationOutput) +} + +type SingleScramSecretAssociationMapOutput struct{ *pulumi.OutputState } + +func (SingleScramSecretAssociationMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*SingleScramSecretAssociation)(nil)).Elem() +} + +func (o SingleScramSecretAssociationMapOutput) ToSingleScramSecretAssociationMapOutput() SingleScramSecretAssociationMapOutput { + return o +} + +func (o SingleScramSecretAssociationMapOutput) ToSingleScramSecretAssociationMapOutputWithContext(ctx context.Context) SingleScramSecretAssociationMapOutput { + return o +} + +func (o SingleScramSecretAssociationMapOutput) MapIndex(k pulumi.StringInput) SingleScramSecretAssociationOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *SingleScramSecretAssociation { + return vs[0].(map[string]*SingleScramSecretAssociation)[vs[1].(string)] + }).(SingleScramSecretAssociationOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*SingleScramSecretAssociationInput)(nil)).Elem(), &SingleScramSecretAssociation{}) + pulumi.RegisterInputType(reflect.TypeOf((*SingleScramSecretAssociationArrayInput)(nil)).Elem(), SingleScramSecretAssociationArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*SingleScramSecretAssociationMapInput)(nil)).Elem(), SingleScramSecretAssociationMap{}) + pulumi.RegisterOutputType(SingleScramSecretAssociationOutput{}) + pulumi.RegisterOutputType(SingleScramSecretAssociationArrayOutput{}) + pulumi.RegisterOutputType(SingleScramSecretAssociationMapOutput{}) +} diff --git a/sdk/go/aws/networkfirewall/loggingConfiguration.go b/sdk/go/aws/networkfirewall/loggingConfiguration.go index a3f89e99196..bf5b97e615b 100644 --- a/sdk/go/aws/networkfirewall/loggingConfiguration.go +++ b/sdk/go/aws/networkfirewall/loggingConfiguration.go @@ -37,7 +37,7 @@ import ( // &networkfirewall.LoggingConfigurationLoggingConfigurationLogDestinationConfigArgs{ // LogDestination: pulumi.StringMap{ // "bucketName": pulumi.Any(exampleAwsS3Bucket.Bucket), -// "prefix": pulumi.String("/example"), +// "prefix": pulumi.String("example"), // }, // LogDestinationType: pulumi.String("S3"), // LogType: pulumi.String("FLOW"), diff --git a/sdk/go/aws/networkfirewall/pulumiTypes.go b/sdk/go/aws/networkfirewall/pulumiTypes.go index 643270d6aec..8be5c2f1959 100644 --- a/sdk/go/aws/networkfirewall/pulumiTypes.go +++ b/sdk/go/aws/networkfirewall/pulumiTypes.go @@ -1239,6 +1239,8 @@ func (o FirewallPolicyFirewallPolicyPolicyVariablesRuleVariableIpSetOutput) Defi } type FirewallPolicyFirewallPolicyStatefulEngineOptions struct { + // Amount of time that can pass without any traffic sent through the firewall before the firewall determines that the connection is idle. + FlowTimeouts *FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeouts `pulumi:"flowTimeouts"` // Indicates how to manage the order of stateful rule evaluation for the policy. Default value: `DEFAULT_ACTION_ORDER`. Valid values: `DEFAULT_ACTION_ORDER`, `STRICT_ORDER`. RuleOrder *string `pulumi:"ruleOrder"` // Describes how to treat traffic which has broken midstream. Default value: `DROP`. Valid values: `DROP`, `CONTINUE`, `REJECT`. @@ -1257,6 +1259,8 @@ type FirewallPolicyFirewallPolicyStatefulEngineOptionsInput interface { } type FirewallPolicyFirewallPolicyStatefulEngineOptionsArgs struct { + // Amount of time that can pass without any traffic sent through the firewall before the firewall determines that the connection is idle. + FlowTimeouts FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsPtrInput `pulumi:"flowTimeouts"` // Indicates how to manage the order of stateful rule evaluation for the policy. Default value: `DEFAULT_ACTION_ORDER`. Valid values: `DEFAULT_ACTION_ORDER`, `STRICT_ORDER`. RuleOrder pulumi.StringPtrInput `pulumi:"ruleOrder"` // Describes how to treat traffic which has broken midstream. Default value: `DROP`. Valid values: `DROP`, `CONTINUE`, `REJECT`. @@ -1340,6 +1344,13 @@ func (o FirewallPolicyFirewallPolicyStatefulEngineOptionsOutput) ToFirewallPolic }).(FirewallPolicyFirewallPolicyStatefulEngineOptionsPtrOutput) } +// Amount of time that can pass without any traffic sent through the firewall before the firewall determines that the connection is idle. +func (o FirewallPolicyFirewallPolicyStatefulEngineOptionsOutput) FlowTimeouts() FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsPtrOutput { + return o.ApplyT(func(v FirewallPolicyFirewallPolicyStatefulEngineOptions) *FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeouts { + return v.FlowTimeouts + }).(FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsPtrOutput) +} + // Indicates how to manage the order of stateful rule evaluation for the policy. Default value: `DEFAULT_ACTION_ORDER`. Valid values: `DEFAULT_ACTION_ORDER`, `STRICT_ORDER`. func (o FirewallPolicyFirewallPolicyStatefulEngineOptionsOutput) RuleOrder() pulumi.StringPtrOutput { return o.ApplyT(func(v FirewallPolicyFirewallPolicyStatefulEngineOptions) *string { return v.RuleOrder }).(pulumi.StringPtrOutput) @@ -1374,6 +1385,16 @@ func (o FirewallPolicyFirewallPolicyStatefulEngineOptionsPtrOutput) Elem() Firew }).(FirewallPolicyFirewallPolicyStatefulEngineOptionsOutput) } +// Amount of time that can pass without any traffic sent through the firewall before the firewall determines that the connection is idle. +func (o FirewallPolicyFirewallPolicyStatefulEngineOptionsPtrOutput) FlowTimeouts() FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsPtrOutput { + return o.ApplyT(func(v *FirewallPolicyFirewallPolicyStatefulEngineOptions) *FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeouts { + if v == nil { + return nil + } + return v.FlowTimeouts + }).(FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsPtrOutput) +} + // Indicates how to manage the order of stateful rule evaluation for the policy. Default value: `DEFAULT_ACTION_ORDER`. Valid values: `DEFAULT_ACTION_ORDER`, `STRICT_ORDER`. func (o FirewallPolicyFirewallPolicyStatefulEngineOptionsPtrOutput) RuleOrder() pulumi.StringPtrOutput { return o.ApplyT(func(v *FirewallPolicyFirewallPolicyStatefulEngineOptions) *string { @@ -1394,6 +1415,145 @@ func (o FirewallPolicyFirewallPolicyStatefulEngineOptionsPtrOutput) StreamExcept }).(pulumi.StringPtrOutput) } +type FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeouts struct { + // Number of seconds that can pass without any TCP traffic sent through the firewall before the firewall determines that the connection is idle. After the idle timeout passes, data packets are dropped, however, the next TCP SYN packet is considered a new flow and is processed by the firewall. Clients or targets can use TCP keepalive packets to reset the idle timeout. Default value: `350`. + TcpIdleTimeoutSeconds *int `pulumi:"tcpIdleTimeoutSeconds"` +} + +// FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsInput is an input type that accepts FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsArgs and FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsOutput values. +// You can construct a concrete instance of `FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsInput` via: +// +// FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsArgs{...} +type FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsInput interface { + pulumi.Input + + ToFirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsOutput() FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsOutput + ToFirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsOutputWithContext(context.Context) FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsOutput +} + +type FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsArgs struct { + // Number of seconds that can pass without any TCP traffic sent through the firewall before the firewall determines that the connection is idle. After the idle timeout passes, data packets are dropped, however, the next TCP SYN packet is considered a new flow and is processed by the firewall. Clients or targets can use TCP keepalive packets to reset the idle timeout. Default value: `350`. + TcpIdleTimeoutSeconds pulumi.IntPtrInput `pulumi:"tcpIdleTimeoutSeconds"` +} + +func (FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeouts)(nil)).Elem() +} + +func (i FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsArgs) ToFirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsOutput() FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsOutput { + return i.ToFirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsOutputWithContext(context.Background()) +} + +func (i FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsArgs) ToFirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsOutputWithContext(ctx context.Context) FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsOutput { + return pulumi.ToOutputWithContext(ctx, i).(FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsOutput) +} + +func (i FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsArgs) ToFirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsPtrOutput() FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsPtrOutput { + return i.ToFirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsPtrOutputWithContext(context.Background()) +} + +func (i FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsArgs) ToFirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsPtrOutputWithContext(ctx context.Context) FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsOutput).ToFirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsPtrOutputWithContext(ctx) +} + +// FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsPtrInput is an input type that accepts FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsArgs, FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsPtr and FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsPtrOutput values. +// You can construct a concrete instance of `FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsPtrInput` via: +// +// FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsArgs{...} +// +// or: +// +// nil +type FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsPtrInput interface { + pulumi.Input + + ToFirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsPtrOutput() FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsPtrOutput + ToFirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsPtrOutputWithContext(context.Context) FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsPtrOutput +} + +type firewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsPtrType FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsArgs + +func FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsPtr(v *FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsArgs) FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsPtrInput { + return (*firewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsPtrType)(v) +} + +func (*firewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeouts)(nil)).Elem() +} + +func (i *firewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsPtrType) ToFirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsPtrOutput() FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsPtrOutput { + return i.ToFirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsPtrOutputWithContext(context.Background()) +} + +func (i *firewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsPtrType) ToFirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsPtrOutputWithContext(ctx context.Context) FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsPtrOutput) +} + +type FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsOutput struct{ *pulumi.OutputState } + +func (FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeouts)(nil)).Elem() +} + +func (o FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsOutput) ToFirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsOutput() FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsOutput { + return o +} + +func (o FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsOutput) ToFirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsOutputWithContext(ctx context.Context) FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsOutput { + return o +} + +func (o FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsOutput) ToFirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsPtrOutput() FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsPtrOutput { + return o.ToFirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsPtrOutputWithContext(context.Background()) +} + +func (o FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsOutput) ToFirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsPtrOutputWithContext(ctx context.Context) FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeouts) *FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeouts { + return &v + }).(FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsPtrOutput) +} + +// Number of seconds that can pass without any TCP traffic sent through the firewall before the firewall determines that the connection is idle. After the idle timeout passes, data packets are dropped, however, the next TCP SYN packet is considered a new flow and is processed by the firewall. Clients or targets can use TCP keepalive packets to reset the idle timeout. Default value: `350`. +func (o FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsOutput) TcpIdleTimeoutSeconds() pulumi.IntPtrOutput { + return o.ApplyT(func(v FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeouts) *int { + return v.TcpIdleTimeoutSeconds + }).(pulumi.IntPtrOutput) +} + +type FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsPtrOutput struct{ *pulumi.OutputState } + +func (FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeouts)(nil)).Elem() +} + +func (o FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsPtrOutput) ToFirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsPtrOutput() FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsPtrOutput { + return o +} + +func (o FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsPtrOutput) ToFirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsPtrOutputWithContext(ctx context.Context) FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsPtrOutput { + return o +} + +func (o FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsPtrOutput) Elem() FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsOutput { + return o.ApplyT(func(v *FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeouts) FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeouts { + if v != nil { + return *v + } + var ret FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeouts + return ret + }).(FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsOutput) +} + +// Number of seconds that can pass without any TCP traffic sent through the firewall before the firewall determines that the connection is idle. After the idle timeout passes, data packets are dropped, however, the next TCP SYN packet is considered a new flow and is processed by the firewall. Clients or targets can use TCP keepalive packets to reset the idle timeout. Default value: `350`. +func (o FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsPtrOutput) TcpIdleTimeoutSeconds() pulumi.IntPtrOutput { + return o.ApplyT(func(v *FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeouts) *int { + if v == nil { + return nil + } + return v.TcpIdleTimeoutSeconds + }).(pulumi.IntPtrOutput) +} + type FirewallPolicyFirewallPolicyStatefulRuleGroupReference struct { // Configuration block for override values Override *FirewallPolicyFirewallPolicyStatefulRuleGroupReferenceOverride `pulumi:"override"` @@ -2316,7 +2476,7 @@ func (o LoggingConfigurationLoggingConfigurationPtrOutput) LogDestinationConfigs type LoggingConfigurationLoggingConfigurationLogDestinationConfig struct { // A map describing the logging destination for the chosen `logDestinationType`. - // * For an Amazon S3 bucket, specify the key `bucketName` with the name of the bucket and optionally specify the key `prefix` with a path. + // * For an Amazon S3 bucket, specify the key `bucketName` with the name of the bucket and optionally specify the key `prefix` with a path (Do not add a leading / in the `prefix` as the configuration will have two // when applied). // * For a CloudWatch log group, specify the key `logGroup` with the name of the CloudWatch log group. // * For a Kinesis Data Firehose delivery stream, specify the key `deliveryStream` with the name of the delivery stream. LogDestination map[string]string `pulumi:"logDestination"` @@ -2339,7 +2499,7 @@ type LoggingConfigurationLoggingConfigurationLogDestinationConfigInput interface type LoggingConfigurationLoggingConfigurationLogDestinationConfigArgs struct { // A map describing the logging destination for the chosen `logDestinationType`. - // * For an Amazon S3 bucket, specify the key `bucketName` with the name of the bucket and optionally specify the key `prefix` with a path. + // * For an Amazon S3 bucket, specify the key `bucketName` with the name of the bucket and optionally specify the key `prefix` with a path (Do not add a leading / in the `prefix` as the configuration will have two // when applied). // * For a CloudWatch log group, specify the key `logGroup` with the name of the CloudWatch log group. // * For a Kinesis Data Firehose delivery stream, specify the key `deliveryStream` with the name of the delivery stream. LogDestination pulumi.StringMapInput `pulumi:"logDestination"` @@ -2401,7 +2561,7 @@ func (o LoggingConfigurationLoggingConfigurationLogDestinationConfigOutput) ToLo } // A map describing the logging destination for the chosen `logDestinationType`. -// * For an Amazon S3 bucket, specify the key `bucketName` with the name of the bucket and optionally specify the key `prefix` with a path. +// * For an Amazon S3 bucket, specify the key `bucketName` with the name of the bucket and optionally specify the key `prefix` with a path (Do not add a leading / in the `prefix` as the configuration will have two // when applied). // * For a CloudWatch log group, specify the key `logGroup` with the name of the CloudWatch log group. // * For a Kinesis Data Firehose delivery stream, specify the key `deliveryStream` with the name of the delivery stream. func (o LoggingConfigurationLoggingConfigurationLogDestinationConfigOutput) LogDestination() pulumi.StringMapOutput { @@ -9234,6 +9394,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*FirewallPolicyFirewallPolicyPolicyVariablesRuleVariableIpSetInput)(nil)).Elem(), FirewallPolicyFirewallPolicyPolicyVariablesRuleVariableIpSetArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*FirewallPolicyFirewallPolicyStatefulEngineOptionsInput)(nil)).Elem(), FirewallPolicyFirewallPolicyStatefulEngineOptionsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*FirewallPolicyFirewallPolicyStatefulEngineOptionsPtrInput)(nil)).Elem(), FirewallPolicyFirewallPolicyStatefulEngineOptionsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsInput)(nil)).Elem(), FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsPtrInput)(nil)).Elem(), FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*FirewallPolicyFirewallPolicyStatefulRuleGroupReferenceInput)(nil)).Elem(), FirewallPolicyFirewallPolicyStatefulRuleGroupReferenceArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*FirewallPolicyFirewallPolicyStatefulRuleGroupReferenceArrayInput)(nil)).Elem(), FirewallPolicyFirewallPolicyStatefulRuleGroupReferenceArray{}) pulumi.RegisterInputType(reflect.TypeOf((*FirewallPolicyFirewallPolicyStatefulRuleGroupReferenceOverrideInput)(nil)).Elem(), FirewallPolicyFirewallPolicyStatefulRuleGroupReferenceOverrideArgs{}) @@ -9382,6 +9544,8 @@ func init() { pulumi.RegisterOutputType(FirewallPolicyFirewallPolicyPolicyVariablesRuleVariableIpSetOutput{}) pulumi.RegisterOutputType(FirewallPolicyFirewallPolicyStatefulEngineOptionsOutput{}) pulumi.RegisterOutputType(FirewallPolicyFirewallPolicyStatefulEngineOptionsPtrOutput{}) + pulumi.RegisterOutputType(FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsOutput{}) + pulumi.RegisterOutputType(FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsPtrOutput{}) pulumi.RegisterOutputType(FirewallPolicyFirewallPolicyStatefulRuleGroupReferenceOutput{}) pulumi.RegisterOutputType(FirewallPolicyFirewallPolicyStatefulRuleGroupReferenceArrayOutput{}) pulumi.RegisterOutputType(FirewallPolicyFirewallPolicyStatefulRuleGroupReferenceOverrideOutput{}) diff --git a/sdk/go/aws/rds/cluster.go b/sdk/go/aws/rds/cluster.go index 0b698dcc6af..7e49109fb81 100644 --- a/sdk/go/aws/rds/cluster.go +++ b/sdk/go/aws/rds/cluster.go @@ -213,8 +213,9 @@ import ( // MasterPassword: pulumi.String("must_be_eight_characters"), // StorageEncrypted: pulumi.Bool(true), // Serverlessv2ScalingConfiguration: &rds.ClusterServerlessv2ScalingConfigurationArgs{ -// MaxCapacity: pulumi.Float64(1), -// MinCapacity: pulumi.Float64(0.5), +// MaxCapacity: pulumi.Float64(1), +// MinCapacity: pulumi.Float64(0), +// SecondsUntilAutoPause: pulumi.Int(3600), // }, // }) // if err != nil { diff --git a/sdk/go/aws/rds/globalCluster.go b/sdk/go/aws/rds/globalCluster.go index 7f7a89b2ff5..0f27306a72c 100644 --- a/sdk/go/aws/rds/globalCluster.go +++ b/sdk/go/aws/rds/globalCluster.go @@ -272,10 +272,10 @@ import ( type GlobalCluster struct { pulumi.CustomResourceState - // RDS Global Cluster Amazon Resource Name (ARN) + // RDS Global Cluster Amazon Resource Name (ARN). Arn pulumi.StringOutput `pulumi:"arn"` - // Name for an automatically created database on cluster creation. - DatabaseName pulumi.StringPtrOutput `pulumi:"databaseName"` + // Name for an automatically created database on cluster creation. Pulumi will only perform drift detection if a configuration value is provided. + DatabaseName pulumi.StringOutput `pulumi:"databaseName"` // If the Global Cluster should have deletion protection enabled. The database can't be deleted when this value is set to `true`. The default is `false`. DeletionProtection pulumi.BoolPtrOutput `pulumi:"deletionProtection"` // Writer endpoint for the new global database cluster. This endpoint always points to the writer DB instance in the current primary cluster. @@ -293,12 +293,18 @@ type GlobalCluster struct { GlobalClusterIdentifier pulumi.StringOutput `pulumi:"globalClusterIdentifier"` // Set of objects containing Global Cluster members. GlobalClusterMembers GlobalClusterGlobalClusterMemberArrayOutput `pulumi:"globalClusterMembers"` - // AWS Region-unique, immutable identifier for the global database cluster. This identifier is found in AWS CloudTrail log entries whenever the AWS KMS key for the DB cluster is accessed + // AWS Region-unique, immutable identifier for the global database cluster. This identifier is found in AWS CloudTrail log entries whenever the AWS KMS key for the DB cluster is accessed. GlobalClusterResourceId pulumi.StringOutput `pulumi:"globalClusterResourceId"` // Amazon Resource Name (ARN) to use as the primary DB Cluster of the Global Cluster on creation. The provider cannot perform drift detection of this value. SourceDbClusterIdentifier pulumi.StringOutput `pulumi:"sourceDbClusterIdentifier"` // Specifies whether the DB cluster is encrypted. The default is `false` unless `sourceDbClusterIdentifier` is specified and encrypted. The provider will only perform drift detection if a configuration value is provided. StorageEncrypted pulumi.BoolOutput `pulumi:"storageEncrypted"` + // A map of tags to assign to the DB cluster. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + Tags pulumi.StringMapOutput `pulumi:"tags"` + // Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + // + // Deprecated: Please use `tags` instead. + TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"` } // NewGlobalCluster registers a new resource with the given unique name, arguments, and options. @@ -334,9 +340,9 @@ func GetGlobalCluster(ctx *pulumi.Context, // Input properties used for looking up and filtering GlobalCluster resources. type globalClusterState struct { - // RDS Global Cluster Amazon Resource Name (ARN) + // RDS Global Cluster Amazon Resource Name (ARN). Arn *string `pulumi:"arn"` - // Name for an automatically created database on cluster creation. + // Name for an automatically created database on cluster creation. Pulumi will only perform drift detection if a configuration value is provided. DatabaseName *string `pulumi:"databaseName"` // If the Global Cluster should have deletion protection enabled. The database can't be deleted when this value is set to `true`. The default is `false`. DeletionProtection *bool `pulumi:"deletionProtection"` @@ -355,18 +361,24 @@ type globalClusterState struct { GlobalClusterIdentifier *string `pulumi:"globalClusterIdentifier"` // Set of objects containing Global Cluster members. GlobalClusterMembers []GlobalClusterGlobalClusterMember `pulumi:"globalClusterMembers"` - // AWS Region-unique, immutable identifier for the global database cluster. This identifier is found in AWS CloudTrail log entries whenever the AWS KMS key for the DB cluster is accessed + // AWS Region-unique, immutable identifier for the global database cluster. This identifier is found in AWS CloudTrail log entries whenever the AWS KMS key for the DB cluster is accessed. GlobalClusterResourceId *string `pulumi:"globalClusterResourceId"` // Amazon Resource Name (ARN) to use as the primary DB Cluster of the Global Cluster on creation. The provider cannot perform drift detection of this value. SourceDbClusterIdentifier *string `pulumi:"sourceDbClusterIdentifier"` // Specifies whether the DB cluster is encrypted. The default is `false` unless `sourceDbClusterIdentifier` is specified and encrypted. The provider will only perform drift detection if a configuration value is provided. StorageEncrypted *bool `pulumi:"storageEncrypted"` + // A map of tags to assign to the DB cluster. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + Tags map[string]string `pulumi:"tags"` + // Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + // + // Deprecated: Please use `tags` instead. + TagsAll map[string]string `pulumi:"tagsAll"` } type GlobalClusterState struct { - // RDS Global Cluster Amazon Resource Name (ARN) + // RDS Global Cluster Amazon Resource Name (ARN). Arn pulumi.StringPtrInput - // Name for an automatically created database on cluster creation. + // Name for an automatically created database on cluster creation. Pulumi will only perform drift detection if a configuration value is provided. DatabaseName pulumi.StringPtrInput // If the Global Cluster should have deletion protection enabled. The database can't be deleted when this value is set to `true`. The default is `false`. DeletionProtection pulumi.BoolPtrInput @@ -385,12 +397,18 @@ type GlobalClusterState struct { GlobalClusterIdentifier pulumi.StringPtrInput // Set of objects containing Global Cluster members. GlobalClusterMembers GlobalClusterGlobalClusterMemberArrayInput - // AWS Region-unique, immutable identifier for the global database cluster. This identifier is found in AWS CloudTrail log entries whenever the AWS KMS key for the DB cluster is accessed + // AWS Region-unique, immutable identifier for the global database cluster. This identifier is found in AWS CloudTrail log entries whenever the AWS KMS key for the DB cluster is accessed. GlobalClusterResourceId pulumi.StringPtrInput // Amazon Resource Name (ARN) to use as the primary DB Cluster of the Global Cluster on creation. The provider cannot perform drift detection of this value. SourceDbClusterIdentifier pulumi.StringPtrInput // Specifies whether the DB cluster is encrypted. The default is `false` unless `sourceDbClusterIdentifier` is specified and encrypted. The provider will only perform drift detection if a configuration value is provided. StorageEncrypted pulumi.BoolPtrInput + // A map of tags to assign to the DB cluster. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + Tags pulumi.StringMapInput + // Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + // + // Deprecated: Please use `tags` instead. + TagsAll pulumi.StringMapInput } func (GlobalClusterState) ElementType() reflect.Type { @@ -398,7 +416,7 @@ func (GlobalClusterState) ElementType() reflect.Type { } type globalClusterArgs struct { - // Name for an automatically created database on cluster creation. + // Name for an automatically created database on cluster creation. Pulumi will only perform drift detection if a configuration value is provided. DatabaseName *string `pulumi:"databaseName"` // If the Global Cluster should have deletion protection enabled. The database can't be deleted when this value is set to `true`. The default is `false`. DeletionProtection *bool `pulumi:"deletionProtection"` @@ -416,11 +434,13 @@ type globalClusterArgs struct { SourceDbClusterIdentifier *string `pulumi:"sourceDbClusterIdentifier"` // Specifies whether the DB cluster is encrypted. The default is `false` unless `sourceDbClusterIdentifier` is specified and encrypted. The provider will only perform drift detection if a configuration value is provided. StorageEncrypted *bool `pulumi:"storageEncrypted"` + // A map of tags to assign to the DB cluster. 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 GlobalCluster resource. type GlobalClusterArgs struct { - // Name for an automatically created database on cluster creation. + // Name for an automatically created database on cluster creation. Pulumi will only perform drift detection if a configuration value is provided. DatabaseName pulumi.StringPtrInput // If the Global Cluster should have deletion protection enabled. The database can't be deleted when this value is set to `true`. The default is `false`. DeletionProtection pulumi.BoolPtrInput @@ -438,6 +458,8 @@ type GlobalClusterArgs struct { SourceDbClusterIdentifier pulumi.StringPtrInput // Specifies whether the DB cluster is encrypted. The default is `false` unless `sourceDbClusterIdentifier` is specified and encrypted. The provider will only perform drift detection if a configuration value is provided. StorageEncrypted pulumi.BoolPtrInput + // A map of tags to assign to the DB cluster. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + Tags pulumi.StringMapInput } func (GlobalClusterArgs) ElementType() reflect.Type { @@ -527,14 +549,14 @@ func (o GlobalClusterOutput) ToGlobalClusterOutputWithContext(ctx context.Contex return o } -// RDS Global Cluster Amazon Resource Name (ARN) +// RDS Global Cluster Amazon Resource Name (ARN). func (o GlobalClusterOutput) Arn() pulumi.StringOutput { return o.ApplyT(func(v *GlobalCluster) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) } -// Name for an automatically created database on cluster creation. -func (o GlobalClusterOutput) DatabaseName() pulumi.StringPtrOutput { - return o.ApplyT(func(v *GlobalCluster) pulumi.StringPtrOutput { return v.DatabaseName }).(pulumi.StringPtrOutput) +// Name for an automatically created database on cluster creation. Pulumi will only perform drift detection if a configuration value is provided. +func (o GlobalClusterOutput) DatabaseName() pulumi.StringOutput { + return o.ApplyT(func(v *GlobalCluster) pulumi.StringOutput { return v.DatabaseName }).(pulumi.StringOutput) } // If the Global Cluster should have deletion protection enabled. The database can't be deleted when this value is set to `true`. The default is `false`. @@ -581,7 +603,7 @@ func (o GlobalClusterOutput) GlobalClusterMembers() GlobalClusterGlobalClusterMe return o.ApplyT(func(v *GlobalCluster) GlobalClusterGlobalClusterMemberArrayOutput { return v.GlobalClusterMembers }).(GlobalClusterGlobalClusterMemberArrayOutput) } -// AWS Region-unique, immutable identifier for the global database cluster. This identifier is found in AWS CloudTrail log entries whenever the AWS KMS key for the DB cluster is accessed +// AWS Region-unique, immutable identifier for the global database cluster. This identifier is found in AWS CloudTrail log entries whenever the AWS KMS key for the DB cluster is accessed. func (o GlobalClusterOutput) GlobalClusterResourceId() pulumi.StringOutput { return o.ApplyT(func(v *GlobalCluster) pulumi.StringOutput { return v.GlobalClusterResourceId }).(pulumi.StringOutput) } @@ -596,6 +618,18 @@ func (o GlobalClusterOutput) StorageEncrypted() pulumi.BoolOutput { return o.ApplyT(func(v *GlobalCluster) pulumi.BoolOutput { return v.StorageEncrypted }).(pulumi.BoolOutput) } +// A map of tags to assign to the DB cluster. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. +func (o GlobalClusterOutput) Tags() pulumi.StringMapOutput { + return o.ApplyT(func(v *GlobalCluster) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) +} + +// Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. +// +// Deprecated: Please use `tags` instead. +func (o GlobalClusterOutput) TagsAll() pulumi.StringMapOutput { + return o.ApplyT(func(v *GlobalCluster) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput) +} + type GlobalClusterArrayOutput struct{ *pulumi.OutputState } func (GlobalClusterArrayOutput) ElementType() reflect.Type { diff --git a/sdk/go/aws/rds/instance.go b/sdk/go/aws/rds/instance.go index c43cb214197..9c03e3e7807 100644 --- a/sdk/go/aws/rds/instance.go +++ b/sdk/go/aws/rds/instance.go @@ -480,13 +480,12 @@ type Instance struct { CustomerOwnedIpEnabled pulumi.BoolPtrOutput `pulumi:"customerOwnedIpEnabled"` // The name of the database to create when the DB instance is created. If this parameter is not specified, no database is created in the DB instance. Note that this does not apply for Oracle or SQL Server engines. See the [AWS documentation](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/rds/create-db-instance.html) for more details on what applies for those engines. If you are providing an Oracle db name, it needs to be in all upper case. Cannot be specified for a replica. DbName pulumi.StringOutput `pulumi:"dbName"` - // Name of DB subnet group. DB instance will - // be created in the VPC associated with the DB subnet group. If unspecified, will - // be created in the `default` VPC, or in EC2 Classic, if available. When working - // with read replicas, it should be specified only if the source database - // specifies an instance in another AWS Region. See [DBSubnetGroupName in API - // action CreateDBInstanceReadReplica](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstanceReadReplica.html) - // for additional read replica constraints. + // Name of DB subnet group. + // DB instance will be created in the VPC associated with the DB subnet group. + // If unspecified, will be created in the `default` Subnet Group. + // When working with read replicas created in the same region, defaults to the Subnet Group Name of the source DB. + // When working with read replicas created in a different region, defaults to the `default` Subnet Group. + // See [DBSubnetGroupName in API action CreateDBInstanceReadReplica](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstanceReadReplica.html) for additional read replica constraints. DbSubnetGroupName pulumi.StringOutput `pulumi:"dbSubnetGroupName"` // Use a dedicated log volume (DLV) for the DB instance. Requires Provisioned IOPS. See the [AWS documentation](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PIOPS.StorageTypes.html#USER_PIOPS.dlv) for more details. DedicatedLogVolume pulumi.BoolPtrOutput `pulumi:"dedicatedLogVolume"` @@ -609,19 +608,18 @@ type Instance struct { // is only supported by Oracle instances. Oracle replicas operate in `open-read-only` mode unless otherwise specified. See [Working with Oracle Read Replicas](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/oracle-read-replicas.html) for more information. ReplicaMode pulumi.StringOutput `pulumi:"replicaMode"` Replicas pulumi.StringArrayOutput `pulumi:"replicas"` - // Specifies that this resource is a Replicate - // database, and to use this value as the source database. This correlates to the - // `identifier` of another Amazon RDS Database to replicate (if replicating within - // a single region) or ARN of the Amazon RDS Database to replicate (if replicating - // cross-region). Note that if you are - // creating a cross-region replica of an encrypted database you will also need to - // specify a `kmsKeyId`. See [DB Instance Replication][instance-replication] and [Working with - // PostgreSQL and MySQL Read Replicas](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ReadRepl.html) - // for more information on using Replication. + // Specifies that this resource is a Replica database, and to use this value as the source database. + // If replicating an Amazon RDS Database Instance in the same region, use the `identifier` of the source DB, unless also specifying the `dbSubnetGroupName`. + // If specifying the `dbSubnetGroupName` in the same region, use the `arn` of the source DB. + // If replicating an Instance in a different region, use the `arn` of the source DB. + // Note that if you are creating a cross-region replica of an encrypted database you will also need to specify a `kmsKeyId`. + // See [DB Instance Replication][instance-replication] and [Working with PostgreSQL and MySQL Read Replicas](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ReadRepl.html) for more information on using Replication. ReplicateSourceDb pulumi.StringPtrOutput `pulumi:"replicateSourceDb"` // The RDS Resource ID of this instance. ResourceId pulumi.StringOutput `pulumi:"resourceId"` - // A configuration block for restoring a DB instance to an arbitrary point in time. Requires the `identifier` argument to be set with the name of the new DB instance to be created. See Restore To Point In Time below for details. + // A configuration block for restoring a DB instance to an arbitrary point in time. + // Requires the `identifier` argument to be set with the name of the new DB instance to be created. + // See Restore To Point In Time below for details. RestoreToPointInTime InstanceRestoreToPointInTimePtrOutput `pulumi:"restoreToPointInTime"` // Restore from a Percona Xtrabackup in S3. See [Importing Data into an Amazon RDS MySQL DB Instance](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/MySQL.Procedural.Importing.html) S3Import InstanceS3ImportPtrOutput `pulumi:"s3Import"` @@ -631,9 +629,8 @@ type Instance struct { // instance is deleted, using the value from `finalSnapshotIdentifier`. Default // is `false`. SkipFinalSnapshot pulumi.BoolPtrOutput `pulumi:"skipFinalSnapshot"` - // Specifies whether or not to create this - // database from a snapshot. This correlates to the snapshot ID you'd find in the - // RDS console, e.g: rds:production-2015-06-26-06-05. + // Specifies whether or not to create this database from a snapshot. + // This corresponds to the snapshot ID you'd find in the RDS console, e.g: rds:production-2015-06-26-06-05. SnapshotIdentifier pulumi.StringOutput `pulumi:"snapshotIdentifier"` // The RDS instance status. Status pulumi.StringOutput `pulumi:"status"` @@ -661,7 +658,8 @@ type Instance struct { // Guide](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_SQLServer.html#SQLServer.Concepts.General.TimeZone) // for more information. Timezone pulumi.StringOutput `pulumi:"timezone"` - // Whether to upgrade the storage file system configuration on the read replica. Can only be set with `replicateSourceDb`. + // Whether to upgrade the storage file system configuration on the read replica. + // Can only be set with `replicateSourceDb`. UpgradeStorageConfig pulumi.BoolPtrOutput `pulumi:"upgradeStorageConfig"` // (Required unless a `snapshotIdentifier` or `replicateSourceDb` // is provided) Username for the master DB user. Cannot be specified for a replica. @@ -767,13 +765,12 @@ type instanceState struct { CustomerOwnedIpEnabled *bool `pulumi:"customerOwnedIpEnabled"` // The name of the database to create when the DB instance is created. If this parameter is not specified, no database is created in the DB instance. Note that this does not apply for Oracle or SQL Server engines. See the [AWS documentation](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/rds/create-db-instance.html) for more details on what applies for those engines. If you are providing an Oracle db name, it needs to be in all upper case. Cannot be specified for a replica. DbName *string `pulumi:"dbName"` - // Name of DB subnet group. DB instance will - // be created in the VPC associated with the DB subnet group. If unspecified, will - // be created in the `default` VPC, or in EC2 Classic, if available. When working - // with read replicas, it should be specified only if the source database - // specifies an instance in another AWS Region. See [DBSubnetGroupName in API - // action CreateDBInstanceReadReplica](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstanceReadReplica.html) - // for additional read replica constraints. + // Name of DB subnet group. + // DB instance will be created in the VPC associated with the DB subnet group. + // If unspecified, will be created in the `default` Subnet Group. + // When working with read replicas created in the same region, defaults to the Subnet Group Name of the source DB. + // When working with read replicas created in a different region, defaults to the `default` Subnet Group. + // See [DBSubnetGroupName in API action CreateDBInstanceReadReplica](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstanceReadReplica.html) for additional read replica constraints. DbSubnetGroupName *string `pulumi:"dbSubnetGroupName"` // Use a dedicated log volume (DLV) for the DB instance. Requires Provisioned IOPS. See the [AWS documentation](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PIOPS.StorageTypes.html#USER_PIOPS.dlv) for more details. DedicatedLogVolume *bool `pulumi:"dedicatedLogVolume"` @@ -896,19 +893,18 @@ type instanceState struct { // is only supported by Oracle instances. Oracle replicas operate in `open-read-only` mode unless otherwise specified. See [Working with Oracle Read Replicas](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/oracle-read-replicas.html) for more information. ReplicaMode *string `pulumi:"replicaMode"` Replicas []string `pulumi:"replicas"` - // Specifies that this resource is a Replicate - // database, and to use this value as the source database. This correlates to the - // `identifier` of another Amazon RDS Database to replicate (if replicating within - // a single region) or ARN of the Amazon RDS Database to replicate (if replicating - // cross-region). Note that if you are - // creating a cross-region replica of an encrypted database you will also need to - // specify a `kmsKeyId`. See [DB Instance Replication][instance-replication] and [Working with - // PostgreSQL and MySQL Read Replicas](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ReadRepl.html) - // for more information on using Replication. + // Specifies that this resource is a Replica database, and to use this value as the source database. + // If replicating an Amazon RDS Database Instance in the same region, use the `identifier` of the source DB, unless also specifying the `dbSubnetGroupName`. + // If specifying the `dbSubnetGroupName` in the same region, use the `arn` of the source DB. + // If replicating an Instance in a different region, use the `arn` of the source DB. + // Note that if you are creating a cross-region replica of an encrypted database you will also need to specify a `kmsKeyId`. + // See [DB Instance Replication][instance-replication] and [Working with PostgreSQL and MySQL Read Replicas](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ReadRepl.html) for more information on using Replication. ReplicateSourceDb *string `pulumi:"replicateSourceDb"` // The RDS Resource ID of this instance. ResourceId *string `pulumi:"resourceId"` - // A configuration block for restoring a DB instance to an arbitrary point in time. Requires the `identifier` argument to be set with the name of the new DB instance to be created. See Restore To Point In Time below for details. + // A configuration block for restoring a DB instance to an arbitrary point in time. + // Requires the `identifier` argument to be set with the name of the new DB instance to be created. + // See Restore To Point In Time below for details. RestoreToPointInTime *InstanceRestoreToPointInTime `pulumi:"restoreToPointInTime"` // Restore from a Percona Xtrabackup in S3. See [Importing Data into an Amazon RDS MySQL DB Instance](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/MySQL.Procedural.Importing.html) S3Import *InstanceS3Import `pulumi:"s3Import"` @@ -918,9 +914,8 @@ type instanceState struct { // instance is deleted, using the value from `finalSnapshotIdentifier`. Default // is `false`. SkipFinalSnapshot *bool `pulumi:"skipFinalSnapshot"` - // Specifies whether or not to create this - // database from a snapshot. This correlates to the snapshot ID you'd find in the - // RDS console, e.g: rds:production-2015-06-26-06-05. + // Specifies whether or not to create this database from a snapshot. + // This corresponds to the snapshot ID you'd find in the RDS console, e.g: rds:production-2015-06-26-06-05. SnapshotIdentifier *string `pulumi:"snapshotIdentifier"` // The RDS instance status. Status *string `pulumi:"status"` @@ -948,7 +943,8 @@ type instanceState struct { // Guide](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_SQLServer.html#SQLServer.Concepts.General.TimeZone) // for more information. Timezone *string `pulumi:"timezone"` - // Whether to upgrade the storage file system configuration on the read replica. Can only be set with `replicateSourceDb`. + // Whether to upgrade the storage file system configuration on the read replica. + // Can only be set with `replicateSourceDb`. UpgradeStorageConfig *bool `pulumi:"upgradeStorageConfig"` // (Required unless a `snapshotIdentifier` or `replicateSourceDb` // is provided) Username for the master DB user. Cannot be specified for a replica. @@ -1015,13 +1011,12 @@ type InstanceState struct { CustomerOwnedIpEnabled pulumi.BoolPtrInput // The name of the database to create when the DB instance is created. If this parameter is not specified, no database is created in the DB instance. Note that this does not apply for Oracle or SQL Server engines. See the [AWS documentation](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/rds/create-db-instance.html) for more details on what applies for those engines. If you are providing an Oracle db name, it needs to be in all upper case. Cannot be specified for a replica. DbName pulumi.StringPtrInput - // Name of DB subnet group. DB instance will - // be created in the VPC associated with the DB subnet group. If unspecified, will - // be created in the `default` VPC, or in EC2 Classic, if available. When working - // with read replicas, it should be specified only if the source database - // specifies an instance in another AWS Region. See [DBSubnetGroupName in API - // action CreateDBInstanceReadReplica](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstanceReadReplica.html) - // for additional read replica constraints. + // Name of DB subnet group. + // DB instance will be created in the VPC associated with the DB subnet group. + // If unspecified, will be created in the `default` Subnet Group. + // When working with read replicas created in the same region, defaults to the Subnet Group Name of the source DB. + // When working with read replicas created in a different region, defaults to the `default` Subnet Group. + // See [DBSubnetGroupName in API action CreateDBInstanceReadReplica](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstanceReadReplica.html) for additional read replica constraints. DbSubnetGroupName pulumi.StringPtrInput // Use a dedicated log volume (DLV) for the DB instance. Requires Provisioned IOPS. See the [AWS documentation](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PIOPS.StorageTypes.html#USER_PIOPS.dlv) for more details. DedicatedLogVolume pulumi.BoolPtrInput @@ -1144,19 +1139,18 @@ type InstanceState struct { // is only supported by Oracle instances. Oracle replicas operate in `open-read-only` mode unless otherwise specified. See [Working with Oracle Read Replicas](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/oracle-read-replicas.html) for more information. ReplicaMode pulumi.StringPtrInput Replicas pulumi.StringArrayInput - // Specifies that this resource is a Replicate - // database, and to use this value as the source database. This correlates to the - // `identifier` of another Amazon RDS Database to replicate (if replicating within - // a single region) or ARN of the Amazon RDS Database to replicate (if replicating - // cross-region). Note that if you are - // creating a cross-region replica of an encrypted database you will also need to - // specify a `kmsKeyId`. See [DB Instance Replication][instance-replication] and [Working with - // PostgreSQL and MySQL Read Replicas](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ReadRepl.html) - // for more information on using Replication. + // Specifies that this resource is a Replica database, and to use this value as the source database. + // If replicating an Amazon RDS Database Instance in the same region, use the `identifier` of the source DB, unless also specifying the `dbSubnetGroupName`. + // If specifying the `dbSubnetGroupName` in the same region, use the `arn` of the source DB. + // If replicating an Instance in a different region, use the `arn` of the source DB. + // Note that if you are creating a cross-region replica of an encrypted database you will also need to specify a `kmsKeyId`. + // See [DB Instance Replication][instance-replication] and [Working with PostgreSQL and MySQL Read Replicas](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ReadRepl.html) for more information on using Replication. ReplicateSourceDb pulumi.StringPtrInput // The RDS Resource ID of this instance. ResourceId pulumi.StringPtrInput - // A configuration block for restoring a DB instance to an arbitrary point in time. Requires the `identifier` argument to be set with the name of the new DB instance to be created. See Restore To Point In Time below for details. + // A configuration block for restoring a DB instance to an arbitrary point in time. + // Requires the `identifier` argument to be set with the name of the new DB instance to be created. + // See Restore To Point In Time below for details. RestoreToPointInTime InstanceRestoreToPointInTimePtrInput // Restore from a Percona Xtrabackup in S3. See [Importing Data into an Amazon RDS MySQL DB Instance](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/MySQL.Procedural.Importing.html) S3Import InstanceS3ImportPtrInput @@ -1166,9 +1160,8 @@ type InstanceState struct { // instance is deleted, using the value from `finalSnapshotIdentifier`. Default // is `false`. SkipFinalSnapshot pulumi.BoolPtrInput - // Specifies whether or not to create this - // database from a snapshot. This correlates to the snapshot ID you'd find in the - // RDS console, e.g: rds:production-2015-06-26-06-05. + // Specifies whether or not to create this database from a snapshot. + // This corresponds to the snapshot ID you'd find in the RDS console, e.g: rds:production-2015-06-26-06-05. SnapshotIdentifier pulumi.StringPtrInput // The RDS instance status. Status pulumi.StringPtrInput @@ -1196,7 +1189,8 @@ type InstanceState struct { // Guide](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_SQLServer.html#SQLServer.Concepts.General.TimeZone) // for more information. Timezone pulumi.StringPtrInput - // Whether to upgrade the storage file system configuration on the read replica. Can only be set with `replicateSourceDb`. + // Whether to upgrade the storage file system configuration on the read replica. + // Can only be set with `replicateSourceDb`. UpgradeStorageConfig pulumi.BoolPtrInput // (Required unless a `snapshotIdentifier` or `replicateSourceDb` // is provided) Username for the master DB user. Cannot be specified for a replica. @@ -1263,13 +1257,12 @@ type instanceArgs struct { CustomerOwnedIpEnabled *bool `pulumi:"customerOwnedIpEnabled"` // The name of the database to create when the DB instance is created. If this parameter is not specified, no database is created in the DB instance. Note that this does not apply for Oracle or SQL Server engines. See the [AWS documentation](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/rds/create-db-instance.html) for more details on what applies for those engines. If you are providing an Oracle db name, it needs to be in all upper case. Cannot be specified for a replica. DbName *string `pulumi:"dbName"` - // Name of DB subnet group. DB instance will - // be created in the VPC associated with the DB subnet group. If unspecified, will - // be created in the `default` VPC, or in EC2 Classic, if available. When working - // with read replicas, it should be specified only if the source database - // specifies an instance in another AWS Region. See [DBSubnetGroupName in API - // action CreateDBInstanceReadReplica](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstanceReadReplica.html) - // for additional read replica constraints. + // Name of DB subnet group. + // DB instance will be created in the VPC associated with the DB subnet group. + // If unspecified, will be created in the `default` Subnet Group. + // When working with read replicas created in the same region, defaults to the Subnet Group Name of the source DB. + // When working with read replicas created in a different region, defaults to the `default` Subnet Group. + // See [DBSubnetGroupName in API action CreateDBInstanceReadReplica](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstanceReadReplica.html) for additional read replica constraints. DbSubnetGroupName *string `pulumi:"dbSubnetGroupName"` // Use a dedicated log volume (DLV) for the DB instance. Requires Provisioned IOPS. See the [AWS documentation](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PIOPS.StorageTypes.html#USER_PIOPS.dlv) for more details. DedicatedLogVolume *bool `pulumi:"dedicatedLogVolume"` @@ -1379,17 +1372,16 @@ type instanceArgs struct { // Specifies whether the replica is in either `mounted` or `open-read-only` mode. This attribute // is only supported by Oracle instances. Oracle replicas operate in `open-read-only` mode unless otherwise specified. See [Working with Oracle Read Replicas](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/oracle-read-replicas.html) for more information. ReplicaMode *string `pulumi:"replicaMode"` - // Specifies that this resource is a Replicate - // database, and to use this value as the source database. This correlates to the - // `identifier` of another Amazon RDS Database to replicate (if replicating within - // a single region) or ARN of the Amazon RDS Database to replicate (if replicating - // cross-region). Note that if you are - // creating a cross-region replica of an encrypted database you will also need to - // specify a `kmsKeyId`. See [DB Instance Replication][instance-replication] and [Working with - // PostgreSQL and MySQL Read Replicas](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ReadRepl.html) - // for more information on using Replication. + // Specifies that this resource is a Replica database, and to use this value as the source database. + // If replicating an Amazon RDS Database Instance in the same region, use the `identifier` of the source DB, unless also specifying the `dbSubnetGroupName`. + // If specifying the `dbSubnetGroupName` in the same region, use the `arn` of the source DB. + // If replicating an Instance in a different region, use the `arn` of the source DB. + // Note that if you are creating a cross-region replica of an encrypted database you will also need to specify a `kmsKeyId`. + // See [DB Instance Replication][instance-replication] and [Working with PostgreSQL and MySQL Read Replicas](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ReadRepl.html) for more information on using Replication. ReplicateSourceDb *string `pulumi:"replicateSourceDb"` - // A configuration block for restoring a DB instance to an arbitrary point in time. Requires the `identifier` argument to be set with the name of the new DB instance to be created. See Restore To Point In Time below for details. + // A configuration block for restoring a DB instance to an arbitrary point in time. + // Requires the `identifier` argument to be set with the name of the new DB instance to be created. + // See Restore To Point In Time below for details. RestoreToPointInTime *InstanceRestoreToPointInTime `pulumi:"restoreToPointInTime"` // Restore from a Percona Xtrabackup in S3. See [Importing Data into an Amazon RDS MySQL DB Instance](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/MySQL.Procedural.Importing.html) S3Import *InstanceS3Import `pulumi:"s3Import"` @@ -1399,9 +1391,8 @@ type instanceArgs struct { // instance is deleted, using the value from `finalSnapshotIdentifier`. Default // is `false`. SkipFinalSnapshot *bool `pulumi:"skipFinalSnapshot"` - // Specifies whether or not to create this - // database from a snapshot. This correlates to the snapshot ID you'd find in the - // RDS console, e.g: rds:production-2015-06-26-06-05. + // Specifies whether or not to create this database from a snapshot. + // This corresponds to the snapshot ID you'd find in the RDS console, e.g: rds:production-2015-06-26-06-05. SnapshotIdentifier *string `pulumi:"snapshotIdentifier"` // Specifies whether the DB instance is // encrypted. Note that if you are creating a cross-region read replica this field @@ -1423,7 +1414,8 @@ type instanceArgs struct { // Guide](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_SQLServer.html#SQLServer.Concepts.General.TimeZone) // for more information. Timezone *string `pulumi:"timezone"` - // Whether to upgrade the storage file system configuration on the read replica. Can only be set with `replicateSourceDb`. + // Whether to upgrade the storage file system configuration on the read replica. + // Can only be set with `replicateSourceDb`. UpgradeStorageConfig *bool `pulumi:"upgradeStorageConfig"` // (Required unless a `snapshotIdentifier` or `replicateSourceDb` // is provided) Username for the master DB user. Cannot be specified for a replica. @@ -1487,13 +1479,12 @@ type InstanceArgs struct { CustomerOwnedIpEnabled pulumi.BoolPtrInput // The name of the database to create when the DB instance is created. If this parameter is not specified, no database is created in the DB instance. Note that this does not apply for Oracle or SQL Server engines. See the [AWS documentation](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/rds/create-db-instance.html) for more details on what applies for those engines. If you are providing an Oracle db name, it needs to be in all upper case. Cannot be specified for a replica. DbName pulumi.StringPtrInput - // Name of DB subnet group. DB instance will - // be created in the VPC associated with the DB subnet group. If unspecified, will - // be created in the `default` VPC, or in EC2 Classic, if available. When working - // with read replicas, it should be specified only if the source database - // specifies an instance in another AWS Region. See [DBSubnetGroupName in API - // action CreateDBInstanceReadReplica](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstanceReadReplica.html) - // for additional read replica constraints. + // Name of DB subnet group. + // DB instance will be created in the VPC associated with the DB subnet group. + // If unspecified, will be created in the `default` Subnet Group. + // When working with read replicas created in the same region, defaults to the Subnet Group Name of the source DB. + // When working with read replicas created in a different region, defaults to the `default` Subnet Group. + // See [DBSubnetGroupName in API action CreateDBInstanceReadReplica](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstanceReadReplica.html) for additional read replica constraints. DbSubnetGroupName pulumi.StringPtrInput // Use a dedicated log volume (DLV) for the DB instance. Requires Provisioned IOPS. See the [AWS documentation](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PIOPS.StorageTypes.html#USER_PIOPS.dlv) for more details. DedicatedLogVolume pulumi.BoolPtrInput @@ -1603,17 +1594,16 @@ type InstanceArgs struct { // Specifies whether the replica is in either `mounted` or `open-read-only` mode. This attribute // is only supported by Oracle instances. Oracle replicas operate in `open-read-only` mode unless otherwise specified. See [Working with Oracle Read Replicas](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/oracle-read-replicas.html) for more information. ReplicaMode pulumi.StringPtrInput - // Specifies that this resource is a Replicate - // database, and to use this value as the source database. This correlates to the - // `identifier` of another Amazon RDS Database to replicate (if replicating within - // a single region) or ARN of the Amazon RDS Database to replicate (if replicating - // cross-region). Note that if you are - // creating a cross-region replica of an encrypted database you will also need to - // specify a `kmsKeyId`. See [DB Instance Replication][instance-replication] and [Working with - // PostgreSQL and MySQL Read Replicas](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ReadRepl.html) - // for more information on using Replication. + // Specifies that this resource is a Replica database, and to use this value as the source database. + // If replicating an Amazon RDS Database Instance in the same region, use the `identifier` of the source DB, unless also specifying the `dbSubnetGroupName`. + // If specifying the `dbSubnetGroupName` in the same region, use the `arn` of the source DB. + // If replicating an Instance in a different region, use the `arn` of the source DB. + // Note that if you are creating a cross-region replica of an encrypted database you will also need to specify a `kmsKeyId`. + // See [DB Instance Replication][instance-replication] and [Working with PostgreSQL and MySQL Read Replicas](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ReadRepl.html) for more information on using Replication. ReplicateSourceDb pulumi.StringPtrInput - // A configuration block for restoring a DB instance to an arbitrary point in time. Requires the `identifier` argument to be set with the name of the new DB instance to be created. See Restore To Point In Time below for details. + // A configuration block for restoring a DB instance to an arbitrary point in time. + // Requires the `identifier` argument to be set with the name of the new DB instance to be created. + // See Restore To Point In Time below for details. RestoreToPointInTime InstanceRestoreToPointInTimePtrInput // Restore from a Percona Xtrabackup in S3. See [Importing Data into an Amazon RDS MySQL DB Instance](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/MySQL.Procedural.Importing.html) S3Import InstanceS3ImportPtrInput @@ -1623,9 +1613,8 @@ type InstanceArgs struct { // instance is deleted, using the value from `finalSnapshotIdentifier`. Default // is `false`. SkipFinalSnapshot pulumi.BoolPtrInput - // Specifies whether or not to create this - // database from a snapshot. This correlates to the snapshot ID you'd find in the - // RDS console, e.g: rds:production-2015-06-26-06-05. + // Specifies whether or not to create this database from a snapshot. + // This corresponds to the snapshot ID you'd find in the RDS console, e.g: rds:production-2015-06-26-06-05. SnapshotIdentifier pulumi.StringPtrInput // Specifies whether the DB instance is // encrypted. Note that if you are creating a cross-region read replica this field @@ -1647,7 +1636,8 @@ type InstanceArgs struct { // Guide](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_SQLServer.html#SQLServer.Concepts.General.TimeZone) // for more information. Timezone pulumi.StringPtrInput - // Whether to upgrade the storage file system configuration on the read replica. Can only be set with `replicateSourceDb`. + // Whether to upgrade the storage file system configuration on the read replica. + // Can only be set with `replicateSourceDb`. UpgradeStorageConfig pulumi.BoolPtrInput // (Required unless a `snapshotIdentifier` or `replicateSourceDb` // is provided) Username for the master DB user. Cannot be specified for a replica. @@ -1851,13 +1841,12 @@ func (o InstanceOutput) DbName() pulumi.StringOutput { return o.ApplyT(func(v *Instance) pulumi.StringOutput { return v.DbName }).(pulumi.StringOutput) } -// Name of DB subnet group. DB instance will -// be created in the VPC associated with the DB subnet group. If unspecified, will -// be created in the `default` VPC, or in EC2 Classic, if available. When working -// with read replicas, it should be specified only if the source database -// specifies an instance in another AWS Region. See [DBSubnetGroupName in API -// action CreateDBInstanceReadReplica](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstanceReadReplica.html) -// for additional read replica constraints. +// Name of DB subnet group. +// DB instance will be created in the VPC associated with the DB subnet group. +// If unspecified, will be created in the `default` Subnet Group. +// When working with read replicas created in the same region, defaults to the Subnet Group Name of the source DB. +// When working with read replicas created in a different region, defaults to the `default` Subnet Group. +// See [DBSubnetGroupName in API action CreateDBInstanceReadReplica](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstanceReadReplica.html) for additional read replica constraints. func (o InstanceOutput) DbSubnetGroupName() pulumi.StringOutput { return o.ApplyT(func(v *Instance) pulumi.StringOutput { return v.DbSubnetGroupName }).(pulumi.StringOutput) } @@ -2124,15 +2113,12 @@ func (o InstanceOutput) Replicas() pulumi.StringArrayOutput { return o.ApplyT(func(v *Instance) pulumi.StringArrayOutput { return v.Replicas }).(pulumi.StringArrayOutput) } -// Specifies that this resource is a Replicate -// database, and to use this value as the source database. This correlates to the -// `identifier` of another Amazon RDS Database to replicate (if replicating within -// a single region) or ARN of the Amazon RDS Database to replicate (if replicating -// cross-region). Note that if you are -// creating a cross-region replica of an encrypted database you will also need to -// specify a `kmsKeyId`. See [DB Instance Replication][instance-replication] and [Working with -// PostgreSQL and MySQL Read Replicas](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ReadRepl.html) -// for more information on using Replication. +// Specifies that this resource is a Replica database, and to use this value as the source database. +// If replicating an Amazon RDS Database Instance in the same region, use the `identifier` of the source DB, unless also specifying the `dbSubnetGroupName`. +// If specifying the `dbSubnetGroupName` in the same region, use the `arn` of the source DB. +// If replicating an Instance in a different region, use the `arn` of the source DB. +// Note that if you are creating a cross-region replica of an encrypted database you will also need to specify a `kmsKeyId`. +// See [DB Instance Replication][instance-replication] and [Working with PostgreSQL and MySQL Read Replicas](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ReadRepl.html) for more information on using Replication. func (o InstanceOutput) ReplicateSourceDb() pulumi.StringPtrOutput { return o.ApplyT(func(v *Instance) pulumi.StringPtrOutput { return v.ReplicateSourceDb }).(pulumi.StringPtrOutput) } @@ -2142,7 +2128,9 @@ func (o InstanceOutput) ResourceId() pulumi.StringOutput { return o.ApplyT(func(v *Instance) pulumi.StringOutput { return v.ResourceId }).(pulumi.StringOutput) } -// A configuration block for restoring a DB instance to an arbitrary point in time. Requires the `identifier` argument to be set with the name of the new DB instance to be created. See Restore To Point In Time below for details. +// A configuration block for restoring a DB instance to an arbitrary point in time. +// Requires the `identifier` argument to be set with the name of the new DB instance to be created. +// See Restore To Point In Time below for details. func (o InstanceOutput) RestoreToPointInTime() InstanceRestoreToPointInTimePtrOutput { return o.ApplyT(func(v *Instance) InstanceRestoreToPointInTimePtrOutput { return v.RestoreToPointInTime }).(InstanceRestoreToPointInTimePtrOutput) } @@ -2161,9 +2149,8 @@ func (o InstanceOutput) SkipFinalSnapshot() pulumi.BoolPtrOutput { return o.ApplyT(func(v *Instance) pulumi.BoolPtrOutput { return v.SkipFinalSnapshot }).(pulumi.BoolPtrOutput) } -// Specifies whether or not to create this -// database from a snapshot. This correlates to the snapshot ID you'd find in the -// RDS console, e.g: rds:production-2015-06-26-06-05. +// Specifies whether or not to create this database from a snapshot. +// This corresponds to the snapshot ID you'd find in the RDS console, e.g: rds:production-2015-06-26-06-05. func (o InstanceOutput) SnapshotIdentifier() pulumi.StringOutput { return o.ApplyT(func(v *Instance) pulumi.StringOutput { return v.SnapshotIdentifier }).(pulumi.StringOutput) } @@ -2215,7 +2202,8 @@ func (o InstanceOutput) Timezone() pulumi.StringOutput { return o.ApplyT(func(v *Instance) pulumi.StringOutput { return v.Timezone }).(pulumi.StringOutput) } -// Whether to upgrade the storage file system configuration on the read replica. Can only be set with `replicateSourceDb`. +// Whether to upgrade the storage file system configuration on the read replica. +// Can only be set with `replicateSourceDb`. func (o InstanceOutput) UpgradeStorageConfig() pulumi.BoolPtrOutput { return o.ApplyT(func(v *Instance) pulumi.BoolPtrOutput { return v.UpgradeStorageConfig }).(pulumi.BoolPtrOutput) } diff --git a/sdk/go/aws/rds/proxy.go b/sdk/go/aws/rds/proxy.go index 18ab741d630..cbaa0c81639 100644 --- a/sdk/go/aws/rds/proxy.go +++ b/sdk/go/aws/rds/proxy.go @@ -12,57 +12,6 @@ import ( "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) -// Provides an RDS DB proxy resource. For additional information, see the [RDS User Guide](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-proxy.html). -// -// ## Example Usage -// -// ```go -// package main -// -// import ( -// -// "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds" -// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" -// -// ) -// -// func main() { -// pulumi.Run(func(ctx *pulumi.Context) error { -// _, err := rds.NewProxy(ctx, "example", &rds.ProxyArgs{ -// Name: pulumi.String("example"), -// DebugLogging: pulumi.Bool(false), -// EngineFamily: pulumi.String("MYSQL"), -// IdleClientTimeout: pulumi.Int(1800), -// RequireTls: pulumi.Bool(true), -// RoleArn: pulumi.Any(exampleAwsIamRole.Arn), -// VpcSecurityGroupIds: pulumi.StringArray{ -// exampleAwsSecurityGroup.Id, -// }, -// VpcSubnetIds: pulumi.StringArray{ -// exampleAwsSubnet.Id, -// }, -// Auths: rds.ProxyAuthArray{ -// &rds.ProxyAuthArgs{ -// AuthScheme: pulumi.String("SECRETS"), -// Description: pulumi.String("example"), -// IamAuth: pulumi.String("DISABLED"), -// SecretArn: pulumi.Any(exampleAwsSecretsmanagerSecret.Arn), -// }, -// }, -// Tags: pulumi.StringMap{ -// "Name": pulumi.String("example"), -// "Key": pulumi.String("value"), -// }, -// }) -// if err != nil { -// return err -// } -// return nil -// }) -// } -// -// ``` -// // ## Import // // Using `pulumi import`, import DB proxies using the `name`. For example: diff --git a/sdk/go/aws/rds/pulumiTypes.go b/sdk/go/aws/rds/pulumiTypes.go index 8da7e19ad13..cf4b067b938 100644 --- a/sdk/go/aws/rds/pulumiTypes.go +++ b/sdk/go/aws/rds/pulumiTypes.go @@ -924,6 +924,8 @@ type ClusterServerlessv2ScalingConfiguration struct { MaxCapacity float64 `pulumi:"maxCapacity"` // Minimum capacity for an Aurora DB cluster in `provisioned` DB engine mode. The minimum capacity must be lesser than or equal to the maximum capacity. Valid capacity values are in a range of `0` up to `256` in steps of `0.5`. MinCapacity float64 `pulumi:"minCapacity"` + // Time, in seconds, before an Aurora DB cluster in `provisioned` DB engine mode is paused. Valid values are `300` through `86400`. + SecondsUntilAutoPause *int `pulumi:"secondsUntilAutoPause"` } // ClusterServerlessv2ScalingConfigurationInput is an input type that accepts ClusterServerlessv2ScalingConfigurationArgs and ClusterServerlessv2ScalingConfigurationOutput values. @@ -942,6 +944,8 @@ type ClusterServerlessv2ScalingConfigurationArgs struct { MaxCapacity pulumi.Float64Input `pulumi:"maxCapacity"` // Minimum capacity for an Aurora DB cluster in `provisioned` DB engine mode. The minimum capacity must be lesser than or equal to the maximum capacity. Valid capacity values are in a range of `0` up to `256` in steps of `0.5`. MinCapacity pulumi.Float64Input `pulumi:"minCapacity"` + // Time, in seconds, before an Aurora DB cluster in `provisioned` DB engine mode is paused. Valid values are `300` through `86400`. + SecondsUntilAutoPause pulumi.IntPtrInput `pulumi:"secondsUntilAutoPause"` } func (ClusterServerlessv2ScalingConfigurationArgs) ElementType() reflect.Type { @@ -1031,6 +1035,11 @@ func (o ClusterServerlessv2ScalingConfigurationOutput) MinCapacity() pulumi.Floa return o.ApplyT(func(v ClusterServerlessv2ScalingConfiguration) float64 { return v.MinCapacity }).(pulumi.Float64Output) } +// Time, in seconds, before an Aurora DB cluster in `provisioned` DB engine mode is paused. Valid values are `300` through `86400`. +func (o ClusterServerlessv2ScalingConfigurationOutput) SecondsUntilAutoPause() pulumi.IntPtrOutput { + return o.ApplyT(func(v ClusterServerlessv2ScalingConfiguration) *int { return v.SecondsUntilAutoPause }).(pulumi.IntPtrOutput) +} + type ClusterServerlessv2ScalingConfigurationPtrOutput struct{ *pulumi.OutputState } func (ClusterServerlessv2ScalingConfigurationPtrOutput) ElementType() reflect.Type { @@ -1075,6 +1084,16 @@ func (o ClusterServerlessv2ScalingConfigurationPtrOutput) MinCapacity() pulumi.F }).(pulumi.Float64PtrOutput) } +// Time, in seconds, before an Aurora DB cluster in `provisioned` DB engine mode is paused. Valid values are `300` through `86400`. +func (o ClusterServerlessv2ScalingConfigurationPtrOutput) SecondsUntilAutoPause() pulumi.IntPtrOutput { + return o.ApplyT(func(v *ClusterServerlessv2ScalingConfiguration) *int { + if v == nil { + return nil + } + return v.SecondsUntilAutoPause + }).(pulumi.IntPtrOutput) +} + type ExportTaskTimeouts struct { // A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Create *string `pulumi:"create"` @@ -1232,9 +1251,9 @@ func (o ExportTaskTimeoutsPtrOutput) Delete() pulumi.StringPtrOutput { } type GlobalClusterGlobalClusterMember struct { - // Amazon Resource Name (ARN) of member DB Cluster + // Amazon Resource Name (ARN) of member DB Cluster. DbClusterArn *string `pulumi:"dbClusterArn"` - // Whether the member is the primary DB Cluster + // Whether the member is the primary DB Cluster. IsWriter *bool `pulumi:"isWriter"` } @@ -1250,9 +1269,9 @@ type GlobalClusterGlobalClusterMemberInput interface { } type GlobalClusterGlobalClusterMemberArgs struct { - // Amazon Resource Name (ARN) of member DB Cluster + // Amazon Resource Name (ARN) of member DB Cluster. DbClusterArn pulumi.StringPtrInput `pulumi:"dbClusterArn"` - // Whether the member is the primary DB Cluster + // Whether the member is the primary DB Cluster. IsWriter pulumi.BoolPtrInput `pulumi:"isWriter"` } @@ -1307,12 +1326,12 @@ func (o GlobalClusterGlobalClusterMemberOutput) ToGlobalClusterGlobalClusterMemb return o } -// Amazon Resource Name (ARN) of member DB Cluster +// Amazon Resource Name (ARN) of member DB Cluster. func (o GlobalClusterGlobalClusterMemberOutput) DbClusterArn() pulumi.StringPtrOutput { return o.ApplyT(func(v GlobalClusterGlobalClusterMember) *string { return v.DbClusterArn }).(pulumi.StringPtrOutput) } -// Whether the member is the primary DB Cluster +// Whether the member is the primary DB Cluster. func (o GlobalClusterGlobalClusterMemberOutput) IsWriter() pulumi.BoolPtrOutput { return o.ApplyT(func(v GlobalClusterGlobalClusterMember) *bool { return v.IsWriter }).(pulumi.BoolPtrOutput) } diff --git a/sdk/go/aws/route53/profilesAssociation.go b/sdk/go/aws/route53/profilesAssociation.go index 1e657a1809e..ed0db1dc503 100644 --- a/sdk/go/aws/route53/profilesAssociation.go +++ b/sdk/go/aws/route53/profilesAssociation.go @@ -34,11 +34,14 @@ type ProfilesAssociation struct { ProfileId pulumi.StringOutput `pulumi:"profileId"` // Resource ID of the VPC the profile to be associated with. ResourceId pulumi.StringOutput `pulumi:"resourceId"` - // Status of the Profile Association. See the [AWS docs](https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53profiles_Profile.html) for valid values. + // Status of the Profile Association. Status pulumi.StringOutput `pulumi:"status"` // Status message of the Profile Association. - StatusMessage pulumi.StringOutput `pulumi:"statusMessage"` - Tags pulumi.StringMapOutput `pulumi:"tags"` + StatusMessage pulumi.StringOutput `pulumi:"statusMessage"` + // Map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + Tags pulumi.StringMapOutput `pulumi:"tags"` + // Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + // // Deprecated: Please use `tags` instead. TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"` Timeouts ProfilesAssociationTimeoutsPtrOutput `pulumi:"timeouts"` @@ -88,11 +91,14 @@ type profilesAssociationState struct { ProfileId *string `pulumi:"profileId"` // Resource ID of the VPC the profile to be associated with. ResourceId *string `pulumi:"resourceId"` - // Status of the Profile Association. See the [AWS docs](https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53profiles_Profile.html) for valid values. + // Status of the Profile Association. Status *string `pulumi:"status"` // Status message of the Profile Association. - StatusMessage *string `pulumi:"statusMessage"` - Tags map[string]string `pulumi:"tags"` + StatusMessage *string `pulumi:"statusMessage"` + // Map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + Tags map[string]string `pulumi:"tags"` + // Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + // // Deprecated: Please use `tags` instead. TagsAll map[string]string `pulumi:"tagsAll"` Timeouts *ProfilesAssociationTimeouts `pulumi:"timeouts"` @@ -107,11 +113,14 @@ type ProfilesAssociationState struct { ProfileId pulumi.StringPtrInput // Resource ID of the VPC the profile to be associated with. ResourceId pulumi.StringPtrInput - // Status of the Profile Association. See the [AWS docs](https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53profiles_Profile.html) for valid values. + // Status of the Profile Association. Status pulumi.StringPtrInput // Status message of the Profile Association. StatusMessage pulumi.StringPtrInput - Tags pulumi.StringMapInput + // Map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + Tags pulumi.StringMapInput + // Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + // // Deprecated: Please use `tags` instead. TagsAll pulumi.StringMapInput Timeouts ProfilesAssociationTimeoutsPtrInput @@ -127,9 +136,10 @@ type profilesAssociationArgs struct { // ID of the profile associated with the VPC. ProfileId string `pulumi:"profileId"` // Resource ID of the VPC the profile to be associated with. - ResourceId string `pulumi:"resourceId"` - Tags map[string]string `pulumi:"tags"` - Timeouts *ProfilesAssociationTimeouts `pulumi:"timeouts"` + ResourceId string `pulumi:"resourceId"` + // Map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + Tags map[string]string `pulumi:"tags"` + Timeouts *ProfilesAssociationTimeouts `pulumi:"timeouts"` } // The set of arguments for constructing a ProfilesAssociation resource. @@ -140,8 +150,9 @@ type ProfilesAssociationArgs struct { ProfileId pulumi.StringInput // Resource ID of the VPC the profile to be associated with. ResourceId pulumi.StringInput - Tags pulumi.StringMapInput - Timeouts ProfilesAssociationTimeoutsPtrInput + // Map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + Tags pulumi.StringMapInput + Timeouts ProfilesAssociationTimeoutsPtrInput } func (ProfilesAssociationArgs) ElementType() reflect.Type { @@ -254,7 +265,7 @@ func (o ProfilesAssociationOutput) ResourceId() pulumi.StringOutput { return o.ApplyT(func(v *ProfilesAssociation) pulumi.StringOutput { return v.ResourceId }).(pulumi.StringOutput) } -// Status of the Profile Association. See the [AWS docs](https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53profiles_Profile.html) for valid values. +// Status of the Profile Association. func (o ProfilesAssociationOutput) Status() pulumi.StringOutput { return o.ApplyT(func(v *ProfilesAssociation) pulumi.StringOutput { return v.Status }).(pulumi.StringOutput) } @@ -264,10 +275,13 @@ func (o ProfilesAssociationOutput) StatusMessage() pulumi.StringOutput { return o.ApplyT(func(v *ProfilesAssociation) pulumi.StringOutput { return v.StatusMessage }).(pulumi.StringOutput) } +// 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 ProfilesAssociationOutput) Tags() pulumi.StringMapOutput { return o.ApplyT(func(v *ProfilesAssociation) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) } +// Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. +// // Deprecated: Please use `tags` instead. func (o ProfilesAssociationOutput) TagsAll() pulumi.StringMapOutput { return o.ApplyT(func(v *ProfilesAssociation) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput) diff --git a/sdk/go/aws/route53/profilesProfile.go b/sdk/go/aws/route53/profilesProfile.go index dfca3238c98..b9bcb85c060 100644 --- a/sdk/go/aws/route53/profilesProfile.go +++ b/sdk/go/aws/route53/profilesProfile.go @@ -31,6 +31,9 @@ import ( // pulumi.Run(func(ctx *pulumi.Context) error { // _, err := route53.NewProfilesProfile(ctx, "example", &route53.ProfilesProfileArgs{ // Name: pulumi.String("example"), +// Tags: pulumi.StringMap{ +// "Environment": pulumi.String("dev"), +// }, // }) // if err != nil { // return err @@ -56,13 +59,14 @@ type ProfilesProfile struct { // Name of the Profile. Name pulumi.StringOutput `pulumi:"name"` OwnerId pulumi.StringOutput `pulumi:"ownerId"` - // Share status of the Profile. Valid values [AWS docs](https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53profiles_Profile.html) + // Share status of the Profile. ShareStatus pulumi.StringOutput `pulumi:"shareStatus"` - // Status of the Profile. Valid values [AWS docs](https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53profiles_Profile.html) + // Status of the Profile. Status pulumi.StringOutput `pulumi:"status"` // Status message of the Profile. - StatusMessage pulumi.StringOutput `pulumi:"statusMessage"` - Tags pulumi.StringMapOutput `pulumi:"tags"` + StatusMessage pulumi.StringOutput `pulumi:"statusMessage"` + // Map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + Tags pulumi.StringMapOutput `pulumi:"tags"` // Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. // // Deprecated: Please use `tags` instead. @@ -105,13 +109,14 @@ type profilesProfileState struct { // Name of the Profile. Name *string `pulumi:"name"` OwnerId *string `pulumi:"ownerId"` - // Share status of the Profile. Valid values [AWS docs](https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53profiles_Profile.html) + // Share status of the Profile. ShareStatus *string `pulumi:"shareStatus"` - // Status of the Profile. Valid values [AWS docs](https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53profiles_Profile.html) + // Status of the Profile. Status *string `pulumi:"status"` // Status message of the Profile. - StatusMessage *string `pulumi:"statusMessage"` - Tags map[string]string `pulumi:"tags"` + StatusMessage *string `pulumi:"statusMessage"` + // Map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + Tags map[string]string `pulumi:"tags"` // Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. // // Deprecated: Please use `tags` instead. @@ -125,13 +130,14 @@ type ProfilesProfileState struct { // Name of the Profile. Name pulumi.StringPtrInput OwnerId pulumi.StringPtrInput - // Share status of the Profile. Valid values [AWS docs](https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53profiles_Profile.html) + // Share status of the Profile. ShareStatus pulumi.StringPtrInput - // Status of the Profile. Valid values [AWS docs](https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53profiles_Profile.html) + // Status of the Profile. Status pulumi.StringPtrInput // Status message of the Profile. StatusMessage pulumi.StringPtrInput - Tags pulumi.StringMapInput + // Map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + Tags pulumi.StringMapInput // Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. // // Deprecated: Please use `tags` instead. @@ -145,7 +151,8 @@ func (ProfilesProfileState) ElementType() reflect.Type { type profilesProfileArgs struct { // Name of the Profile. - Name *string `pulumi:"name"` + Name *string `pulumi:"name"` + // Map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags map[string]string `pulumi:"tags"` Timeouts *ProfilesProfileTimeouts `pulumi:"timeouts"` } @@ -153,7 +160,8 @@ type profilesProfileArgs struct { // The set of arguments for constructing a ProfilesProfile resource. type ProfilesProfileArgs struct { // Name of the Profile. - Name pulumi.StringPtrInput + Name 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 Timeouts ProfilesProfileTimeoutsPtrInput } @@ -259,12 +267,12 @@ func (o ProfilesProfileOutput) OwnerId() pulumi.StringOutput { return o.ApplyT(func(v *ProfilesProfile) pulumi.StringOutput { return v.OwnerId }).(pulumi.StringOutput) } -// Share status of the Profile. Valid values [AWS docs](https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53profiles_Profile.html) +// Share status of the Profile. func (o ProfilesProfileOutput) ShareStatus() pulumi.StringOutput { return o.ApplyT(func(v *ProfilesProfile) pulumi.StringOutput { return v.ShareStatus }).(pulumi.StringOutput) } -// Status of the Profile. Valid values [AWS docs](https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53profiles_Profile.html) +// Status of the Profile. func (o ProfilesProfileOutput) Status() pulumi.StringOutput { return o.ApplyT(func(v *ProfilesProfile) pulumi.StringOutput { return v.Status }).(pulumi.StringOutput) } @@ -274,6 +282,7 @@ func (o ProfilesProfileOutput) StatusMessage() pulumi.StringOutput { return o.ApplyT(func(v *ProfilesProfile) pulumi.StringOutput { return v.StatusMessage }).(pulumi.StringOutput) } +// 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 ProfilesProfileOutput) Tags() pulumi.StringMapOutput { return o.ApplyT(func(v *ProfilesProfile) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) } diff --git a/sdk/go/aws/sagemaker/notebookInstance.go b/sdk/go/aws/sagemaker/notebookInstance.go index 3228f6438ba..6f639129395 100644 --- a/sdk/go/aws/sagemaker/notebookInstance.go +++ b/sdk/go/aws/sagemaker/notebookInstance.go @@ -121,7 +121,7 @@ type NotebookInstance struct { Name pulumi.StringOutput `pulumi:"name"` // The network interface ID that Amazon SageMaker created at the time of creating the instance. Only available when setting `subnetId`. NetworkInterfaceId pulumi.StringOutput `pulumi:"networkInterfaceId"` - // The platform identifier of the notebook instance runtime environment. This value can be either `notebook-al1-v1`, `notebook-al2-v1`, or `notebook-al2-v2`, depending on which version of Amazon Linux you require. + // The platform identifier of the notebook instance runtime environment. This value can be either `notebook-al1-v1`, `notebook-al2-v1`, `notebook-al2-v2`, or `notebook-al2-v3`, depending on which version of Amazon Linux you require. PlatformIdentifier pulumi.StringOutput `pulumi:"platformIdentifier"` // The ARN of the IAM role to be used by the notebook instance which allows SageMaker to call other services on your behalf. RoleArn pulumi.StringOutput `pulumi:"roleArn"` @@ -202,7 +202,7 @@ type notebookInstanceState struct { Name *string `pulumi:"name"` // The network interface ID that Amazon SageMaker created at the time of creating the instance. Only available when setting `subnetId`. NetworkInterfaceId *string `pulumi:"networkInterfaceId"` - // The platform identifier of the notebook instance runtime environment. This value can be either `notebook-al1-v1`, `notebook-al2-v1`, or `notebook-al2-v2`, depending on which version of Amazon Linux you require. + // The platform identifier of the notebook instance runtime environment. This value can be either `notebook-al1-v1`, `notebook-al2-v1`, `notebook-al2-v2`, or `notebook-al2-v3`, depending on which version of Amazon Linux you require. PlatformIdentifier *string `pulumi:"platformIdentifier"` // The ARN of the IAM role to be used by the notebook instance which allows SageMaker to call other services on your behalf. RoleArn *string `pulumi:"roleArn"` @@ -248,7 +248,7 @@ type NotebookInstanceState struct { Name pulumi.StringPtrInput // The network interface ID that Amazon SageMaker created at the time of creating the instance. Only available when setting `subnetId`. NetworkInterfaceId pulumi.StringPtrInput - // The platform identifier of the notebook instance runtime environment. This value can be either `notebook-al1-v1`, `notebook-al2-v1`, or `notebook-al2-v2`, depending on which version of Amazon Linux you require. + // The platform identifier of the notebook instance runtime environment. This value can be either `notebook-al1-v1`, `notebook-al2-v1`, `notebook-al2-v2`, or `notebook-al2-v3`, depending on which version of Amazon Linux you require. PlatformIdentifier pulumi.StringPtrInput // The ARN of the IAM role to be used by the notebook instance which allows SageMaker to call other services on your behalf. RoleArn pulumi.StringPtrInput @@ -294,7 +294,7 @@ type notebookInstanceArgs struct { LifecycleConfigName *string `pulumi:"lifecycleConfigName"` // The name of the notebook instance (must be unique). Name *string `pulumi:"name"` - // The platform identifier of the notebook instance runtime environment. This value can be either `notebook-al1-v1`, `notebook-al2-v1`, or `notebook-al2-v2`, depending on which version of Amazon Linux you require. + // The platform identifier of the notebook instance runtime environment. This value can be either `notebook-al1-v1`, `notebook-al2-v1`, `notebook-al2-v2`, or `notebook-al2-v3`, depending on which version of Amazon Linux you require. PlatformIdentifier *string `pulumi:"platformIdentifier"` // The ARN of the IAM role to be used by the notebook instance which allows SageMaker to call other services on your behalf. RoleArn string `pulumi:"roleArn"` @@ -331,7 +331,7 @@ type NotebookInstanceArgs struct { LifecycleConfigName pulumi.StringPtrInput // The name of the notebook instance (must be unique). Name pulumi.StringPtrInput - // The platform identifier of the notebook instance runtime environment. This value can be either `notebook-al1-v1`, `notebook-al2-v1`, or `notebook-al2-v2`, depending on which version of Amazon Linux you require. + // The platform identifier of the notebook instance runtime environment. This value can be either `notebook-al1-v1`, `notebook-al2-v1`, `notebook-al2-v2`, or `notebook-al2-v3`, depending on which version of Amazon Linux you require. PlatformIdentifier pulumi.StringPtrInput // The ARN of the IAM role to be used by the notebook instance which allows SageMaker to call other services on your behalf. RoleArn pulumi.StringInput @@ -492,7 +492,7 @@ func (o NotebookInstanceOutput) NetworkInterfaceId() pulumi.StringOutput { return o.ApplyT(func(v *NotebookInstance) pulumi.StringOutput { return v.NetworkInterfaceId }).(pulumi.StringOutput) } -// The platform identifier of the notebook instance runtime environment. This value can be either `notebook-al1-v1`, `notebook-al2-v1`, or `notebook-al2-v2`, depending on which version of Amazon Linux you require. +// The platform identifier of the notebook instance runtime environment. This value can be either `notebook-al1-v1`, `notebook-al2-v1`, `notebook-al2-v2`, or `notebook-al2-v3`, depending on which version of Amazon Linux you require. func (o NotebookInstanceOutput) PlatformIdentifier() pulumi.StringOutput { return o.ApplyT(func(v *NotebookInstance) pulumi.StringOutput { return v.PlatformIdentifier }).(pulumi.StringOutput) } diff --git a/sdk/go/aws/servicecatalog/appregistryApplication.go b/sdk/go/aws/servicecatalog/appregistryApplication.go index 4702a7d4e37..e41c7695b5c 100644 --- a/sdk/go/aws/servicecatalog/appregistryApplication.go +++ b/sdk/go/aws/servicecatalog/appregistryApplication.go @@ -97,6 +97,12 @@ type AppregistryApplication struct { // // The following arguments are optional: Name pulumi.StringOutput `pulumi:"name"` + // A map of tags assigned to the Application. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + Tags pulumi.StringMapOutput `pulumi:"tags"` + // Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + // + // Deprecated: Please use `tags` instead. + TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"` } // NewAppregistryApplication registers a new resource with the given unique name, arguments, and options. @@ -139,6 +145,12 @@ type appregistryApplicationState struct { // // The following arguments are optional: Name *string `pulumi:"name"` + // A map of tags assigned to the Application. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + Tags map[string]string `pulumi:"tags"` + // Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + // + // Deprecated: Please use `tags` instead. + TagsAll map[string]string `pulumi:"tagsAll"` } type AppregistryApplicationState struct { @@ -152,6 +164,12 @@ type AppregistryApplicationState struct { // // The following arguments are optional: Name pulumi.StringPtrInput + // A map of tags assigned to the Application. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + Tags pulumi.StringMapInput + // Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + // + // Deprecated: Please use `tags` instead. + TagsAll pulumi.StringMapInput } func (AppregistryApplicationState) ElementType() reflect.Type { @@ -165,6 +183,8 @@ type appregistryApplicationArgs struct { // // The following arguments are optional: Name *string `pulumi:"name"` + // A map of tags assigned to the Application. 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 AppregistryApplication resource. @@ -175,6 +195,8 @@ type AppregistryApplicationArgs struct { // // The following arguments are optional: Name pulumi.StringPtrInput + // A map of tags assigned to the Application. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + Tags pulumi.StringMapInput } func (AppregistryApplicationArgs) ElementType() reflect.Type { @@ -286,6 +308,18 @@ func (o AppregistryApplicationOutput) Name() pulumi.StringOutput { return o.ApplyT(func(v *AppregistryApplication) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) } +// A map of tags assigned to the Application. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. +func (o AppregistryApplicationOutput) Tags() pulumi.StringMapOutput { + return o.ApplyT(func(v *AppregistryApplication) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) +} + +// Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. +// +// Deprecated: Please use `tags` instead. +func (o AppregistryApplicationOutput) TagsAll() pulumi.StringMapOutput { + return o.ApplyT(func(v *AppregistryApplication) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput) +} + type AppregistryApplicationArrayOutput struct{ *pulumi.OutputState } func (AppregistryApplicationArrayOutput) ElementType() reflect.Type { diff --git a/sdk/go/aws/servicecatalog/appregistryAttributeGroup.go b/sdk/go/aws/servicecatalog/appregistryAttributeGroup.go new file mode 100644 index 00000000000..ad5e4d0937b --- /dev/null +++ b/sdk/go/aws/servicecatalog/appregistryAttributeGroup.go @@ -0,0 +1,354 @@ +// 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 servicecatalog + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Resource for managing an AWS Service Catalog AppRegistry Attribute Group. +// +// ## Example Usage +// +// ### Basic Usage +// +// ```go +// package main +// +// import ( +// +// "encoding/json" +// +// "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/servicecatalog" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// tmpJSON0, err := json.Marshal(map[string]interface{}{ +// "app": "exampleapp", +// "group": "examplegroup", +// }) +// if err != nil { +// return err +// } +// json0 := string(tmpJSON0) +// _, err = servicecatalog.NewAppregistryAttributeGroup(ctx, "example", &servicecatalog.AppregistryAttributeGroupArgs{ +// Name: pulumi.String("example"), +// Description: pulumi.String("example description"), +// Attributes: pulumi.String(json0), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// ## Import +// +// Using `pulumi import`, import Service Catalog AppRegistry Attribute Group using the `id`. For example: +// +// ```sh +// $ pulumi import aws:servicecatalog/appregistryAttributeGroup:AppregistryAttributeGroup example 1234567890abcfedhijk09876s +// ``` +type AppregistryAttributeGroup struct { + pulumi.CustomResourceState + + // ARN of the Attribute Group. + Arn pulumi.StringOutput `pulumi:"arn"` + // A JSON string of nested key-value pairs that represents the attributes of the group. + // + // The following arguments are optional: + Attributes pulumi.StringOutput `pulumi:"attributes"` + // Description of the Attribute Group. + Description pulumi.StringPtrOutput `pulumi:"description"` + // Name of the Attribute Group. + Name pulumi.StringOutput `pulumi:"name"` + // A map of tags assigned to the Attribute Group. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + Tags pulumi.StringMapOutput `pulumi:"tags"` + // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + // + // Deprecated: Please use `tags` instead. + TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"` +} + +// NewAppregistryAttributeGroup registers a new resource with the given unique name, arguments, and options. +func NewAppregistryAttributeGroup(ctx *pulumi.Context, + name string, args *AppregistryAttributeGroupArgs, opts ...pulumi.ResourceOption) (*AppregistryAttributeGroup, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Attributes == nil { + return nil, errors.New("invalid value for required argument 'Attributes'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource AppregistryAttributeGroup + err := ctx.RegisterResource("aws:servicecatalog/appregistryAttributeGroup:AppregistryAttributeGroup", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetAppregistryAttributeGroup gets an existing AppregistryAttributeGroup 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 GetAppregistryAttributeGroup(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *AppregistryAttributeGroupState, opts ...pulumi.ResourceOption) (*AppregistryAttributeGroup, error) { + var resource AppregistryAttributeGroup + err := ctx.ReadResource("aws:servicecatalog/appregistryAttributeGroup:AppregistryAttributeGroup", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering AppregistryAttributeGroup resources. +type appregistryAttributeGroupState struct { + // ARN of the Attribute Group. + Arn *string `pulumi:"arn"` + // A JSON string of nested key-value pairs that represents the attributes of the group. + // + // The following arguments are optional: + Attributes *string `pulumi:"attributes"` + // Description of the Attribute Group. + Description *string `pulumi:"description"` + // Name of the Attribute Group. + Name *string `pulumi:"name"` + // A map of tags assigned to the Attribute Group. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + Tags map[string]string `pulumi:"tags"` + // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + // + // Deprecated: Please use `tags` instead. + TagsAll map[string]string `pulumi:"tagsAll"` +} + +type AppregistryAttributeGroupState struct { + // ARN of the Attribute Group. + Arn pulumi.StringPtrInput + // A JSON string of nested key-value pairs that represents the attributes of the group. + // + // The following arguments are optional: + Attributes pulumi.StringPtrInput + // Description of the Attribute Group. + Description pulumi.StringPtrInput + // Name of the Attribute Group. + Name pulumi.StringPtrInput + // A map of tags assigned to the Attribute Group. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + Tags pulumi.StringMapInput + // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + // + // Deprecated: Please use `tags` instead. + TagsAll pulumi.StringMapInput +} + +func (AppregistryAttributeGroupState) ElementType() reflect.Type { + return reflect.TypeOf((*appregistryAttributeGroupState)(nil)).Elem() +} + +type appregistryAttributeGroupArgs struct { + // A JSON string of nested key-value pairs that represents the attributes of the group. + // + // The following arguments are optional: + Attributes string `pulumi:"attributes"` + // Description of the Attribute Group. + Description *string `pulumi:"description"` + // Name of the Attribute Group. + Name *string `pulumi:"name"` + // A map of tags assigned to the Attribute Group. 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 AppregistryAttributeGroup resource. +type AppregistryAttributeGroupArgs struct { + // A JSON string of nested key-value pairs that represents the attributes of the group. + // + // The following arguments are optional: + Attributes pulumi.StringInput + // Description of the Attribute Group. + Description pulumi.StringPtrInput + // Name of the Attribute Group. + Name pulumi.StringPtrInput + // A map of tags assigned to the Attribute Group. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + Tags pulumi.StringMapInput +} + +func (AppregistryAttributeGroupArgs) ElementType() reflect.Type { + return reflect.TypeOf((*appregistryAttributeGroupArgs)(nil)).Elem() +} + +type AppregistryAttributeGroupInput interface { + pulumi.Input + + ToAppregistryAttributeGroupOutput() AppregistryAttributeGroupOutput + ToAppregistryAttributeGroupOutputWithContext(ctx context.Context) AppregistryAttributeGroupOutput +} + +func (*AppregistryAttributeGroup) ElementType() reflect.Type { + return reflect.TypeOf((**AppregistryAttributeGroup)(nil)).Elem() +} + +func (i *AppregistryAttributeGroup) ToAppregistryAttributeGroupOutput() AppregistryAttributeGroupOutput { + return i.ToAppregistryAttributeGroupOutputWithContext(context.Background()) +} + +func (i *AppregistryAttributeGroup) ToAppregistryAttributeGroupOutputWithContext(ctx context.Context) AppregistryAttributeGroupOutput { + return pulumi.ToOutputWithContext(ctx, i).(AppregistryAttributeGroupOutput) +} + +// AppregistryAttributeGroupArrayInput is an input type that accepts AppregistryAttributeGroupArray and AppregistryAttributeGroupArrayOutput values. +// You can construct a concrete instance of `AppregistryAttributeGroupArrayInput` via: +// +// AppregistryAttributeGroupArray{ AppregistryAttributeGroupArgs{...} } +type AppregistryAttributeGroupArrayInput interface { + pulumi.Input + + ToAppregistryAttributeGroupArrayOutput() AppregistryAttributeGroupArrayOutput + ToAppregistryAttributeGroupArrayOutputWithContext(context.Context) AppregistryAttributeGroupArrayOutput +} + +type AppregistryAttributeGroupArray []AppregistryAttributeGroupInput + +func (AppregistryAttributeGroupArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*AppregistryAttributeGroup)(nil)).Elem() +} + +func (i AppregistryAttributeGroupArray) ToAppregistryAttributeGroupArrayOutput() AppregistryAttributeGroupArrayOutput { + return i.ToAppregistryAttributeGroupArrayOutputWithContext(context.Background()) +} + +func (i AppregistryAttributeGroupArray) ToAppregistryAttributeGroupArrayOutputWithContext(ctx context.Context) AppregistryAttributeGroupArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(AppregistryAttributeGroupArrayOutput) +} + +// AppregistryAttributeGroupMapInput is an input type that accepts AppregistryAttributeGroupMap and AppregistryAttributeGroupMapOutput values. +// You can construct a concrete instance of `AppregistryAttributeGroupMapInput` via: +// +// AppregistryAttributeGroupMap{ "key": AppregistryAttributeGroupArgs{...} } +type AppregistryAttributeGroupMapInput interface { + pulumi.Input + + ToAppregistryAttributeGroupMapOutput() AppregistryAttributeGroupMapOutput + ToAppregistryAttributeGroupMapOutputWithContext(context.Context) AppregistryAttributeGroupMapOutput +} + +type AppregistryAttributeGroupMap map[string]AppregistryAttributeGroupInput + +func (AppregistryAttributeGroupMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*AppregistryAttributeGroup)(nil)).Elem() +} + +func (i AppregistryAttributeGroupMap) ToAppregistryAttributeGroupMapOutput() AppregistryAttributeGroupMapOutput { + return i.ToAppregistryAttributeGroupMapOutputWithContext(context.Background()) +} + +func (i AppregistryAttributeGroupMap) ToAppregistryAttributeGroupMapOutputWithContext(ctx context.Context) AppregistryAttributeGroupMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(AppregistryAttributeGroupMapOutput) +} + +type AppregistryAttributeGroupOutput struct{ *pulumi.OutputState } + +func (AppregistryAttributeGroupOutput) ElementType() reflect.Type { + return reflect.TypeOf((**AppregistryAttributeGroup)(nil)).Elem() +} + +func (o AppregistryAttributeGroupOutput) ToAppregistryAttributeGroupOutput() AppregistryAttributeGroupOutput { + return o +} + +func (o AppregistryAttributeGroupOutput) ToAppregistryAttributeGroupOutputWithContext(ctx context.Context) AppregistryAttributeGroupOutput { + return o +} + +// ARN of the Attribute Group. +func (o AppregistryAttributeGroupOutput) Arn() pulumi.StringOutput { + return o.ApplyT(func(v *AppregistryAttributeGroup) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) +} + +// A JSON string of nested key-value pairs that represents the attributes of the group. +// +// The following arguments are optional: +func (o AppregistryAttributeGroupOutput) Attributes() pulumi.StringOutput { + return o.ApplyT(func(v *AppregistryAttributeGroup) pulumi.StringOutput { return v.Attributes }).(pulumi.StringOutput) +} + +// Description of the Attribute Group. +func (o AppregistryAttributeGroupOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AppregistryAttributeGroup) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) +} + +// Name of the Attribute Group. +func (o AppregistryAttributeGroupOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *AppregistryAttributeGroup) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// A map of tags assigned to the Attribute Group. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. +func (o AppregistryAttributeGroupOutput) Tags() pulumi.StringMapOutput { + return o.ApplyT(func(v *AppregistryAttributeGroup) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) +} + +// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. +// +// Deprecated: Please use `tags` instead. +func (o AppregistryAttributeGroupOutput) TagsAll() pulumi.StringMapOutput { + return o.ApplyT(func(v *AppregistryAttributeGroup) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput) +} + +type AppregistryAttributeGroupArrayOutput struct{ *pulumi.OutputState } + +func (AppregistryAttributeGroupArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*AppregistryAttributeGroup)(nil)).Elem() +} + +func (o AppregistryAttributeGroupArrayOutput) ToAppregistryAttributeGroupArrayOutput() AppregistryAttributeGroupArrayOutput { + return o +} + +func (o AppregistryAttributeGroupArrayOutput) ToAppregistryAttributeGroupArrayOutputWithContext(ctx context.Context) AppregistryAttributeGroupArrayOutput { + return o +} + +func (o AppregistryAttributeGroupArrayOutput) Index(i pulumi.IntInput) AppregistryAttributeGroupOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *AppregistryAttributeGroup { + return vs[0].([]*AppregistryAttributeGroup)[vs[1].(int)] + }).(AppregistryAttributeGroupOutput) +} + +type AppregistryAttributeGroupMapOutput struct{ *pulumi.OutputState } + +func (AppregistryAttributeGroupMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*AppregistryAttributeGroup)(nil)).Elem() +} + +func (o AppregistryAttributeGroupMapOutput) ToAppregistryAttributeGroupMapOutput() AppregistryAttributeGroupMapOutput { + return o +} + +func (o AppregistryAttributeGroupMapOutput) ToAppregistryAttributeGroupMapOutputWithContext(ctx context.Context) AppregistryAttributeGroupMapOutput { + return o +} + +func (o AppregistryAttributeGroupMapOutput) MapIndex(k pulumi.StringInput) AppregistryAttributeGroupOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *AppregistryAttributeGroup { + return vs[0].(map[string]*AppregistryAttributeGroup)[vs[1].(string)] + }).(AppregistryAttributeGroupOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*AppregistryAttributeGroupInput)(nil)).Elem(), &AppregistryAttributeGroup{}) + pulumi.RegisterInputType(reflect.TypeOf((*AppregistryAttributeGroupArrayInput)(nil)).Elem(), AppregistryAttributeGroupArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*AppregistryAttributeGroupMapInput)(nil)).Elem(), AppregistryAttributeGroupMap{}) + pulumi.RegisterOutputType(AppregistryAttributeGroupOutput{}) + pulumi.RegisterOutputType(AppregistryAttributeGroupArrayOutput{}) + pulumi.RegisterOutputType(AppregistryAttributeGroupMapOutput{}) +} diff --git a/sdk/go/aws/servicecatalog/appregistryAttributeGroupAssociation.go b/sdk/go/aws/servicecatalog/appregistryAttributeGroupAssociation.go new file mode 100644 index 00000000000..318c973025f --- /dev/null +++ b/sdk/go/aws/servicecatalog/appregistryAttributeGroupAssociation.go @@ -0,0 +1,298 @@ +// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package servicecatalog + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Resource for managing an AWS Service Catalog AppRegistry Attribute Group Association. +// +// ## Example Usage +// +// ### Basic Usage +// +// ```go +// package main +// +// import ( +// +// "encoding/json" +// +// "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/servicecatalog" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// example, err := servicecatalog.NewAppregistryApplication(ctx, "example", &servicecatalog.AppregistryApplicationArgs{ +// Name: pulumi.String("example-app"), +// }) +// if err != nil { +// return err +// } +// tmpJSON0, err := json.Marshal(map[string]interface{}{ +// "app": "exampleapp", +// "group": "examplegroup", +// }) +// if err != nil { +// return err +// } +// json0 := string(tmpJSON0) +// exampleAppregistryAttributeGroup, err := servicecatalog.NewAppregistryAttributeGroup(ctx, "example", &servicecatalog.AppregistryAttributeGroupArgs{ +// Name: pulumi.String("example"), +// Description: pulumi.String("example description"), +// Attributes: pulumi.String(json0), +// }) +// if err != nil { +// return err +// } +// _, err = servicecatalog.NewAppregistryAttributeGroupAssociation(ctx, "example", &servicecatalog.AppregistryAttributeGroupAssociationArgs{ +// ApplicationId: example.ID(), +// AttributeGroupId: exampleAppregistryAttributeGroup.ID(), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// ## Import +// +// Using `pulumi import`, import Service Catalog AppRegistry Attribute Group Association using `application_id` and `attribute_group_id` arguments separated by a comma (`,`). For example: +// +// ```sh +// $ pulumi import aws:servicecatalog/appregistryAttributeGroupAssociation:AppregistryAttributeGroupAssociation example 12456778723424sdffsdfsdq34,12234t3564dsfsdf34asff4ww3 +// ``` +type AppregistryAttributeGroupAssociation struct { + pulumi.CustomResourceState + + // ID of the application. + ApplicationId pulumi.StringOutput `pulumi:"applicationId"` + // ID of the attribute group to associate with the application. + AttributeGroupId pulumi.StringOutput `pulumi:"attributeGroupId"` +} + +// NewAppregistryAttributeGroupAssociation registers a new resource with the given unique name, arguments, and options. +func NewAppregistryAttributeGroupAssociation(ctx *pulumi.Context, + name string, args *AppregistryAttributeGroupAssociationArgs, opts ...pulumi.ResourceOption) (*AppregistryAttributeGroupAssociation, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.ApplicationId == nil { + return nil, errors.New("invalid value for required argument 'ApplicationId'") + } + if args.AttributeGroupId == nil { + return nil, errors.New("invalid value for required argument 'AttributeGroupId'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource AppregistryAttributeGroupAssociation + err := ctx.RegisterResource("aws:servicecatalog/appregistryAttributeGroupAssociation:AppregistryAttributeGroupAssociation", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetAppregistryAttributeGroupAssociation gets an existing AppregistryAttributeGroupAssociation 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 GetAppregistryAttributeGroupAssociation(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *AppregistryAttributeGroupAssociationState, opts ...pulumi.ResourceOption) (*AppregistryAttributeGroupAssociation, error) { + var resource AppregistryAttributeGroupAssociation + err := ctx.ReadResource("aws:servicecatalog/appregistryAttributeGroupAssociation:AppregistryAttributeGroupAssociation", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering AppregistryAttributeGroupAssociation resources. +type appregistryAttributeGroupAssociationState struct { + // ID of the application. + ApplicationId *string `pulumi:"applicationId"` + // ID of the attribute group to associate with the application. + AttributeGroupId *string `pulumi:"attributeGroupId"` +} + +type AppregistryAttributeGroupAssociationState struct { + // ID of the application. + ApplicationId pulumi.StringPtrInput + // ID of the attribute group to associate with the application. + AttributeGroupId pulumi.StringPtrInput +} + +func (AppregistryAttributeGroupAssociationState) ElementType() reflect.Type { + return reflect.TypeOf((*appregistryAttributeGroupAssociationState)(nil)).Elem() +} + +type appregistryAttributeGroupAssociationArgs struct { + // ID of the application. + ApplicationId string `pulumi:"applicationId"` + // ID of the attribute group to associate with the application. + AttributeGroupId string `pulumi:"attributeGroupId"` +} + +// The set of arguments for constructing a AppregistryAttributeGroupAssociation resource. +type AppregistryAttributeGroupAssociationArgs struct { + // ID of the application. + ApplicationId pulumi.StringInput + // ID of the attribute group to associate with the application. + AttributeGroupId pulumi.StringInput +} + +func (AppregistryAttributeGroupAssociationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*appregistryAttributeGroupAssociationArgs)(nil)).Elem() +} + +type AppregistryAttributeGroupAssociationInput interface { + pulumi.Input + + ToAppregistryAttributeGroupAssociationOutput() AppregistryAttributeGroupAssociationOutput + ToAppregistryAttributeGroupAssociationOutputWithContext(ctx context.Context) AppregistryAttributeGroupAssociationOutput +} + +func (*AppregistryAttributeGroupAssociation) ElementType() reflect.Type { + return reflect.TypeOf((**AppregistryAttributeGroupAssociation)(nil)).Elem() +} + +func (i *AppregistryAttributeGroupAssociation) ToAppregistryAttributeGroupAssociationOutput() AppregistryAttributeGroupAssociationOutput { + return i.ToAppregistryAttributeGroupAssociationOutputWithContext(context.Background()) +} + +func (i *AppregistryAttributeGroupAssociation) ToAppregistryAttributeGroupAssociationOutputWithContext(ctx context.Context) AppregistryAttributeGroupAssociationOutput { + return pulumi.ToOutputWithContext(ctx, i).(AppregistryAttributeGroupAssociationOutput) +} + +// AppregistryAttributeGroupAssociationArrayInput is an input type that accepts AppregistryAttributeGroupAssociationArray and AppregistryAttributeGroupAssociationArrayOutput values. +// You can construct a concrete instance of `AppregistryAttributeGroupAssociationArrayInput` via: +// +// AppregistryAttributeGroupAssociationArray{ AppregistryAttributeGroupAssociationArgs{...} } +type AppregistryAttributeGroupAssociationArrayInput interface { + pulumi.Input + + ToAppregistryAttributeGroupAssociationArrayOutput() AppregistryAttributeGroupAssociationArrayOutput + ToAppregistryAttributeGroupAssociationArrayOutputWithContext(context.Context) AppregistryAttributeGroupAssociationArrayOutput +} + +type AppregistryAttributeGroupAssociationArray []AppregistryAttributeGroupAssociationInput + +func (AppregistryAttributeGroupAssociationArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*AppregistryAttributeGroupAssociation)(nil)).Elem() +} + +func (i AppregistryAttributeGroupAssociationArray) ToAppregistryAttributeGroupAssociationArrayOutput() AppregistryAttributeGroupAssociationArrayOutput { + return i.ToAppregistryAttributeGroupAssociationArrayOutputWithContext(context.Background()) +} + +func (i AppregistryAttributeGroupAssociationArray) ToAppregistryAttributeGroupAssociationArrayOutputWithContext(ctx context.Context) AppregistryAttributeGroupAssociationArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(AppregistryAttributeGroupAssociationArrayOutput) +} + +// AppregistryAttributeGroupAssociationMapInput is an input type that accepts AppregistryAttributeGroupAssociationMap and AppregistryAttributeGroupAssociationMapOutput values. +// You can construct a concrete instance of `AppregistryAttributeGroupAssociationMapInput` via: +// +// AppregistryAttributeGroupAssociationMap{ "key": AppregistryAttributeGroupAssociationArgs{...} } +type AppregistryAttributeGroupAssociationMapInput interface { + pulumi.Input + + ToAppregistryAttributeGroupAssociationMapOutput() AppregistryAttributeGroupAssociationMapOutput + ToAppregistryAttributeGroupAssociationMapOutputWithContext(context.Context) AppregistryAttributeGroupAssociationMapOutput +} + +type AppregistryAttributeGroupAssociationMap map[string]AppregistryAttributeGroupAssociationInput + +func (AppregistryAttributeGroupAssociationMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*AppregistryAttributeGroupAssociation)(nil)).Elem() +} + +func (i AppregistryAttributeGroupAssociationMap) ToAppregistryAttributeGroupAssociationMapOutput() AppregistryAttributeGroupAssociationMapOutput { + return i.ToAppregistryAttributeGroupAssociationMapOutputWithContext(context.Background()) +} + +func (i AppregistryAttributeGroupAssociationMap) ToAppregistryAttributeGroupAssociationMapOutputWithContext(ctx context.Context) AppregistryAttributeGroupAssociationMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(AppregistryAttributeGroupAssociationMapOutput) +} + +type AppregistryAttributeGroupAssociationOutput struct{ *pulumi.OutputState } + +func (AppregistryAttributeGroupAssociationOutput) ElementType() reflect.Type { + return reflect.TypeOf((**AppregistryAttributeGroupAssociation)(nil)).Elem() +} + +func (o AppregistryAttributeGroupAssociationOutput) ToAppregistryAttributeGroupAssociationOutput() AppregistryAttributeGroupAssociationOutput { + return o +} + +func (o AppregistryAttributeGroupAssociationOutput) ToAppregistryAttributeGroupAssociationOutputWithContext(ctx context.Context) AppregistryAttributeGroupAssociationOutput { + return o +} + +// ID of the application. +func (o AppregistryAttributeGroupAssociationOutput) ApplicationId() pulumi.StringOutput { + return o.ApplyT(func(v *AppregistryAttributeGroupAssociation) pulumi.StringOutput { return v.ApplicationId }).(pulumi.StringOutput) +} + +// ID of the attribute group to associate with the application. +func (o AppregistryAttributeGroupAssociationOutput) AttributeGroupId() pulumi.StringOutput { + return o.ApplyT(func(v *AppregistryAttributeGroupAssociation) pulumi.StringOutput { return v.AttributeGroupId }).(pulumi.StringOutput) +} + +type AppregistryAttributeGroupAssociationArrayOutput struct{ *pulumi.OutputState } + +func (AppregistryAttributeGroupAssociationArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*AppregistryAttributeGroupAssociation)(nil)).Elem() +} + +func (o AppregistryAttributeGroupAssociationArrayOutput) ToAppregistryAttributeGroupAssociationArrayOutput() AppregistryAttributeGroupAssociationArrayOutput { + return o +} + +func (o AppregistryAttributeGroupAssociationArrayOutput) ToAppregistryAttributeGroupAssociationArrayOutputWithContext(ctx context.Context) AppregistryAttributeGroupAssociationArrayOutput { + return o +} + +func (o AppregistryAttributeGroupAssociationArrayOutput) Index(i pulumi.IntInput) AppregistryAttributeGroupAssociationOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *AppregistryAttributeGroupAssociation { + return vs[0].([]*AppregistryAttributeGroupAssociation)[vs[1].(int)] + }).(AppregistryAttributeGroupAssociationOutput) +} + +type AppregistryAttributeGroupAssociationMapOutput struct{ *pulumi.OutputState } + +func (AppregistryAttributeGroupAssociationMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*AppregistryAttributeGroupAssociation)(nil)).Elem() +} + +func (o AppregistryAttributeGroupAssociationMapOutput) ToAppregistryAttributeGroupAssociationMapOutput() AppregistryAttributeGroupAssociationMapOutput { + return o +} + +func (o AppregistryAttributeGroupAssociationMapOutput) ToAppregistryAttributeGroupAssociationMapOutputWithContext(ctx context.Context) AppregistryAttributeGroupAssociationMapOutput { + return o +} + +func (o AppregistryAttributeGroupAssociationMapOutput) MapIndex(k pulumi.StringInput) AppregistryAttributeGroupAssociationOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *AppregistryAttributeGroupAssociation { + return vs[0].(map[string]*AppregistryAttributeGroupAssociation)[vs[1].(string)] + }).(AppregistryAttributeGroupAssociationOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*AppregistryAttributeGroupAssociationInput)(nil)).Elem(), &AppregistryAttributeGroupAssociation{}) + pulumi.RegisterInputType(reflect.TypeOf((*AppregistryAttributeGroupAssociationArrayInput)(nil)).Elem(), AppregistryAttributeGroupAssociationArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*AppregistryAttributeGroupAssociationMapInput)(nil)).Elem(), AppregistryAttributeGroupAssociationMap{}) + pulumi.RegisterOutputType(AppregistryAttributeGroupAssociationOutput{}) + pulumi.RegisterOutputType(AppregistryAttributeGroupAssociationArrayOutput{}) + pulumi.RegisterOutputType(AppregistryAttributeGroupAssociationMapOutput{}) +} diff --git a/sdk/go/aws/servicecatalog/getAppregistryApplication.go b/sdk/go/aws/servicecatalog/getAppregistryApplication.go index fdf490e9a02..c8798421292 100644 --- a/sdk/go/aws/servicecatalog/getAppregistryApplication.go +++ b/sdk/go/aws/servicecatalog/getAppregistryApplication.go @@ -67,6 +67,8 @@ type LookupAppregistryApplicationResult struct { Id string `pulumi:"id"` // Name of the application. Name string `pulumi:"name"` + // A map of tags assigned to the Application. 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"` } func LookupAppregistryApplicationOutput(ctx *pulumi.Context, args LookupAppregistryApplicationOutputArgs, opts ...pulumi.InvokeOption) LookupAppregistryApplicationResultOutput { @@ -137,6 +139,11 @@ func (o LookupAppregistryApplicationResultOutput) Name() pulumi.StringOutput { return o.ApplyT(func(v LookupAppregistryApplicationResult) string { return v.Name }).(pulumi.StringOutput) } +// A map of tags assigned to the Application. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. +func (o LookupAppregistryApplicationResultOutput) Tags() pulumi.StringMapOutput { + return o.ApplyT(func(v LookupAppregistryApplicationResult) map[string]string { return v.Tags }).(pulumi.StringMapOutput) +} + func init() { pulumi.RegisterOutputType(LookupAppregistryApplicationResultOutput{}) } diff --git a/sdk/go/aws/servicecatalog/getAppregistryAttributeGroup.go b/sdk/go/aws/servicecatalog/getAppregistryAttributeGroup.go new file mode 100644 index 00000000000..ffb5b49ff70 --- /dev/null +++ b/sdk/go/aws/servicecatalog/getAppregistryAttributeGroup.go @@ -0,0 +1,153 @@ +// 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 servicecatalog + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Data source for managing an AWS Service Catalog AppRegistry Attribute Group. +// +// ## Example Usage +// +// ### Basic Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/servicecatalog" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := servicecatalog.LookupAppregistryAttributeGroup(ctx, &servicecatalog.LookupAppregistryAttributeGroupArgs{ +// Name: pulumi.StringRef("example_attribute_group"), +// }, nil) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +func LookupAppregistryAttributeGroup(ctx *pulumi.Context, args *LookupAppregistryAttributeGroupArgs, opts ...pulumi.InvokeOption) (*LookupAppregistryAttributeGroupResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupAppregistryAttributeGroupResult + err := ctx.Invoke("aws:servicecatalog/getAppregistryAttributeGroup:getAppregistryAttributeGroup", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getAppregistryAttributeGroup. +type LookupAppregistryAttributeGroupArgs struct { + // ARN of the Attribute Group to find. + Arn *string `pulumi:"arn"` + // ID of the Attribute Group to find. + Id *string `pulumi:"id"` + // Name of the Attribute Group to find. + Name *string `pulumi:"name"` +} + +// A collection of values returned by getAppregistryAttributeGroup. +type LookupAppregistryAttributeGroupResult struct { + Arn string `pulumi:"arn"` + // A JSON string of nested key-value pairs that represents the attributes of the group. + Attributes string `pulumi:"attributes"` + // Description of the Attribute Group. + Description string `pulumi:"description"` + Id string `pulumi:"id"` + Name string `pulumi:"name"` + // A map of tags assigned to the Attribute Group. 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"` +} + +func LookupAppregistryAttributeGroupOutput(ctx *pulumi.Context, args LookupAppregistryAttributeGroupOutputArgs, opts ...pulumi.InvokeOption) LookupAppregistryAttributeGroupResultOutput { + return pulumi.ToOutputWithContext(context.Background(), args). + ApplyT(func(v interface{}) (LookupAppregistryAttributeGroupResultOutput, error) { + args := v.(LookupAppregistryAttributeGroupArgs) + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupAppregistryAttributeGroupResult + secret, err := ctx.InvokePackageRaw("aws:servicecatalog/getAppregistryAttributeGroup:getAppregistryAttributeGroup", args, &rv, "", opts...) + if err != nil { + return LookupAppregistryAttributeGroupResultOutput{}, err + } + + output := pulumi.ToOutput(rv).(LookupAppregistryAttributeGroupResultOutput) + if secret { + return pulumi.ToSecret(output).(LookupAppregistryAttributeGroupResultOutput), nil + } + return output, nil + }).(LookupAppregistryAttributeGroupResultOutput) +} + +// A collection of arguments for invoking getAppregistryAttributeGroup. +type LookupAppregistryAttributeGroupOutputArgs struct { + // ARN of the Attribute Group to find. + Arn pulumi.StringPtrInput `pulumi:"arn"` + // ID of the Attribute Group to find. + Id pulumi.StringPtrInput `pulumi:"id"` + // Name of the Attribute Group to find. + Name pulumi.StringPtrInput `pulumi:"name"` +} + +func (LookupAppregistryAttributeGroupOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupAppregistryAttributeGroupArgs)(nil)).Elem() +} + +// A collection of values returned by getAppregistryAttributeGroup. +type LookupAppregistryAttributeGroupResultOutput struct{ *pulumi.OutputState } + +func (LookupAppregistryAttributeGroupResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupAppregistryAttributeGroupResult)(nil)).Elem() +} + +func (o LookupAppregistryAttributeGroupResultOutput) ToLookupAppregistryAttributeGroupResultOutput() LookupAppregistryAttributeGroupResultOutput { + return o +} + +func (o LookupAppregistryAttributeGroupResultOutput) ToLookupAppregistryAttributeGroupResultOutputWithContext(ctx context.Context) LookupAppregistryAttributeGroupResultOutput { + return o +} + +func (o LookupAppregistryAttributeGroupResultOutput) Arn() pulumi.StringOutput { + return o.ApplyT(func(v LookupAppregistryAttributeGroupResult) string { return v.Arn }).(pulumi.StringOutput) +} + +// A JSON string of nested key-value pairs that represents the attributes of the group. +func (o LookupAppregistryAttributeGroupResultOutput) Attributes() pulumi.StringOutput { + return o.ApplyT(func(v LookupAppregistryAttributeGroupResult) string { return v.Attributes }).(pulumi.StringOutput) +} + +// Description of the Attribute Group. +func (o LookupAppregistryAttributeGroupResultOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v LookupAppregistryAttributeGroupResult) string { return v.Description }).(pulumi.StringOutput) +} + +func (o LookupAppregistryAttributeGroupResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupAppregistryAttributeGroupResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o LookupAppregistryAttributeGroupResultOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v LookupAppregistryAttributeGroupResult) string { return v.Name }).(pulumi.StringOutput) +} + +// A map of tags assigned to the Attribute Group. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. +func (o LookupAppregistryAttributeGroupResultOutput) Tags() pulumi.StringMapOutput { + return o.ApplyT(func(v LookupAppregistryAttributeGroupResult) map[string]string { return v.Tags }).(pulumi.StringMapOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupAppregistryAttributeGroupResultOutput{}) +} diff --git a/sdk/go/aws/servicecatalog/init.go b/sdk/go/aws/servicecatalog/init.go index b1e36a54dbf..f2fcf4d1701 100644 --- a/sdk/go/aws/servicecatalog/init.go +++ b/sdk/go/aws/servicecatalog/init.go @@ -23,6 +23,10 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi switch typ { case "aws:servicecatalog/appregistryApplication:AppregistryApplication": r = &AppregistryApplication{} + case "aws:servicecatalog/appregistryAttributeGroup:AppregistryAttributeGroup": + r = &AppregistryAttributeGroup{} + case "aws:servicecatalog/appregistryAttributeGroupAssociation:AppregistryAttributeGroupAssociation": + r = &AppregistryAttributeGroupAssociation{} case "aws:servicecatalog/budgetResourceAssociation:BudgetResourceAssociation": r = &BudgetResourceAssociation{} case "aws:servicecatalog/constraint:Constraint": @@ -67,6 +71,16 @@ func init() { "servicecatalog/appregistryApplication", &module{version}, ) + pulumi.RegisterResourceModule( + "aws", + "servicecatalog/appregistryAttributeGroup", + &module{version}, + ) + pulumi.RegisterResourceModule( + "aws", + "servicecatalog/appregistryAttributeGroupAssociation", + &module{version}, + ) pulumi.RegisterResourceModule( "aws", "servicecatalog/budgetResourceAssociation", diff --git a/sdk/go/aws/sesv2/configurationSet.go b/sdk/go/aws/sesv2/configurationSet.go index 6bd34e7610a..8e3e2f94b8e 100644 --- a/sdk/go/aws/sesv2/configurationSet.go +++ b/sdk/go/aws/sesv2/configurationSet.go @@ -33,7 +33,8 @@ import ( // _, err := sesv2.NewConfigurationSet(ctx, "example", &sesv2.ConfigurationSetArgs{ // ConfigurationSetName: pulumi.String("example"), // DeliveryOptions: &sesv2.ConfigurationSetDeliveryOptionsArgs{ -// TlsPolicy: pulumi.String("REQUIRE"), +// MaxDeliverySeconds: pulumi.Int(300), +// TlsPolicy: pulumi.String("REQUIRE"), // }, // ReputationOptions: &sesv2.ConfigurationSetReputationOptionsArgs{ // ReputationMetricsEnabled: pulumi.Bool(false), @@ -49,6 +50,7 @@ import ( // }, // TrackingOptions: &sesv2.ConfigurationSetTrackingOptionsArgs{ // CustomRedirectDomain: pulumi.String("example.com"), +// HttpsPolicy: pulumi.String("REQUIRE"), // }, // }) // if err != nil { diff --git a/sdk/go/aws/sesv2/pulumiTypes.go b/sdk/go/aws/sesv2/pulumiTypes.go index 68a4924a393..19d63f85c72 100644 --- a/sdk/go/aws/sesv2/pulumiTypes.go +++ b/sdk/go/aws/sesv2/pulumiTypes.go @@ -288,6 +288,8 @@ func (o AccountVdmAttributesGuardianAttributesPtrOutput) OptimizedSharedDelivery } type ConfigurationSetDeliveryOptions struct { + // The maximum amount of time, in seconds, that Amazon SES API v2 will attempt delivery of email. If specified, the value must greater than or equal to 300 seconds (5 minutes) and less than or equal to 50400 seconds (840 minutes). + MaxDeliverySeconds *int `pulumi:"maxDeliverySeconds"` // The name of the dedicated IP pool to associate with the configuration set. SendingPoolName *string `pulumi:"sendingPoolName"` // Specifies whether messages that use the configuration set are required to use Transport Layer Security (TLS). Valid values: `REQUIRE`, `OPTIONAL`. @@ -306,6 +308,8 @@ type ConfigurationSetDeliveryOptionsInput interface { } type ConfigurationSetDeliveryOptionsArgs struct { + // The maximum amount of time, in seconds, that Amazon SES API v2 will attempt delivery of email. If specified, the value must greater than or equal to 300 seconds (5 minutes) and less than or equal to 50400 seconds (840 minutes). + MaxDeliverySeconds pulumi.IntPtrInput `pulumi:"maxDeliverySeconds"` // The name of the dedicated IP pool to associate with the configuration set. SendingPoolName pulumi.StringPtrInput `pulumi:"sendingPoolName"` // Specifies whether messages that use the configuration set are required to use Transport Layer Security (TLS). Valid values: `REQUIRE`, `OPTIONAL`. @@ -389,6 +393,11 @@ func (o ConfigurationSetDeliveryOptionsOutput) ToConfigurationSetDeliveryOptions }).(ConfigurationSetDeliveryOptionsPtrOutput) } +// The maximum amount of time, in seconds, that Amazon SES API v2 will attempt delivery of email. If specified, the value must greater than or equal to 300 seconds (5 minutes) and less than or equal to 50400 seconds (840 minutes). +func (o ConfigurationSetDeliveryOptionsOutput) MaxDeliverySeconds() pulumi.IntPtrOutput { + return o.ApplyT(func(v ConfigurationSetDeliveryOptions) *int { return v.MaxDeliverySeconds }).(pulumi.IntPtrOutput) +} + // The name of the dedicated IP pool to associate with the configuration set. func (o ConfigurationSetDeliveryOptionsOutput) SendingPoolName() pulumi.StringPtrOutput { return o.ApplyT(func(v ConfigurationSetDeliveryOptions) *string { return v.SendingPoolName }).(pulumi.StringPtrOutput) @@ -423,6 +432,16 @@ func (o ConfigurationSetDeliveryOptionsPtrOutput) Elem() ConfigurationSetDeliver }).(ConfigurationSetDeliveryOptionsOutput) } +// The maximum amount of time, in seconds, that Amazon SES API v2 will attempt delivery of email. If specified, the value must greater than or equal to 300 seconds (5 minutes) and less than or equal to 50400 seconds (840 minutes). +func (o ConfigurationSetDeliveryOptionsPtrOutput) MaxDeliverySeconds() pulumi.IntPtrOutput { + return o.ApplyT(func(v *ConfigurationSetDeliveryOptions) *int { + if v == nil { + return nil + } + return v.MaxDeliverySeconds + }).(pulumi.IntPtrOutput) +} + // The name of the dedicated IP pool to associate with the configuration set. func (o ConfigurationSetDeliveryOptionsPtrOutput) SendingPoolName() pulumi.StringPtrOutput { return o.ApplyT(func(v *ConfigurationSetDeliveryOptions) *string { @@ -1964,6 +1983,8 @@ func (o ConfigurationSetSuppressionOptionsPtrOutput) SuppressedReasons() pulumi. type ConfigurationSetTrackingOptions struct { // The domain to use for tracking open and click events. CustomRedirectDomain string `pulumi:"customRedirectDomain"` + // The https policy to use for tracking open and click events. Valid values are `REQUIRE`, `REQUIRE_OPEN_ONLY` or `OPTIONAL`. + HttpsPolicy *string `pulumi:"httpsPolicy"` } // ConfigurationSetTrackingOptionsInput is an input type that accepts ConfigurationSetTrackingOptionsArgs and ConfigurationSetTrackingOptionsOutput values. @@ -1980,6 +2001,8 @@ type ConfigurationSetTrackingOptionsInput interface { type ConfigurationSetTrackingOptionsArgs struct { // The domain to use for tracking open and click events. CustomRedirectDomain pulumi.StringInput `pulumi:"customRedirectDomain"` + // The https policy to use for tracking open and click events. Valid values are `REQUIRE`, `REQUIRE_OPEN_ONLY` or `OPTIONAL`. + HttpsPolicy pulumi.StringPtrInput `pulumi:"httpsPolicy"` } func (ConfigurationSetTrackingOptionsArgs) ElementType() reflect.Type { @@ -2064,6 +2087,11 @@ func (o ConfigurationSetTrackingOptionsOutput) CustomRedirectDomain() pulumi.Str return o.ApplyT(func(v ConfigurationSetTrackingOptions) string { return v.CustomRedirectDomain }).(pulumi.StringOutput) } +// The https policy to use for tracking open and click events. Valid values are `REQUIRE`, `REQUIRE_OPEN_ONLY` or `OPTIONAL`. +func (o ConfigurationSetTrackingOptionsOutput) HttpsPolicy() pulumi.StringPtrOutput { + return o.ApplyT(func(v ConfigurationSetTrackingOptions) *string { return v.HttpsPolicy }).(pulumi.StringPtrOutput) +} + type ConfigurationSetTrackingOptionsPtrOutput struct{ *pulumi.OutputState } func (ConfigurationSetTrackingOptionsPtrOutput) ElementType() reflect.Type { @@ -2098,6 +2126,16 @@ func (o ConfigurationSetTrackingOptionsPtrOutput) CustomRedirectDomain() pulumi. }).(pulumi.StringPtrOutput) } +// The https policy to use for tracking open and click events. Valid values are `REQUIRE`, `REQUIRE_OPEN_ONLY` or `OPTIONAL`. +func (o ConfigurationSetTrackingOptionsPtrOutput) HttpsPolicy() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ConfigurationSetTrackingOptions) *string { + if v == nil { + return nil + } + return v.HttpsPolicy + }).(pulumi.StringPtrOutput) +} + type ConfigurationSetVdmOptions struct { // Specifies additional settings for your VDM configuration as applicable to the Dashboard. See `dashboardOptions` Block for details. DashboardOptions *ConfigurationSetVdmOptionsDashboardOptions `pulumi:"dashboardOptions"` @@ -2941,6 +2979,8 @@ func (o EmailIdentityDkimSigningAttributesPtrOutput) Tokens() pulumi.StringArray } type GetConfigurationSetDeliveryOption struct { + // The maximum amount of time, in seconds, that Amazon SES API v2 will attempt delivery of email. If specified, the value must greater than or equal to 300 seconds (5 minutes) and less than or equal to 50400 seconds (840 minutes). + MaxDeliverySeconds int `pulumi:"maxDeliverySeconds"` // The name of the dedicated IP pool to associate with the configuration set. SendingPoolName string `pulumi:"sendingPoolName"` // Specifies whether messages that use the configuration set are required to use Transport Layer Security (TLS). @@ -2959,6 +2999,8 @@ type GetConfigurationSetDeliveryOptionInput interface { } type GetConfigurationSetDeliveryOptionArgs struct { + // The maximum amount of time, in seconds, that Amazon SES API v2 will attempt delivery of email. If specified, the value must greater than or equal to 300 seconds (5 minutes) and less than or equal to 50400 seconds (840 minutes). + MaxDeliverySeconds pulumi.IntInput `pulumi:"maxDeliverySeconds"` // The name of the dedicated IP pool to associate with the configuration set. SendingPoolName pulumi.StringInput `pulumi:"sendingPoolName"` // Specifies whether messages that use the configuration set are required to use Transport Layer Security (TLS). @@ -3016,6 +3058,11 @@ func (o GetConfigurationSetDeliveryOptionOutput) ToGetConfigurationSetDeliveryOp return o } +// The maximum amount of time, in seconds, that Amazon SES API v2 will attempt delivery of email. If specified, the value must greater than or equal to 300 seconds (5 minutes) and less than or equal to 50400 seconds (840 minutes). +func (o GetConfigurationSetDeliveryOptionOutput) MaxDeliverySeconds() pulumi.IntOutput { + return o.ApplyT(func(v GetConfigurationSetDeliveryOption) int { return v.MaxDeliverySeconds }).(pulumi.IntOutput) +} + // The name of the dedicated IP pool to associate with the configuration set. func (o GetConfigurationSetDeliveryOptionOutput) SendingPoolName() pulumi.StringOutput { return o.ApplyT(func(v GetConfigurationSetDeliveryOption) string { return v.SendingPoolName }).(pulumi.StringOutput) @@ -3349,6 +3396,8 @@ func (o GetConfigurationSetSuppressionOptionArrayOutput) Index(i pulumi.IntInput type GetConfigurationSetTrackingOption struct { // The domain to use for tracking open and click events. CustomRedirectDomain string `pulumi:"customRedirectDomain"` + // The https policy to use for tracking open and click events. Valid values are `REQUIRE`, `REQUIRE_OPEN_ONLY` or `OPTIONAL`. + HttpsPolicy string `pulumi:"httpsPolicy"` } // GetConfigurationSetTrackingOptionInput is an input type that accepts GetConfigurationSetTrackingOptionArgs and GetConfigurationSetTrackingOptionOutput values. @@ -3365,6 +3414,8 @@ type GetConfigurationSetTrackingOptionInput interface { type GetConfigurationSetTrackingOptionArgs struct { // The domain to use for tracking open and click events. CustomRedirectDomain pulumi.StringInput `pulumi:"customRedirectDomain"` + // The https policy to use for tracking open and click events. Valid values are `REQUIRE`, `REQUIRE_OPEN_ONLY` or `OPTIONAL`. + HttpsPolicy pulumi.StringInput `pulumi:"httpsPolicy"` } func (GetConfigurationSetTrackingOptionArgs) ElementType() reflect.Type { @@ -3423,6 +3474,11 @@ func (o GetConfigurationSetTrackingOptionOutput) CustomRedirectDomain() pulumi.S return o.ApplyT(func(v GetConfigurationSetTrackingOption) string { return v.CustomRedirectDomain }).(pulumi.StringOutput) } +// The https policy to use for tracking open and click events. Valid values are `REQUIRE`, `REQUIRE_OPEN_ONLY` or `OPTIONAL`. +func (o GetConfigurationSetTrackingOptionOutput) HttpsPolicy() pulumi.StringOutput { + return o.ApplyT(func(v GetConfigurationSetTrackingOption) string { return v.HttpsPolicy }).(pulumi.StringOutput) +} + type GetConfigurationSetTrackingOptionArrayOutput struct{ *pulumi.OutputState } func (GetConfigurationSetTrackingOptionArrayOutput) ElementType() reflect.Type { diff --git a/sdk/java/build.gradle b/sdk/java/build.gradle index 8ab7b2749b6..dd9b8488e7e 100644 --- a/sdk/java/build.gradle +++ b/sdk/java/build.gradle @@ -44,7 +44,7 @@ repositories { dependencies { implementation("com.google.code.findbugs:jsr305:3.0.2") implementation("com.google.code.gson:gson:2.8.9") - implementation("com.pulumi:pulumi:0.18.0") + implementation("com.pulumi:pulumi:0.20.0") } task sourcesJar(type: Jar) { 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 ff6c5de30c8..e0e6dec992e 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/AwsFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/AwsFunctions.java @@ -44,6 +44,7 @@ import com.pulumi.core.TypeShape; import com.pulumi.deployment.Deployment; import com.pulumi.deployment.InvokeOptions; +import com.pulumi.deployment.InvokeOutputOptions; import java.util.concurrent.CompletableFuture; public final class AwsFunctions { @@ -173,6 +174,48 @@ public static CompletableFuture getArnPlain(GetArnPlainArgs args) public static Output getArn(GetArnArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:index/getArn:getArn", TypeShape.of(GetArnResult.class), args, Utilities.withVersion(options)); } + /** + * Parses an ARN into its constituent parts. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.AwsFunctions;
+     * import com.pulumi.aws.inputs.GetArnArgs;
+     * 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 dbInstance = AwsFunctions.getArn(GetArnArgs.builder()
+     *             .arn("arn:aws:rds:eu-west-1:123456789012:db:mysql-db")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getArn(GetArnArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:index/getArn:getArn", TypeShape.of(GetArnResult.class), args, Utilities.withVersion(options)); + } /** * Parses an ARN into its constituent parts. * @@ -610,6 +653,85 @@ public static CompletableFuture getAvailabilityZonePl public static Output getAvailabilityZone(GetAvailabilityZoneArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:index/getAvailabilityZone:getAvailabilityZone", TypeShape.of(GetAvailabilityZoneResult.class), args, Utilities.withVersion(options)); } + /** + * `aws.getAvailabilityZone` provides details about a specific availability zone (AZ) + * in the current region. + * + * This can be used both to validate an availability zone given in a variable + * and to split the AZ name into its component parts of an AWS region and an + * AZ identifier letter. The latter may be useful e.g., for implementing a + * consistent subnet numbering scheme across several regions by mapping both + * the region and the subnet letter to network numbers. + * + * This is different from the `aws.getAvailabilityZones` (plural) data source, + * which provides a list of the available zones. + * + * ## Example Usage + * + * The following example shows how this data source might be used to derive + * VPC and subnet CIDR prefixes systematically for an availability zone. + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.AwsFunctions;
+     * import com.pulumi.aws.inputs.GetAvailabilityZoneArgs;
+     * import com.pulumi.aws.ec2.Vpc;
+     * import com.pulumi.aws.ec2.VpcArgs;
+     * import com.pulumi.aws.ec2.Subnet;
+     * import com.pulumi.aws.ec2.SubnetArgs;
+     * import java.util.List;
+     * import java.util.ArrayList;
+     * import java.util.Map;
+     * import java.io.File;
+     * import java.nio.file.Files;
+     * import java.nio.file.Paths;
+     * 
+     * public class App {
+     *     public static void main(String[] args) {
+     *         Pulumi.run(App::stack);
+     *     }
+     * 
+     *     public static void stack(Context ctx) {
+     *         final var config = ctx.config();
+     *         final var regionNumber = config.get("regionNumber").orElse(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference));
+     *         final var azNumber = config.get("azNumber").orElse(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference));
+     *         // Retrieve the AZ where we want to create network resources
+     *         // This must be in the region selected on the AWS provider.
+     *         final var example = AwsFunctions.getAvailabilityZone(GetAvailabilityZoneArgs.builder()
+     *             .name("eu-central-1a")
+     *             .build());
+     * 
+     *         // Create a VPC for the region associated with the AZ
+     *         var exampleVpc = new Vpc("exampleVpc", VpcArgs.builder()
+     *             .cidrBlock(StdFunctions.cidrsubnet(CidrsubnetArgs.builder()
+     *                 .input("10.0.0.0/8")
+     *                 .newbits(4)
+     *                 .netnum(regionNumber[example.applyValue(getAvailabilityZoneResult -> getAvailabilityZoneResult.region())])
+     *                 .build()).result())
+     *             .build());
+     * 
+     *         // Create a subnet for the AZ within the regional VPC
+     *         var exampleSubnet = new Subnet("exampleSubnet", SubnetArgs.builder()
+     *             .vpcId(exampleVpc.id())
+     *             .cidrBlock(exampleVpc.cidrBlock().applyValue(cidrBlock -> StdFunctions.cidrsubnet()).applyValue(invoke -> invoke.result()))
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getAvailabilityZone(GetAvailabilityZoneArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:index/getAvailabilityZone:getAvailabilityZone", TypeShape.of(GetAvailabilityZoneResult.class), args, Utilities.withVersion(options)); + } /** * `aws.getAvailabilityZone` provides details about a specific availability zone (AZ) * in the current region. @@ -1550,14 +1672,23 @@ public static Output getAvailabilityZones(GetAvailab * <!--End PulumiCodeChooser --> * */ - public static CompletableFuture getAvailabilityZonesPlain(GetAvailabilityZonesPlainArgs args, InvokeOptions options) { - return Deployment.getInstance().invokeAsync("aws:index/getAvailabilityZones:getAvailabilityZones", TypeShape.of(GetAvailabilityZonesResult.class), args, Utilities.withVersion(options)); + public static Output getAvailabilityZones(GetAvailabilityZonesArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:index/getAvailabilityZones:getAvailabilityZones", TypeShape.of(GetAvailabilityZonesResult.class), args, Utilities.withVersion(options)); } /** - * Use this data source to get the Account ID of the [AWS Billing and Cost Management Service Account](http://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/billing-getting-started.html#step-2) for the purpose of permitting in S3 bucket policy. + * The Availability Zones data source allows access to the list of AWS + * Availability Zones which can be accessed by an AWS account within the region + * configured in the provider. + * + * This is different from the `aws.getAvailabilityZone` (singular) data source, + * which provides some details about a specific availability zone. + * + * > When [Local Zones](https://aws.amazon.com/about-aws/global-infrastructure/localzones/) are enabled in a region, by default the API and this data source include both Local Zones and Availability Zones. To return only Availability Zones, see the example section below. * * ## Example Usage * + * ### By State + * * <!--Start PulumiCodeChooser --> *
      * {@code
@@ -1567,15 +1698,9 @@ public static CompletableFuture getAvailabilityZones
      * import com.pulumi.Pulumi;
      * import com.pulumi.core.Output;
      * import com.pulumi.aws.AwsFunctions;
-     * import com.pulumi.aws.inputs.GetBillingServiceAccountArgs;
-     * import com.pulumi.aws.s3.BucketV2;
-     * import com.pulumi.aws.s3.BucketV2Args;
-     * import com.pulumi.aws.s3.BucketAclV2;
-     * import com.pulumi.aws.s3.BucketAclV2Args;
-     * import com.pulumi.aws.iam.IamFunctions;
-     * import com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;
-     * import com.pulumi.aws.s3.BucketPolicy;
-     * import com.pulumi.aws.s3.BucketPolicyArgs;
+     * import com.pulumi.aws.inputs.GetAvailabilityZonesArgs;
+     * import com.pulumi.aws.ec2.Subnet;
+     * import com.pulumi.aws.ec2.SubnetArgs;
      * import java.util.List;
      * import java.util.ArrayList;
      * import java.util.Map;
@@ -1589,44 +1714,18 @@ public static CompletableFuture getAvailabilityZones
      *     }
      * 
      *     public static void stack(Context ctx) {
-     *         final var main = AwsFunctions.getBillingServiceAccount();
-     * 
-     *         var billingLogs = new BucketV2("billingLogs", BucketV2Args.builder()
-     *             .bucket("my-billing-tf-test-bucket")
-     *             .build());
-     * 
-     *         var billingLogsAcl = new BucketAclV2("billingLogsAcl", BucketAclV2Args.builder()
-     *             .bucket(billingLogs.id())
-     *             .acl("private")
+     *         // Declare the data source
+     *         final var available = AwsFunctions.getAvailabilityZones(GetAvailabilityZonesArgs.builder()
+     *             .state("available")
      *             .build());
      * 
-     *         final var allowBillingLogging = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()
-     *             .statements(            
-     *                 GetPolicyDocumentStatementArgs.builder()
-     *                     .effect("Allow")
-     *                     .principals(GetPolicyDocumentStatementPrincipalArgs.builder()
-     *                         .type("AWS")
-     *                         .identifiers(main.applyValue(getBillingServiceAccountResult -> getBillingServiceAccountResult.arn()))
-     *                         .build())
-     *                     .actions(                    
-     *                         "s3:GetBucketAcl",
-     *                         "s3:GetBucketPolicy")
-     *                     .resources(billingLogs.arn())
-     *                     .build(),
-     *                 GetPolicyDocumentStatementArgs.builder()
-     *                     .effect("Allow")
-     *                     .principals(GetPolicyDocumentStatementPrincipalArgs.builder()
-     *                         .type("AWS")
-     *                         .identifiers(main.applyValue(getBillingServiceAccountResult -> getBillingServiceAccountResult.arn()))
-     *                         .build())
-     *                     .actions("s3:PutObject")
-     *                     .resources(billingLogs.arn().applyValue(arn -> String.format("%s/*", arn)))
-     *                     .build())
+     *         // e.g., Create subnets in the first two available availability zones
+     *         var primary = new Subnet("primary", SubnetArgs.builder()
+     *             .availabilityZone(available.applyValue(getAvailabilityZonesResult -> getAvailabilityZonesResult.names()[0]))
      *             .build());
      * 
-     *         var allowBillingLoggingBucketPolicy = new BucketPolicy("allowBillingLoggingBucketPolicy", BucketPolicyArgs.builder()
-     *             .bucket(billingLogs.id())
-     *             .policy(allowBillingLogging.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult).applyValue(allowBillingLogging -> allowBillingLogging.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())))
+     *         var secondary = new Subnet("secondary", SubnetArgs.builder()
+     *             .availabilityZone(available.applyValue(getAvailabilityZonesResult -> getAvailabilityZonesResult.names()[1]))
      *             .build());
      * 
      *     }
@@ -1635,14 +1734,9 @@ public static CompletableFuture getAvailabilityZones
      * 
* <!--End PulumiCodeChooser --> * - */ - public static Output getBillingServiceAccount() { - return getBillingServiceAccount(GetBillingServiceAccountArgs.Empty, InvokeOptions.Empty); - } - /** - * Use this data source to get the Account ID of the [AWS Billing and Cost Management Service Account](http://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/billing-getting-started.html#step-2) for the purpose of permitting in S3 bucket policy. + * ### By Filter * - * ## Example Usage + * All Local Zones (regardless of opt-in status): * * <!--Start PulumiCodeChooser --> *
@@ -1653,15 +1747,7 @@ public static Output getBillingServiceAccount()
      * import com.pulumi.Pulumi;
      * import com.pulumi.core.Output;
      * import com.pulumi.aws.AwsFunctions;
-     * import com.pulumi.aws.inputs.GetBillingServiceAccountArgs;
-     * import com.pulumi.aws.s3.BucketV2;
-     * import com.pulumi.aws.s3.BucketV2Args;
-     * import com.pulumi.aws.s3.BucketAclV2;
-     * import com.pulumi.aws.s3.BucketAclV2Args;
-     * import com.pulumi.aws.iam.IamFunctions;
-     * import com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;
-     * import com.pulumi.aws.s3.BucketPolicy;
-     * import com.pulumi.aws.s3.BucketPolicyArgs;
+     * import com.pulumi.aws.inputs.GetAvailabilityZonesArgs;
      * import java.util.List;
      * import java.util.ArrayList;
      * import java.util.Map;
@@ -1675,44 +1761,14 @@ public static Output getBillingServiceAccount()
      *     }
      * 
      *     public static void stack(Context ctx) {
-     *         final var main = AwsFunctions.getBillingServiceAccount();
-     * 
-     *         var billingLogs = new BucketV2("billingLogs", BucketV2Args.builder()
-     *             .bucket("my-billing-tf-test-bucket")
-     *             .build());
-     * 
-     *         var billingLogsAcl = new BucketAclV2("billingLogsAcl", BucketAclV2Args.builder()
-     *             .bucket(billingLogs.id())
-     *             .acl("private")
-     *             .build());
-     * 
-     *         final var allowBillingLogging = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()
-     *             .statements(            
-     *                 GetPolicyDocumentStatementArgs.builder()
-     *                     .effect("Allow")
-     *                     .principals(GetPolicyDocumentStatementPrincipalArgs.builder()
-     *                         .type("AWS")
-     *                         .identifiers(main.applyValue(getBillingServiceAccountResult -> getBillingServiceAccountResult.arn()))
-     *                         .build())
-     *                     .actions(                    
-     *                         "s3:GetBucketAcl",
-     *                         "s3:GetBucketPolicy")
-     *                     .resources(billingLogs.arn())
-     *                     .build(),
-     *                 GetPolicyDocumentStatementArgs.builder()
-     *                     .effect("Allow")
-     *                     .principals(GetPolicyDocumentStatementPrincipalArgs.builder()
-     *                         .type("AWS")
-     *                         .identifiers(main.applyValue(getBillingServiceAccountResult -> getBillingServiceAccountResult.arn()))
-     *                         .build())
-     *                     .actions("s3:PutObject")
-     *                     .resources(billingLogs.arn().applyValue(arn -> String.format("%s/*", arn)))
-     *                     .build())
-     *             .build());
-     * 
-     *         var allowBillingLoggingBucketPolicy = new BucketPolicy("allowBillingLoggingBucketPolicy", BucketPolicyArgs.builder()
-     *             .bucket(billingLogs.id())
-     *             .policy(allowBillingLogging.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult).applyValue(allowBillingLogging -> allowBillingLogging.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())))
+     *         final var example = AwsFunctions.getAvailabilityZones(GetAvailabilityZonesArgs.builder()
+     *             .allAvailabilityZones(true)
+     *             .filters(GetAvailabilityZonesFilterArgs.builder()
+     *                 .name("opt-in-status")
+     *                 .values(                
+     *                     "not-opted-in",
+     *                     "opted-in")
+     *                 .build())
      *             .build());
      * 
      *     }
@@ -1721,10 +1777,220 @@ public static Output getBillingServiceAccount()
      * 
* <!--End PulumiCodeChooser --> * - */ - public static CompletableFuture getBillingServiceAccountPlain() { - return getBillingServiceAccountPlain(GetBillingServiceAccountPlainArgs.Empty, InvokeOptions.Empty); - } + * Only Availability Zones (no Local Zones): + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.AwsFunctions;
+     * import com.pulumi.aws.inputs.GetAvailabilityZonesArgs;
+     * 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 = AwsFunctions.getAvailabilityZones(GetAvailabilityZonesArgs.builder()
+     *             .filters(GetAvailabilityZonesFilterArgs.builder()
+     *                 .name("opt-in-status")
+     *                 .values("opt-in-not-required")
+     *                 .build())
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static CompletableFuture getAvailabilityZonesPlain(GetAvailabilityZonesPlainArgs args, InvokeOptions options) { + return Deployment.getInstance().invokeAsync("aws:index/getAvailabilityZones:getAvailabilityZones", TypeShape.of(GetAvailabilityZonesResult.class), args, Utilities.withVersion(options)); + } + /** + * Use this data source to get the Account ID of the [AWS Billing and Cost Management Service Account](http://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/billing-getting-started.html#step-2) for the purpose of permitting in S3 bucket policy. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.AwsFunctions;
+     * import com.pulumi.aws.inputs.GetBillingServiceAccountArgs;
+     * import com.pulumi.aws.s3.BucketV2;
+     * import com.pulumi.aws.s3.BucketV2Args;
+     * import com.pulumi.aws.s3.BucketAclV2;
+     * import com.pulumi.aws.s3.BucketAclV2Args;
+     * import com.pulumi.aws.iam.IamFunctions;
+     * import com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;
+     * import com.pulumi.aws.s3.BucketPolicy;
+     * import com.pulumi.aws.s3.BucketPolicyArgs;
+     * 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 main = AwsFunctions.getBillingServiceAccount();
+     * 
+     *         var billingLogs = new BucketV2("billingLogs", BucketV2Args.builder()
+     *             .bucket("my-billing-tf-test-bucket")
+     *             .build());
+     * 
+     *         var billingLogsAcl = new BucketAclV2("billingLogsAcl", BucketAclV2Args.builder()
+     *             .bucket(billingLogs.id())
+     *             .acl("private")
+     *             .build());
+     * 
+     *         final var allowBillingLogging = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()
+     *             .statements(            
+     *                 GetPolicyDocumentStatementArgs.builder()
+     *                     .effect("Allow")
+     *                     .principals(GetPolicyDocumentStatementPrincipalArgs.builder()
+     *                         .type("AWS")
+     *                         .identifiers(main.applyValue(getBillingServiceAccountResult -> getBillingServiceAccountResult.arn()))
+     *                         .build())
+     *                     .actions(                    
+     *                         "s3:GetBucketAcl",
+     *                         "s3:GetBucketPolicy")
+     *                     .resources(billingLogs.arn())
+     *                     .build(),
+     *                 GetPolicyDocumentStatementArgs.builder()
+     *                     .effect("Allow")
+     *                     .principals(GetPolicyDocumentStatementPrincipalArgs.builder()
+     *                         .type("AWS")
+     *                         .identifiers(main.applyValue(getBillingServiceAccountResult -> getBillingServiceAccountResult.arn()))
+     *                         .build())
+     *                     .actions("s3:PutObject")
+     *                     .resources(billingLogs.arn().applyValue(arn -> String.format("%s/*", arn)))
+     *                     .build())
+     *             .build());
+     * 
+     *         var allowBillingLoggingBucketPolicy = new BucketPolicy("allowBillingLoggingBucketPolicy", BucketPolicyArgs.builder()
+     *             .bucket(billingLogs.id())
+     *             .policy(allowBillingLogging.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult).applyValue(allowBillingLogging -> allowBillingLogging.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())))
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getBillingServiceAccount() { + return getBillingServiceAccount(GetBillingServiceAccountArgs.Empty, InvokeOptions.Empty); + } + /** + * Use this data source to get the Account ID of the [AWS Billing and Cost Management Service Account](http://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/billing-getting-started.html#step-2) for the purpose of permitting in S3 bucket policy. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.AwsFunctions;
+     * import com.pulumi.aws.inputs.GetBillingServiceAccountArgs;
+     * import com.pulumi.aws.s3.BucketV2;
+     * import com.pulumi.aws.s3.BucketV2Args;
+     * import com.pulumi.aws.s3.BucketAclV2;
+     * import com.pulumi.aws.s3.BucketAclV2Args;
+     * import com.pulumi.aws.iam.IamFunctions;
+     * import com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;
+     * import com.pulumi.aws.s3.BucketPolicy;
+     * import com.pulumi.aws.s3.BucketPolicyArgs;
+     * 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 main = AwsFunctions.getBillingServiceAccount();
+     * 
+     *         var billingLogs = new BucketV2("billingLogs", BucketV2Args.builder()
+     *             .bucket("my-billing-tf-test-bucket")
+     *             .build());
+     * 
+     *         var billingLogsAcl = new BucketAclV2("billingLogsAcl", BucketAclV2Args.builder()
+     *             .bucket(billingLogs.id())
+     *             .acl("private")
+     *             .build());
+     * 
+     *         final var allowBillingLogging = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()
+     *             .statements(            
+     *                 GetPolicyDocumentStatementArgs.builder()
+     *                     .effect("Allow")
+     *                     .principals(GetPolicyDocumentStatementPrincipalArgs.builder()
+     *                         .type("AWS")
+     *                         .identifiers(main.applyValue(getBillingServiceAccountResult -> getBillingServiceAccountResult.arn()))
+     *                         .build())
+     *                     .actions(                    
+     *                         "s3:GetBucketAcl",
+     *                         "s3:GetBucketPolicy")
+     *                     .resources(billingLogs.arn())
+     *                     .build(),
+     *                 GetPolicyDocumentStatementArgs.builder()
+     *                     .effect("Allow")
+     *                     .principals(GetPolicyDocumentStatementPrincipalArgs.builder()
+     *                         .type("AWS")
+     *                         .identifiers(main.applyValue(getBillingServiceAccountResult -> getBillingServiceAccountResult.arn()))
+     *                         .build())
+     *                     .actions("s3:PutObject")
+     *                     .resources(billingLogs.arn().applyValue(arn -> String.format("%s/*", arn)))
+     *                     .build())
+     *             .build());
+     * 
+     *         var allowBillingLoggingBucketPolicy = new BucketPolicy("allowBillingLoggingBucketPolicy", BucketPolicyArgs.builder()
+     *             .bucket(billingLogs.id())
+     *             .policy(allowBillingLogging.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult).applyValue(allowBillingLogging -> allowBillingLogging.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())))
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static CompletableFuture getBillingServiceAccountPlain() { + return getBillingServiceAccountPlain(GetBillingServiceAccountPlainArgs.Empty, InvokeOptions.Empty); + } /** * Use this data source to get the Account ID of the [AWS Billing and Cost Management Service Account](http://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/billing-getting-started.html#step-2) for the purpose of permitting in S3 bucket policy. * @@ -1983,6 +2249,92 @@ public static CompletableFuture getBillingServic public static Output getBillingServiceAccount(GetBillingServiceAccountArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:index/getBillingServiceAccount:getBillingServiceAccount", TypeShape.of(GetBillingServiceAccountResult.class), args, Utilities.withVersion(options)); } + /** + * Use this data source to get the Account ID of the [AWS Billing and Cost Management Service Account](http://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/billing-getting-started.html#step-2) for the purpose of permitting in S3 bucket policy. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.AwsFunctions;
+     * import com.pulumi.aws.inputs.GetBillingServiceAccountArgs;
+     * import com.pulumi.aws.s3.BucketV2;
+     * import com.pulumi.aws.s3.BucketV2Args;
+     * import com.pulumi.aws.s3.BucketAclV2;
+     * import com.pulumi.aws.s3.BucketAclV2Args;
+     * import com.pulumi.aws.iam.IamFunctions;
+     * import com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;
+     * import com.pulumi.aws.s3.BucketPolicy;
+     * import com.pulumi.aws.s3.BucketPolicyArgs;
+     * 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 main = AwsFunctions.getBillingServiceAccount();
+     * 
+     *         var billingLogs = new BucketV2("billingLogs", BucketV2Args.builder()
+     *             .bucket("my-billing-tf-test-bucket")
+     *             .build());
+     * 
+     *         var billingLogsAcl = new BucketAclV2("billingLogsAcl", BucketAclV2Args.builder()
+     *             .bucket(billingLogs.id())
+     *             .acl("private")
+     *             .build());
+     * 
+     *         final var allowBillingLogging = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()
+     *             .statements(            
+     *                 GetPolicyDocumentStatementArgs.builder()
+     *                     .effect("Allow")
+     *                     .principals(GetPolicyDocumentStatementPrincipalArgs.builder()
+     *                         .type("AWS")
+     *                         .identifiers(main.applyValue(getBillingServiceAccountResult -> getBillingServiceAccountResult.arn()))
+     *                         .build())
+     *                     .actions(                    
+     *                         "s3:GetBucketAcl",
+     *                         "s3:GetBucketPolicy")
+     *                     .resources(billingLogs.arn())
+     *                     .build(),
+     *                 GetPolicyDocumentStatementArgs.builder()
+     *                     .effect("Allow")
+     *                     .principals(GetPolicyDocumentStatementPrincipalArgs.builder()
+     *                         .type("AWS")
+     *                         .identifiers(main.applyValue(getBillingServiceAccountResult -> getBillingServiceAccountResult.arn()))
+     *                         .build())
+     *                     .actions("s3:PutObject")
+     *                     .resources(billingLogs.arn().applyValue(arn -> String.format("%s/*", arn)))
+     *                     .build())
+     *             .build());
+     * 
+     *         var allowBillingLoggingBucketPolicy = new BucketPolicy("allowBillingLoggingBucketPolicy", BucketPolicyArgs.builder()
+     *             .bucket(billingLogs.id())
+     *             .policy(allowBillingLogging.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult).applyValue(allowBillingLogging -> allowBillingLogging.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())))
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getBillingServiceAccount(GetBillingServiceAccountArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:index/getBillingServiceAccount:getBillingServiceAccount", TypeShape.of(GetBillingServiceAccountResult.class), args, Utilities.withVersion(options)); + } /** * Use this data source to get the Account ID of the [AWS Billing and Cost Management Service Account](http://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/billing-getting-started.html#step-2) for the purpose of permitting in S3 bucket policy. * @@ -2289,6 +2641,50 @@ public static CompletableFuture getCallerIdentityPlain( public static Output getCallerIdentity(GetCallerIdentityArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:index/getCallerIdentity:getCallerIdentity", TypeShape.of(GetCallerIdentityResult.class), args, Utilities.withVersion(options)); } + /** + * Use this data source to get the access to the effective Account ID, User ID, and ARN in + * which this provider is authorized. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.AwsFunctions;
+     * import com.pulumi.aws.inputs.GetCallerIdentityArgs;
+     * 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 current = AwsFunctions.getCallerIdentity();
+     * 
+     *         ctx.export("accountId", current.applyValue(getCallerIdentityResult -> getCallerIdentityResult.accountId()));
+     *         ctx.export("callerArn", current.applyValue(getCallerIdentityResult -> getCallerIdentityResult.arn()));
+     *         ctx.export("callerUser", current.applyValue(getCallerIdentityResult -> getCallerIdentityResult.userId()));
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getCallerIdentity(GetCallerIdentityArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:index/getCallerIdentity:getCallerIdentity", TypeShape.of(GetCallerIdentityResult.class), args, Utilities.withVersion(options)); + } /** * Use this data source to get the access to the effective Account ID, User ID, and ARN in * which this provider is authorized. @@ -2624,8 +3020,120 @@ public static Output getDefaultTags(GetDefaultTagsArgs arg * <!--End PulumiCodeChooser --> * */ - public static CompletableFuture getDefaultTagsPlain(GetDefaultTagsPlainArgs args, InvokeOptions options) { - return Deployment.getInstance().invokeAsync("aws:index/getDefaultTags:getDefaultTags", TypeShape.of(GetDefaultTagsResult.class), args, Utilities.withVersion(options)); + public static Output getDefaultTags(GetDefaultTagsArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:index/getDefaultTags:getDefaultTags", TypeShape.of(GetDefaultTagsResult.class), args, Utilities.withVersion(options)); + } + /** + * 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. + * + * ## Example Usage + * + * ### Basic Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.AwsFunctions;
+     * import com.pulumi.aws.inputs.GetDefaultTagsArgs;
+     * 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 = AwsFunctions.getDefaultTags();
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + * ### Dynamically Apply Default Tags to Auto Scaling Group + * + * <!--Start PulumiCodeChooser --> + * <!--End PulumiCodeChooser --> + * + */ + public static CompletableFuture getDefaultTagsPlain(GetDefaultTagsPlainArgs args, InvokeOptions options) { + return Deployment.getInstance().invokeAsync("aws:index/getDefaultTags:getDefaultTags", TypeShape.of(GetDefaultTagsResult.class), args, Utilities.withVersion(options)); + } + /** + * Use this data source to get the IP ranges of various AWS products and services. For more information about the contents of this data source and required JSON syntax if referencing a custom URL, see the [AWS IP Address Ranges documentation](https://docs.aws.amazon.com/general/latest/gr/aws-ip-ranges.html). + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.AwsFunctions;
+     * import com.pulumi.aws.inputs.GetIpRangesArgs;
+     * import com.pulumi.aws.ec2.SecurityGroup;
+     * import com.pulumi.aws.ec2.SecurityGroupArgs;
+     * import com.pulumi.aws.ec2.inputs.SecurityGroupIngressArgs;
+     * 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 europeanEc2 = AwsFunctions.getIpRanges(GetIpRangesArgs.builder()
+     *             .regions(            
+     *                 "eu-west-1",
+     *                 "eu-central-1")
+     *             .services("ec2")
+     *             .build());
+     * 
+     *         var fromEurope = new SecurityGroup("fromEurope", SecurityGroupArgs.builder()
+     *             .name("from_europe")
+     *             .ingress(SecurityGroupIngressArgs.builder()
+     *                 .fromPort("443")
+     *                 .toPort("443")
+     *                 .protocol("tcp")
+     *                 .cidrBlocks(europeanEc2.applyValue(getIpRangesResult -> getIpRangesResult.cidrBlocks()))
+     *                 .ipv6CidrBlocks(europeanEc2.applyValue(getIpRangesResult -> getIpRangesResult.ipv6CidrBlocks()))
+     *                 .build())
+     *             .tags(Map.ofEntries(
+     *                 Map.entry("CreateDate", europeanEc2.applyValue(getIpRangesResult -> getIpRangesResult.createDate())),
+     *                 Map.entry("SyncToken", europeanEc2.applyValue(getIpRangesResult -> getIpRangesResult.syncToken()))
+     *             ))
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getIpRanges(GetIpRangesArgs args) { + return getIpRanges(args, InvokeOptions.Empty); } /** * Use this data source to get the IP ranges of various AWS products and services. For more information about the contents of this data source and required JSON syntax if referencing a custom URL, see the [AWS IP Address Ranges documentation](https://docs.aws.amazon.com/general/latest/gr/aws-ip-ranges.html). @@ -2687,8 +3195,8 @@ public static CompletableFuture getDefaultTagsPlain(GetDef * <!--End PulumiCodeChooser --> * */ - public static Output getIpRanges(GetIpRangesArgs args) { - return getIpRanges(args, InvokeOptions.Empty); + public static CompletableFuture getIpRangesPlain(GetIpRangesPlainArgs args) { + return getIpRangesPlain(args, InvokeOptions.Empty); } /** * Use this data source to get the IP ranges of various AWS products and services. For more information about the contents of this data source and required JSON syntax if referencing a custom URL, see the [AWS IP Address Ranges documentation](https://docs.aws.amazon.com/general/latest/gr/aws-ip-ranges.html). @@ -2750,8 +3258,8 @@ public static Output getIpRanges(GetIpRangesArgs args) { * <!--End PulumiCodeChooser --> * */ - public static CompletableFuture getIpRangesPlain(GetIpRangesPlainArgs args) { - return getIpRangesPlain(args, InvokeOptions.Empty); + public static Output getIpRanges(GetIpRangesArgs args, InvokeOptions options) { + return Deployment.getInstance().invoke("aws:index/getIpRanges:getIpRanges", TypeShape.of(GetIpRangesResult.class), args, Utilities.withVersion(options)); } /** * Use this data source to get the IP ranges of various AWS products and services. For more information about the contents of this data source and required JSON syntax if referencing a custom URL, see the [AWS IP Address Ranges documentation](https://docs.aws.amazon.com/general/latest/gr/aws-ip-ranges.html). @@ -2813,7 +3321,7 @@ public static CompletableFuture getIpRangesPlain(GetIpRangesP * <!--End PulumiCodeChooser --> * */ - public static Output getIpRanges(GetIpRangesArgs args, InvokeOptions options) { + public static Output getIpRanges(GetIpRangesArgs args, InvokeOutputOptions options) { return Deployment.getInstance().invoke("aws:index/getIpRanges:getIpRanges", TypeShape.of(GetIpRangesResult.class), args, Utilities.withVersion(options)); } /** @@ -3134,6 +3642,57 @@ public static CompletableFuture getPartitionPlain(GetPartiti public static Output getPartition(GetPartitionArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:index/getPartition:getPartition", TypeShape.of(GetPartitionResult.class), args, Utilities.withVersion(options)); } + /** + * Use this data source to lookup information about the current AWS partition in + * which the provider is working. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.AwsFunctions;
+     * import com.pulumi.aws.inputs.GetPartitionArgs;
+     * import com.pulumi.aws.iam.IamFunctions;
+     * import com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;
+     * 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 current = AwsFunctions.getPartition();
+     * 
+     *         final var s3Policy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()
+     *             .statements(GetPolicyDocumentStatementArgs.builder()
+     *                 .sid("1")
+     *                 .actions("s3:ListBucket")
+     *                 .resources(String.format("arn:%s:s3:::my-bucket", current.applyValue(getPartitionResult -> getPartitionResult.partition())))
+     *                 .build())
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getPartition(GetPartitionArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:index/getPartition:getPartition", TypeShape.of(GetPartitionResult.class), args, Utilities.withVersion(options)); + } /** * Use this data source to lookup information about the current AWS partition in * which the provider is working. @@ -3278,8 +3837,200 @@ public static Output getRegion() { * <!--End PulumiCodeChooser --> * */ - public static CompletableFuture getRegionPlain() { - return getRegionPlain(GetRegionPlainArgs.Empty, InvokeOptions.Empty); + public static CompletableFuture getRegionPlain() { + return getRegionPlain(GetRegionPlainArgs.Empty, InvokeOptions.Empty); + } + /** + * `aws.getRegion` provides details about a specific AWS region. + * + * As well as validating a given region name this resource can be used to + * discover the name of the region configured within the provider. The latter + * can be useful in a child module which is inheriting an AWS provider + * configuration from its parent module. + * + * ## Example Usage + * + * The following example shows how the resource might be used to obtain + * the name of the AWS region configured on the provider. + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.AwsFunctions;
+     * import com.pulumi.aws.inputs.GetRegionArgs;
+     * 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 current = AwsFunctions.getRegion();
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getRegion(GetRegionArgs args) { + return getRegion(args, InvokeOptions.Empty); + } + /** + * `aws.getRegion` provides details about a specific AWS region. + * + * As well as validating a given region name this resource can be used to + * discover the name of the region configured within the provider. The latter + * can be useful in a child module which is inheriting an AWS provider + * configuration from its parent module. + * + * ## Example Usage + * + * The following example shows how the resource might be used to obtain + * the name of the AWS region configured on the provider. + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.AwsFunctions;
+     * import com.pulumi.aws.inputs.GetRegionArgs;
+     * 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 current = AwsFunctions.getRegion();
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static CompletableFuture getRegionPlain(GetRegionPlainArgs args) { + return getRegionPlain(args, InvokeOptions.Empty); + } + /** + * `aws.getRegion` provides details about a specific AWS region. + * + * As well as validating a given region name this resource can be used to + * discover the name of the region configured within the provider. The latter + * can be useful in a child module which is inheriting an AWS provider + * configuration from its parent module. + * + * ## Example Usage + * + * The following example shows how the resource might be used to obtain + * the name of the AWS region configured on the provider. + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.AwsFunctions;
+     * import com.pulumi.aws.inputs.GetRegionArgs;
+     * 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 current = AwsFunctions.getRegion();
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getRegion(GetRegionArgs args, InvokeOptions options) { + return Deployment.getInstance().invoke("aws:index/getRegion:getRegion", TypeShape.of(GetRegionResult.class), args, Utilities.withVersion(options)); + } + /** + * `aws.getRegion` provides details about a specific AWS region. + * + * As well as validating a given region name this resource can be used to + * discover the name of the region configured within the provider. The latter + * can be useful in a child module which is inheriting an AWS provider + * configuration from its parent module. + * + * ## Example Usage + * + * The following example shows how the resource might be used to obtain + * the name of the AWS region configured on the provider. + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.AwsFunctions;
+     * import com.pulumi.aws.inputs.GetRegionArgs;
+     * 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 current = AwsFunctions.getRegion();
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getRegion(GetRegionArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:index/getRegion:getRegion", TypeShape.of(GetRegionResult.class), args, Utilities.withVersion(options)); } /** * `aws.getRegion` provides details about a specific AWS region. @@ -3326,21 +4077,15 @@ public static CompletableFuture getRegionPlain() { * <!--End PulumiCodeChooser --> * */ - public static Output getRegion(GetRegionArgs args) { - return getRegion(args, InvokeOptions.Empty); + public static CompletableFuture getRegionPlain(GetRegionPlainArgs args, InvokeOptions options) { + return Deployment.getInstance().invokeAsync("aws:index/getRegion:getRegion", TypeShape.of(GetRegionResult.class), args, Utilities.withVersion(options)); } /** - * `aws.getRegion` provides details about a specific AWS region. - * - * As well as validating a given region name this resource can be used to - * discover the name of the region configured within the provider. The latter - * can be useful in a child module which is inheriting an AWS provider - * configuration from its parent module. + * Provides information about AWS Regions. Can be used to filter regions i.e., by Opt-In status or only regions enabled for current account. To get details like endpoint and description of each region the data source can be combined with the `aws.getRegion` data source. * * ## Example Usage * - * The following example shows how the resource might be used to obtain - * the name of the AWS region configured on the provider. + * Enabled AWS Regions: * * <!--Start PulumiCodeChooser --> *
@@ -3351,7 +4096,7 @@ public static Output getRegion(GetRegionArgs args) {
      * import com.pulumi.Pulumi;
      * import com.pulumi.core.Output;
      * import com.pulumi.aws.AwsFunctions;
-     * import com.pulumi.aws.inputs.GetRegionArgs;
+     * import com.pulumi.aws.inputs.GetRegionsArgs;
      * import java.util.List;
      * import java.util.ArrayList;
      * import java.util.Map;
@@ -3365,7 +4110,7 @@ public static Output getRegion(GetRegionArgs args) {
      *     }
      * 
      *     public static void stack(Context ctx) {
-     *         final var current = AwsFunctions.getRegion();
+     *         final var current = AwsFunctions.getRegions();
      * 
      *     }
      * }
@@ -3373,22 +4118,7 @@ public static Output getRegion(GetRegionArgs args) {
      * 
* <!--End PulumiCodeChooser --> * - */ - public static CompletableFuture getRegionPlain(GetRegionPlainArgs args) { - return getRegionPlain(args, InvokeOptions.Empty); - } - /** - * `aws.getRegion` provides details about a specific AWS region. - * - * As well as validating a given region name this resource can be used to - * discover the name of the region configured within the provider. The latter - * can be useful in a child module which is inheriting an AWS provider - * configuration from its parent module. - * - * ## Example Usage - * - * The following example shows how the resource might be used to obtain - * the name of the AWS region configured on the provider. + * All the regions regardless of the availability * * <!--Start PulumiCodeChooser --> *
@@ -3399,7 +4129,7 @@ public static CompletableFuture getRegionPlain(GetRegionPlainAr
      * import com.pulumi.Pulumi;
      * import com.pulumi.core.Output;
      * import com.pulumi.aws.AwsFunctions;
-     * import com.pulumi.aws.inputs.GetRegionArgs;
+     * import com.pulumi.aws.inputs.GetRegionsArgs;
      * import java.util.List;
      * import java.util.ArrayList;
      * import java.util.Map;
@@ -3413,7 +4143,9 @@ public static CompletableFuture getRegionPlain(GetRegionPlainAr
      *     }
      * 
      *     public static void stack(Context ctx) {
-     *         final var current = AwsFunctions.getRegion();
+     *         final var current = AwsFunctions.getRegions(GetRegionsArgs.builder()
+     *             .allRegions(true)
+     *             .build());
      * 
      *     }
      * }
@@ -3421,22 +4153,7 @@ public static CompletableFuture getRegionPlain(GetRegionPlainAr
      * 
* <!--End PulumiCodeChooser --> * - */ - public static Output getRegion(GetRegionArgs args, InvokeOptions options) { - return Deployment.getInstance().invoke("aws:index/getRegion:getRegion", TypeShape.of(GetRegionResult.class), args, Utilities.withVersion(options)); - } - /** - * `aws.getRegion` provides details about a specific AWS region. - * - * As well as validating a given region name this resource can be used to - * discover the name of the region configured within the provider. The latter - * can be useful in a child module which is inheriting an AWS provider - * configuration from its parent module. - * - * ## Example Usage - * - * The following example shows how the resource might be used to obtain - * the name of the AWS region configured on the provider. + * To see regions that are filtered by `"not-opted-in"`, the `all_regions` argument needs to be set to `true` or no results will be returned. * * <!--Start PulumiCodeChooser --> *
@@ -3447,7 +4164,7 @@ public static Output getRegion(GetRegionArgs args, InvokeOption
      * import com.pulumi.Pulumi;
      * import com.pulumi.core.Output;
      * import com.pulumi.aws.AwsFunctions;
-     * import com.pulumi.aws.inputs.GetRegionArgs;
+     * import com.pulumi.aws.inputs.GetRegionsArgs;
      * import java.util.List;
      * import java.util.ArrayList;
      * import java.util.Map;
@@ -3461,7 +4178,13 @@ public static Output getRegion(GetRegionArgs args, InvokeOption
      *     }
      * 
      *     public static void stack(Context ctx) {
-     *         final var current = AwsFunctions.getRegion();
+     *         final var current = AwsFunctions.getRegions(GetRegionsArgs.builder()
+     *             .allRegions(true)
+     *             .filters(GetRegionsFilterArgs.builder()
+     *                 .name("opt-in-status")
+     *                 .values("not-opted-in")
+     *                 .build())
+     *             .build());
      * 
      *     }
      * }
@@ -3470,8 +4193,8 @@ public static Output getRegion(GetRegionArgs args, InvokeOption
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static CompletableFuture getRegionPlain(GetRegionPlainArgs args, InvokeOptions options) {
-        return Deployment.getInstance().invokeAsync("aws:index/getRegion:getRegion", TypeShape.of(GetRegionResult.class), args, Utilities.withVersion(options));
+    public static Output getRegions() {
+        return getRegions(GetRegionsArgs.Empty, InvokeOptions.Empty);
     }
     /**
      * Provides information about AWS Regions. Can be used to filter regions i.e., by Opt-In status or only regions enabled for current account. To get details like endpoint and description of each region the data source can be combined with the `aws.getRegion` data source.
@@ -3586,8 +4309,8 @@ public static CompletableFuture getRegionPlain(GetRegionPlainAr
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static Output getRegions() {
-        return getRegions(GetRegionsArgs.Empty, InvokeOptions.Empty);
+    public static CompletableFuture getRegionsPlain() {
+        return getRegionsPlain(GetRegionsPlainArgs.Empty, InvokeOptions.Empty);
     }
     /**
      * Provides information about AWS Regions. Can be used to filter regions i.e., by Opt-In status or only regions enabled for current account. To get details like endpoint and description of each region the data source can be combined with the `aws.getRegion` data source.
@@ -3702,8 +4425,8 @@ public static Output getRegions() {
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static CompletableFuture getRegionsPlain() {
-        return getRegionsPlain(GetRegionsPlainArgs.Empty, InvokeOptions.Empty);
+    public static Output getRegions(GetRegionsArgs args) {
+        return getRegions(args, InvokeOptions.Empty);
     }
     /**
      * Provides information about AWS Regions. Can be used to filter regions i.e., by Opt-In status or only regions enabled for current account. To get details like endpoint and description of each region the data source can be combined with the `aws.getRegion` data source.
@@ -3818,8 +4541,8 @@ public static CompletableFuture getRegionsPlain() {
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static Output getRegions(GetRegionsArgs args) {
-        return getRegions(args, InvokeOptions.Empty);
+    public static CompletableFuture getRegionsPlain(GetRegionsPlainArgs args) {
+        return getRegionsPlain(args, InvokeOptions.Empty);
     }
     /**
      * Provides information about AWS Regions. Can be used to filter regions i.e., by Opt-In status or only regions enabled for current account. To get details like endpoint and description of each region the data source can be combined with the `aws.getRegion` data source.
@@ -3934,8 +4657,8 @@ public static Output getRegions(GetRegionsArgs args) {
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static CompletableFuture getRegionsPlain(GetRegionsPlainArgs args) {
-        return getRegionsPlain(args, InvokeOptions.Empty);
+    public static Output getRegions(GetRegionsArgs args, InvokeOptions options) {
+        return Deployment.getInstance().invoke("aws:index/getRegions:getRegions", TypeShape.of(GetRegionsResult.class), args, Utilities.withVersion(options));
     }
     /**
      * Provides information about AWS Regions. Can be used to filter regions i.e., by Opt-In status or only regions enabled for current account. To get details like endpoint and description of each region the data source can be combined with the `aws.getRegion` data source.
@@ -4050,7 +4773,7 @@ public static CompletableFuture getRegionsPlain(GetRegionsPlai
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static Output getRegions(GetRegionsArgs args, InvokeOptions options) {
+    public static Output getRegions(GetRegionsArgs args, InvokeOutputOptions options) {
         return Deployment.getInstance().invoke("aws:index/getRegions:getRegions", TypeShape.of(GetRegionsResult.class), args, Utilities.withVersion(options));
     }
     /**
@@ -4874,6 +5597,124 @@ public static Output getService(GetServiceArgs args, InvokeOpt
      * <!--End PulumiCodeChooser -->
      * 
      */
+    public static Output getService(GetServiceArgs args, InvokeOutputOptions options) {
+        return Deployment.getInstance().invoke("aws:index/getService:getService", TypeShape.of(GetServiceResult.class), args, Utilities.withVersion(options));
+    }
+    /**
+     * Use this data source to compose and decompose AWS service DNS names.
+     * 
+     * ## Example Usage
+     * 
+     * ### Get Service DNS Name
+     * 
+     * <!--Start PulumiCodeChooser -->
+     * 
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.AwsFunctions;
+     * import com.pulumi.aws.inputs.GetRegionArgs;
+     * import com.pulumi.aws.inputs.GetServiceArgs;
+     * 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 current = AwsFunctions.getRegion();
+     * 
+     *         final var test = AwsFunctions.getService(GetServiceArgs.builder()
+     *             .region(current.applyValue(getRegionResult -> getRegionResult.name()))
+     *             .serviceId("ec2")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + * ### Use Service Reverse DNS Name to Get Components + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.AwsFunctions;
+     * import com.pulumi.aws.inputs.GetServiceArgs;
+     * 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 s3 = AwsFunctions.getService(GetServiceArgs.builder()
+     *             .reverseDnsName("cn.com.amazonaws.cn-north-1.s3")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + * ### Determine Regional Support for a Service + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.AwsFunctions;
+     * import com.pulumi.aws.inputs.GetServiceArgs;
+     * 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 s3 = AwsFunctions.getService(GetServiceArgs.builder()
+     *             .reverseDnsName("com.amazonaws.us-gov-west-1.waf")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ public static CompletableFuture getServicePlain(GetServicePlainArgs args, InvokeOptions options) { return Deployment.getInstance().invokeAsync("aws:index/getService:getService", TypeShape.of(GetServiceResult.class), args, Utilities.withVersion(options)); } @@ -5018,6 +5859,53 @@ public static CompletableFuture getServicePrincipalPl public static Output getServicePrincipal(GetServicePrincipalArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:index/getServicePrincipal:getServicePrincipal", TypeShape.of(GetServicePrincipalResult.class), args, Utilities.withVersion(options)); } + /** + * Use this data source to create a Service Principal Name for a service in a given region. Service Principal Names should always end in the standard global format: `{servicename}.amazonaws.com`. However, in some AWS partitions, AWS may expect a different format. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.AwsFunctions;
+     * import com.pulumi.aws.inputs.GetServicePrincipalArgs;
+     * 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 current = AwsFunctions.getServicePrincipal(GetServicePrincipalArgs.builder()
+     *             .serviceName("s3")
+     *             .build());
+     * 
+     *         final var test = AwsFunctions.getServicePrincipal(GetServicePrincipalArgs.builder()
+     *             .serviceName("s3")
+     *             .region("us-iso-east-1")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getServicePrincipal(GetServicePrincipalArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:index/getServicePrincipal:getServicePrincipal", TypeShape.of(GetServicePrincipalResult.class), args, Utilities.withVersion(options)); + } /** * Use this data source to create a Service Principal Name for a service in a given region. Service Principal Names should always end in the standard global format: `{servicename}.amazonaws.com`. However, in some AWS partitions, AWS may expect a different format. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/Utilities.java b/sdk/java/src/main/java/com/pulumi/aws/Utilities.java index 8568af0ed6c..4999e78f758 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/Utilities.java +++ b/sdk/java/src/main/java/com/pulumi/aws/Utilities.java @@ -14,6 +14,7 @@ import javax.annotation.Nullable; import com.pulumi.core.internal.Environment; import com.pulumi.deployment.InvokeOptions; +import com.pulumi.deployment.InvokeOutputOptions; public class Utilities { @@ -57,16 +58,28 @@ public static Optional getEnvDouble(java.lang.String... names) return Optional.empty(); } - public static InvokeOptions withVersion(@Nullable InvokeOptions options) { - if (options != null && options.getVersion().isPresent()) { - return options; - } - return new InvokeOptions( - options == null ? null : options.getParent().orElse(null), - options == null ? null : options.getProvider().orElse(null), - getVersion() - ); + public static InvokeOptions withVersion(@Nullable InvokeOptions options) { + if (options != null && options.getVersion().isPresent()) { + return options; + } + return new InvokeOptions( + options == null ? null : options.getParent().orElse(null), + options == null ? null : options.getProvider().orElse(null), + getVersion() + ); + } + + public static InvokeOutputOptions withVersion(@Nullable InvokeOutputOptions options) { + if (options != null && options.getVersion().isPresent()) { + return options; } + return new InvokeOutputOptions( + options == null ? null : options.getParent().orElse(null), + options == null ? null : options.getProvider().orElse(null), + getVersion(), + options == null ? null : options.getDependsOn() + ); + } private static final java.lang.String version; public static java.lang.String getVersion() { diff --git a/sdk/java/src/main/java/com/pulumi/aws/acm/AcmFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/acm/AcmFunctions.java index 9a41c374f4c..0f02aed9c17 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/acm/AcmFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/acm/AcmFunctions.java @@ -11,6 +11,7 @@ import com.pulumi.core.TypeShape; import com.pulumi.deployment.Deployment; import com.pulumi.deployment.InvokeOptions; +import com.pulumi.deployment.InvokeOutputOptions; import java.util.concurrent.CompletableFuture; public final class AcmFunctions { @@ -304,6 +305,64 @@ public static CompletableFuture getCertificatePlain(GetCer public static Output getCertificate(GetCertificateArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:acm/getCertificate:getCertificate", TypeShape.of(GetCertificateResult.class), args, Utilities.withVersion(options)); } + /** + * Use this data source to get the ARN of a certificate in AWS Certificate Manager (ACM). + * You can reference the certificate by domain or tags without having to hard code the ARNs as input. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.acm.AcmFunctions;
+     * import com.pulumi.aws.acm.inputs.GetCertificateArgs;
+     * 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) {
+     *         // Find a certificate that is issued
+     *         final var issued = AcmFunctions.getCertificate(GetCertificateArgs.builder()
+     *             .domain("tf.example.com")
+     *             .statuses("ISSUED")
+     *             .build());
+     * 
+     *         // Find a certificate issued by (not imported into) ACM
+     *         final var amazonIssued = AcmFunctions.getCertificate(GetCertificateArgs.builder()
+     *             .domain("tf.example.com")
+     *             .types("AMAZON_ISSUED")
+     *             .mostRecent(true)
+     *             .build());
+     * 
+     *         // Find a RSA 4096 bit certificate
+     *         final var rsa4096 = AcmFunctions.getCertificate(GetCertificateArgs.builder()
+     *             .domain("tf.example.com")
+     *             .keyTypes("RSA_4096")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getCertificate(GetCertificateArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:acm/getCertificate:getCertificate", TypeShape.of(GetCertificateResult.class), args, Utilities.withVersion(options)); + } /** * Use this data source to get the ARN of a certificate in AWS Certificate Manager (ACM). * You can reference the certificate by domain or tags without having to hard code the ARNs as input. diff --git a/sdk/java/src/main/java/com/pulumi/aws/acmpca/AcmpcaFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/acmpca/AcmpcaFunctions.java index 2aba76f5ed5..c39c587f000 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/acmpca/AcmpcaFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/acmpca/AcmpcaFunctions.java @@ -14,6 +14,7 @@ import com.pulumi.core.TypeShape; import com.pulumi.deployment.Deployment; import com.pulumi.deployment.InvokeOptions; +import com.pulumi.deployment.InvokeOutputOptions; import java.util.concurrent.CompletableFuture; public final class AcmpcaFunctions { @@ -146,6 +147,49 @@ public static CompletableFuture getCertificatePlain(GetCer public static Output getCertificate(GetCertificateArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:acmpca/getCertificate:getCertificate", TypeShape.of(GetCertificateResult.class), args, Utilities.withVersion(options)); } + /** + * Get information on a Certificate issued by a AWS Certificate Manager Private Certificate Authority. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.acmpca.AcmpcaFunctions;
+     * import com.pulumi.aws.acmpca.inputs.GetCertificateArgs;
+     * 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 = AcmpcaFunctions.getCertificate(GetCertificateArgs.builder()
+     *             .arn("arn:aws:acm-pca:us-east-1:123456789012:certificate-authority/12345678-1234-1234-1234-123456789012/certificate/1234b4a0d73e2056789bdbe77d5b1a23")
+     *             .certificateAuthorityArn("arn:aws:acm-pca:us-east-1:123456789012:certificate-authority/12345678-1234-1234-1234-123456789012")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getCertificate(GetCertificateArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:acmpca/getCertificate:getCertificate", TypeShape.of(GetCertificateResult.class), args, Utilities.withVersion(options)); + } /** * Get information on a Certificate issued by a AWS Certificate Manager Private Certificate Authority. * @@ -315,6 +359,48 @@ public static CompletableFuture getCertificateAut public static Output getCertificateAuthority(GetCertificateAuthorityArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:acmpca/getCertificateAuthority:getCertificateAuthority", TypeShape.of(GetCertificateAuthorityResult.class), args, Utilities.withVersion(options)); } + /** + * Get information on a AWS Certificate Manager Private Certificate Authority (ACM PCA Certificate Authority). + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.acmpca.AcmpcaFunctions;
+     * import com.pulumi.aws.acmpca.inputs.GetCertificateAuthorityArgs;
+     * 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 = AcmpcaFunctions.getCertificateAuthority(GetCertificateAuthorityArgs.builder()
+     *             .arn("arn:aws:acm-pca:us-east-1:123456789012:certificate-authority/12345678-1234-1234-1234-123456789012")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getCertificateAuthority(GetCertificateAuthorityArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:acmpca/getCertificateAuthority:getCertificateAuthority", TypeShape.of(GetCertificateAuthorityResult.class), args, Utilities.withVersion(options)); + } /** * Get information on a AWS Certificate Manager Private Certificate Authority (ACM PCA Certificate Authority). * diff --git a/sdk/java/src/main/java/com/pulumi/aws/alb/AlbFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/alb/AlbFunctions.java index 490966e486b..121968dd904 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/alb/AlbFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/alb/AlbFunctions.java @@ -17,6 +17,7 @@ import com.pulumi.core.TypeShape; import com.pulumi.deployment.Deployment; import com.pulumi.deployment.InvokeOptions; +import com.pulumi.deployment.InvokeOutputOptions; import java.util.concurrent.CompletableFuture; public final class AlbFunctions { @@ -315,6 +316,65 @@ public static CompletableFuture getListenerPlain(GetListenerP public static Output getListener(GetListenerArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:alb/getListener:getListener", TypeShape.of(GetListenerResult.class), args, Utilities.withVersion(options)); } + /** + * > **Note:** `aws.alb.Listener` is known as `aws.lb.Listener`. The functionality is identical. + * + * Provides information about a Load Balancer Listener. + * + * This data source can prove useful when a module accepts an LB Listener as an input variable and needs to know the LB it is attached to, or other information specific to the listener in question. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.lb.LbFunctions;
+     * import com.pulumi.aws.lb.inputs.GetListenerArgs;
+     * import com.pulumi.aws.lb.inputs.GetLoadBalancerArgs;
+     * import java.util.List;
+     * import java.util.ArrayList;
+     * import java.util.Map;
+     * import java.io.File;
+     * import java.nio.file.Files;
+     * import java.nio.file.Paths;
+     * 
+     * public class App {
+     *     public static void main(String[] args) {
+     *         Pulumi.run(App::stack);
+     *     }
+     * 
+     *     public static void stack(Context ctx) {
+     *         final var config = ctx.config();
+     *         final var listenerArn = config.get("listenerArn");
+     *         final var listener = LbFunctions.getListener(GetListenerArgs.builder()
+     *             .arn(listenerArn)
+     *             .build());
+     * 
+     *         // get listener from load_balancer_arn and port
+     *         final var selected = LbFunctions.getLoadBalancer(GetLoadBalancerArgs.builder()
+     *             .name("default-public")
+     *             .build());
+     * 
+     *         final var selected443 = LbFunctions.getListener(GetListenerArgs.builder()
+     *             .loadBalancerArn(selected.applyValue(getLoadBalancerResult -> getLoadBalancerResult.arn()))
+     *             .port(443)
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getListener(GetListenerArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:alb/getListener:getListener", TypeShape.of(GetListenerResult.class), args, Utilities.withVersion(options)); + } /** * > **Note:** `aws.alb.Listener` is known as `aws.lb.Listener`. The functionality is identical. * @@ -634,6 +694,58 @@ public static CompletableFuture getLoadBalancerPlain(GetL public static Output getLoadBalancer(GetLoadBalancerArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:alb/getLoadBalancer:getLoadBalancer", TypeShape.of(GetLoadBalancerResult.class), args, Utilities.withVersion(options)); } + /** + * > **Note:** `aws.alb.LoadBalancer` is known as `aws.lb.LoadBalancer`. The functionality is identical. + * + * Provides information about a Load Balancer. + * + * This data source can prove useful when a module accepts an LB as an input + * variable and needs to, for example, determine the security groups associated + * with it, etc. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.lb.LbFunctions;
+     * import com.pulumi.aws.lb.inputs.GetLoadBalancerArgs;
+     * import java.util.List;
+     * import java.util.ArrayList;
+     * import java.util.Map;
+     * import java.io.File;
+     * import java.nio.file.Files;
+     * import java.nio.file.Paths;
+     * 
+     * public class App {
+     *     public static void main(String[] args) {
+     *         Pulumi.run(App::stack);
+     *     }
+     * 
+     *     public static void stack(Context ctx) {
+     *         final var config = ctx.config();
+     *         final var lbArn = config.get("lbArn").orElse("");
+     *         final var lbName = config.get("lbName").orElse("");
+     *         final var test = LbFunctions.getLoadBalancer(GetLoadBalancerArgs.builder()
+     *             .arn(lbArn)
+     *             .name(lbName)
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getLoadBalancer(GetLoadBalancerArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:alb/getLoadBalancer:getLoadBalancer", TypeShape.of(GetLoadBalancerResult.class), args, Utilities.withVersion(options)); + } /** * > **Note:** `aws.alb.LoadBalancer` is known as `aws.lb.LoadBalancer`. The functionality is identical. * @@ -946,6 +1058,58 @@ public static CompletableFuture getTargetGroupPlain(GetTar public static Output getTargetGroup(GetTargetGroupArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:alb/getTargetGroup:getTargetGroup", TypeShape.of(GetTargetGroupResult.class), args, Utilities.withVersion(options)); } + /** + * > **Note:** `aws.alb.TargetGroup` is known as `aws.lb.TargetGroup`. The functionality is identical. + * + * Provides information about a Load Balancer Target Group. + * + * This data source can prove useful when a module accepts an LB Target Group as an + * input variable and needs to know its attributes. It can also be used to get the ARN of + * an LB Target Group for use in other resources, given LB Target Group name. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.lb.LbFunctions;
+     * import com.pulumi.aws.lb.inputs.GetTargetGroupArgs;
+     * import java.util.List;
+     * import java.util.ArrayList;
+     * import java.util.Map;
+     * import java.io.File;
+     * import java.nio.file.Files;
+     * import java.nio.file.Paths;
+     * 
+     * public class App {
+     *     public static void main(String[] args) {
+     *         Pulumi.run(App::stack);
+     *     }
+     * 
+     *     public static void stack(Context ctx) {
+     *         final var config = ctx.config();
+     *         final var lbTgArn = config.get("lbTgArn").orElse("");
+     *         final var lbTgName = config.get("lbTgName").orElse("");
+     *         final var test = LbFunctions.getTargetGroup(GetTargetGroupArgs.builder()
+     *             .arn(lbTgArn)
+     *             .name(lbTgName)
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getTargetGroup(GetTargetGroupArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:alb/getTargetGroup:getTargetGroup", TypeShape.of(GetTargetGroupResult.class), args, Utilities.withVersion(options)); + } /** * > **Note:** `aws.alb.TargetGroup` is known as `aws.lb.TargetGroup`. The functionality is identical. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/alb/Listener.java b/sdk/java/src/main/java/com/pulumi/aws/alb/Listener.java index 39df5e2eb31..2506c95782f 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/alb/Listener.java +++ b/sdk/java/src/main/java/com/pulumi/aws/alb/Listener.java @@ -613,6 +613,8 @@ public Output sslPolicy() { /** * A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * + * > **Note::** When a `Name` key is specified in the map, the AWS Console maps the value to the `Name Tag` column value inside the `Listener Rules` table within a specific load balancer listener page. Otherwise, the value resolves to `Default`. + * */ @Export(name="tags", refs={Map.class,String.class}, tree="[0,1,1]") private Output> tags; @@ -620,6 +622,8 @@ public Output sslPolicy() { /** * @return A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * + * > **Note::** When a `Name` key is specified in the map, the AWS Console maps the value to the `Name Tag` column value inside the `Listener Rules` table within a specific load balancer listener page. Otherwise, the value resolves to `Default`. + * */ public Output>> tags() { return Codegen.optional(this.tags); diff --git a/sdk/java/src/main/java/com/pulumi/aws/alb/ListenerArgs.java b/sdk/java/src/main/java/com/pulumi/aws/alb/ListenerArgs.java index 4e6a9b21890..1f2573dcf9c 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/alb/ListenerArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/alb/ListenerArgs.java @@ -148,6 +148,8 @@ public Optional> sslPolicy() { /** * A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * + * > **Note::** When a `Name` key is specified in the map, the AWS Console maps the value to the `Name Tag` column value inside the `Listener Rules` table within a specific load balancer listener page. Otherwise, the value resolves to `Default`. + * */ @Import(name="tags") private @Nullable Output> tags; @@ -155,6 +157,8 @@ public Optional> sslPolicy() { /** * @return A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * + * > **Note::** When a `Name` key is specified in the map, the AWS Console maps the value to the `Name Tag` column value inside the `Listener Rules` table within a specific load balancer listener page. Otherwise, the value resolves to `Default`. + * */ public Optional>> tags() { return Optional.ofNullable(this.tags); @@ -393,6 +397,8 @@ public Builder sslPolicy(String sslPolicy) { /** * @param tags A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * + * > **Note::** When a `Name` key is specified in the map, the AWS Console maps the value to the `Name Tag` column value inside the `Listener Rules` table within a specific load balancer listener page. Otherwise, the value resolves to `Default`. + * * @return builder * */ @@ -404,6 +410,8 @@ public Builder tags(@Nullable Output> tags) { /** * @param tags A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * + * > **Note::** When a `Name` key is specified in the map, the AWS Console maps the value to the `Name Tag` column value inside the `Listener Rules` table within a specific load balancer listener page. Otherwise, the value resolves to `Default`. + * * @return builder * */ diff --git a/sdk/java/src/main/java/com/pulumi/aws/alb/inputs/ListenerState.java b/sdk/java/src/main/java/com/pulumi/aws/alb/inputs/ListenerState.java index 6097fa8259f..c9567cd7d85 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/alb/inputs/ListenerState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/alb/inputs/ListenerState.java @@ -162,6 +162,8 @@ public Optional> sslPolicy() { /** * A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * + * > **Note::** When a `Name` key is specified in the map, the AWS Console maps the value to the `Name Tag` column value inside the `Listener Rules` table within a specific load balancer listener page. Otherwise, the value resolves to `Default`. + * */ @Import(name="tags") private @Nullable Output> tags; @@ -169,6 +171,8 @@ public Optional> sslPolicy() { /** * @return A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * + * > **Note::** When a `Name` key is specified in the map, the AWS Console maps the value to the `Name Tag` column value inside the `Listener Rules` table within a specific load balancer listener page. Otherwise, the value resolves to `Default`. + * */ public Optional>> tags() { return Optional.ofNullable(this.tags); @@ -453,6 +457,8 @@ public Builder sslPolicy(String sslPolicy) { /** * @param tags A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * + * > **Note::** When a `Name` key is specified in the map, the AWS Console maps the value to the `Name Tag` column value inside the `Listener Rules` table within a specific load balancer listener page. Otherwise, the value resolves to `Default`. + * * @return builder * */ @@ -464,6 +470,8 @@ public Builder tags(@Nullable Output> tags) { /** * @param tags A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * + * > **Note::** When a `Name` key is specified in the map, the AWS Console maps the value to the `Name Tag` column value inside the `Listener Rules` table within a specific load balancer listener page. Otherwise, the value resolves to `Default`. + * * @return builder * */ diff --git a/sdk/java/src/main/java/com/pulumi/aws/amp/AmpFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/amp/AmpFunctions.java index 19e94f78def..0470f95a619 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/amp/AmpFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/amp/AmpFunctions.java @@ -15,6 +15,7 @@ import com.pulumi.core.TypeShape; import com.pulumi.deployment.Deployment; import com.pulumi.deployment.InvokeOptions; +import com.pulumi.deployment.InvokeOutputOptions; import com.pulumi.resources.InvokeArgs; import java.util.concurrent.CompletableFuture; @@ -214,6 +215,45 @@ public static CompletableFuture getDefault public static Output getDefaultScraperConfiguration(InvokeArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:amp/getDefaultScraperConfiguration:getDefaultScraperConfiguration", TypeShape.of(GetDefaultScraperConfigurationResult.class), args, Utilities.withVersion(options)); } + /** + * Returns the default scraper configuration used when Amazon EKS creates a scraper for you. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.amp.AmpFunctions;
+     * 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 = AmpFunctions.getDefaultScraperConfiguration();
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getDefaultScraperConfiguration(InvokeArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:amp/getDefaultScraperConfiguration:getDefaultScraperConfiguration", TypeShape.of(GetDefaultScraperConfigurationResult.class), args, Utilities.withVersion(options)); + } /** * Returns the default scraper configuration used when Amazon EKS creates a scraper for you. * @@ -385,6 +425,50 @@ public static CompletableFuture getWorkspacePlain(GetWorkspa public static Output getWorkspace(GetWorkspaceArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:amp/getWorkspace:getWorkspace", TypeShape.of(GetWorkspaceResult.class), args, Utilities.withVersion(options)); } + /** + * Provides an Amazon Managed Prometheus workspace data source. + * + * ## Example Usage + * + * ### Basic configuration + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.amp.AmpFunctions;
+     * import com.pulumi.aws.amp.inputs.GetWorkspaceArgs;
+     * 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 = AmpFunctions.getWorkspace(GetWorkspaceArgs.builder()
+     *             .workspaceId("ws-41det8a1-2c67-6a1a-9381-9b83d3d78ef7")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getWorkspace(GetWorkspaceArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:amp/getWorkspace:getWorkspace", TypeShape.of(GetWorkspaceResult.class), args, Utilities.withVersion(options)); + } /** * Provides an Amazon Managed Prometheus workspace data source. * @@ -819,6 +903,84 @@ public static CompletableFuture getWorkspacesPlain(GetWorks public static Output getWorkspaces(GetWorkspacesArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:amp/getWorkspaces:getWorkspaces", TypeShape.of(GetWorkspacesResult.class), args, Utilities.withVersion(options)); } + /** + * Provides the aliases, ARNs, and workspace IDs of Amazon Prometheus workspaces. + * + * ## Example Usage + * + * The following example returns all of the workspaces in a region: + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.amp.AmpFunctions;
+     * import com.pulumi.aws.amp.inputs.GetWorkspacesArgs;
+     * 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 = AmpFunctions.getWorkspaces();
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + * The following example filters the workspaces by alias. Only the workspaces with + * aliases that begin with the value of `alias_prefix` will be returned: + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.amp.AmpFunctions;
+     * import com.pulumi.aws.amp.inputs.GetWorkspacesArgs;
+     * 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 = AmpFunctions.getWorkspaces(GetWorkspacesArgs.builder()
+     *             .aliasPrefix("example")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getWorkspaces(GetWorkspacesArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:amp/getWorkspaces:getWorkspaces", TypeShape.of(GetWorkspacesResult.class), args, Utilities.withVersion(options)); + } /** * Provides the aliases, ARNs, and workspace IDs of Amazon Prometheus workspaces. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/apigateway/ApigatewayFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/apigateway/ApigatewayFunctions.java index a685dde1478..29f8205925c 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/apigateway/ApigatewayFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/apigateway/ApigatewayFunctions.java @@ -35,6 +35,7 @@ import com.pulumi.core.TypeShape; import com.pulumi.deployment.Deployment; import com.pulumi.deployment.InvokeOptions; +import com.pulumi.deployment.InvokeOutputOptions; import java.util.concurrent.CompletableFuture; public final class ApigatewayFunctions { @@ -167,6 +168,49 @@ public static CompletableFuture getAuthorizerPlain(GetAutho public static Output getAuthorizer(GetAuthorizerArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:apigateway/getAuthorizer:getAuthorizer", TypeShape.of(GetAuthorizerResult.class), args, Utilities.withVersion(options)); } + /** + * Provides details about a specific API Gateway Authorizer. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.apigateway.ApigatewayFunctions;
+     * import com.pulumi.aws.apigateway.inputs.GetAuthorizerArgs;
+     * 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 = ApigatewayFunctions.getAuthorizer(GetAuthorizerArgs.builder()
+     *             .restApiId(exampleAwsApiGatewayRestApi.id())
+     *             .authorizerId(exampleAwsApiGatewayAuthorizers.ids()[0])
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getAuthorizer(GetAuthorizerArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:apigateway/getAuthorizer:getAuthorizer", TypeShape.of(GetAuthorizerResult.class), args, Utilities.withVersion(options)); + } /** * Provides details about a specific API Gateway Authorizer. * @@ -336,6 +380,48 @@ public static CompletableFuture getAuthorizersPlain(GetAut public static Output getAuthorizers(GetAuthorizersArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:apigateway/getAuthorizers:getAuthorizers", TypeShape.of(GetAuthorizersResult.class), args, Utilities.withVersion(options)); } + /** + * Provides details about multiple API Gateway Authorizers. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.apigateway.ApigatewayFunctions;
+     * import com.pulumi.aws.apigateway.inputs.GetAuthorizersArgs;
+     * 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 = ApigatewayFunctions.getAuthorizers(GetAuthorizersArgs.builder()
+     *             .restApiId(exampleAwsApiGatewayRestApi.id())
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getAuthorizers(GetAuthorizersArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:apigateway/getAuthorizers:getAuthorizers", TypeShape.of(GetAuthorizersResult.class), args, Utilities.withVersion(options)); + } /** * Provides details about multiple API Gateway Authorizers. * @@ -504,6 +590,48 @@ public static CompletableFuture getDomainNamePlain(GetDomai public static Output getDomainName(GetDomainNameArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:apigateway/getDomainName:getDomainName", TypeShape.of(GetDomainNameResult.class), args, Utilities.withVersion(options)); } + /** + * Use this data source to get the custom domain name for use with AWS API Gateway. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.apigateway.ApigatewayFunctions;
+     * import com.pulumi.aws.apigateway.inputs.GetDomainNameArgs;
+     * 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 = ApigatewayFunctions.getDomainName(GetDomainNameArgs.builder()
+     *             .domainName("api.example.com")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getDomainName(GetDomainNameArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:apigateway/getDomainName:getDomainName", TypeShape.of(GetDomainNameResult.class), args, Utilities.withVersion(options)); + } /** * Use this data source to get the custom domain name for use with AWS API Gateway. * @@ -672,6 +800,48 @@ public static CompletableFuture getExportPlain(GetExportPlainAr public static Output getExport(GetExportArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:apigateway/getExport:getExport", TypeShape.of(GetExportResult.class), args, Utilities.withVersion(options)); } + /** + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.apigateway.ApigatewayFunctions;
+     * import com.pulumi.aws.apigateway.inputs.GetExportArgs;
+     * 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 = ApigatewayFunctions.getExport(GetExportArgs.builder()
+     *             .restApiId(exampleAwsApiGatewayStage.restApiId())
+     *             .stageName(exampleAwsApiGatewayStage.stageName())
+     *             .exportType("oas30")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getExport(GetExportArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:apigateway/getExport:getExport", TypeShape.of(GetExportResult.class), args, Utilities.withVersion(options)); + } /** * ## Example Usage * @@ -843,6 +1013,49 @@ public static CompletableFuture getKeyPlain(GetKeyPlainArgs args) public static Output getKey(GetKeyArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:apigateway/getKey:getKey", TypeShape.of(GetKeyResult.class), args, Utilities.withVersion(options)); } + /** + * Use this data source to get the name and value of a pre-existing API Key, for + * example to supply credentials for a dependency microservice. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.apigateway.ApigatewayFunctions;
+     * import com.pulumi.aws.apigateway.inputs.GetKeyArgs;
+     * 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 myApiKey = ApigatewayFunctions.getKey(GetKeyArgs.builder()
+     *             .id("ru3mpjgse6")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getKey(GetKeyArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:apigateway/getKey:getKey", TypeShape.of(GetKeyResult.class), args, Utilities.withVersion(options)); + } /** * Use this data source to get the name and value of a pre-existing API Key, for * example to supply credentials for a dependency microservice. @@ -1033,6 +1246,55 @@ public static CompletableFuture getResourcePlain(GetResourceP public static Output getResource(GetResourceArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:apigateway/getResource:getResource", TypeShape.of(GetResourceResult.class), args, Utilities.withVersion(options)); } + /** + * Use this data source to get the id of a Resource in API Gateway. + * To fetch the Resource, you must provide the REST API id as well as the full path. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.apigateway.ApigatewayFunctions;
+     * import com.pulumi.aws.apigateway.inputs.GetRestApiArgs;
+     * import com.pulumi.aws.apigateway.inputs.GetResourceArgs;
+     * 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 myRestApi = ApigatewayFunctions.getRestApi(GetRestApiArgs.builder()
+     *             .name("my-rest-api")
+     *             .build());
+     * 
+     *         final var myResource = ApigatewayFunctions.getResource(GetResourceArgs.builder()
+     *             .restApiId(myRestApi.applyValue(getRestApiResult -> getRestApiResult.id()))
+     *             .path("/endpoint/path")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getResource(GetResourceArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:apigateway/getResource:getResource", TypeShape.of(GetResourceResult.class), args, Utilities.withVersion(options)); + } /** * Use this data source to get the id of a Resource in API Gateway. * To fetch the Resource, you must provide the REST API id as well as the full path. @@ -1217,6 +1479,51 @@ public static CompletableFuture getRestApiPlain(GetRestApiPlai public static Output getRestApi(GetRestApiArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:apigateway/getRestApi:getRestApi", TypeShape.of(GetRestApiResult.class), args, Utilities.withVersion(options)); } + /** + * Use this data source to get the id and root_resource_id of a REST API in + * API Gateway. To fetch the REST API you must provide a name to match against. + * As there is no unique name constraint on REST APIs this data source will + * error if there is more than one match. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.apigateway.ApigatewayFunctions;
+     * import com.pulumi.aws.apigateway.inputs.GetRestApiArgs;
+     * 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 myRestApi = ApigatewayFunctions.getRestApi(GetRestApiArgs.builder()
+     *             .name("my-rest-api")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getRestApi(GetRestApiArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:apigateway/getRestApi:getRestApi", TypeShape.of(GetRestApiResult.class), args, Utilities.withVersion(options)); + } /** * Use this data source to get the id and root_resource_id of a REST API in * API Gateway. To fetch the REST API you must provide a name to match against. @@ -1406,6 +1713,54 @@ public static CompletableFuture getSdkPlain(GetSdkPlainArgs args) public static Output getSdk(GetSdkArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:apigateway/getSdk:getSdk", TypeShape.of(GetSdkResult.class), args, Utilities.withVersion(options)); } + /** + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.apigateway.ApigatewayFunctions;
+     * import com.pulumi.aws.apigateway.inputs.GetSdkArgs;
+     * 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 = ApigatewayFunctions.getSdk(GetSdkArgs.builder()
+     *             .restApiId(exampleAwsApiGatewayStage.restApiId())
+     *             .stageName(exampleAwsApiGatewayStage.stageName())
+     *             .sdkType("android")
+     *             .parameters(Map.ofEntries(
+     *                 Map.entry("groupId", "example"),
+     *                 Map.entry("artifactId", "example"),
+     *                 Map.entry("artifactVersion", "example"),
+     *                 Map.entry("invokerPackage", "example")
+     *             ))
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getSdk(GetSdkArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:apigateway/getSdk:getSdk", TypeShape.of(GetSdkResult.class), args, Utilities.withVersion(options)); + } /** * ## Example Usage * @@ -1589,6 +1944,51 @@ public static CompletableFuture getVpcLinkPlain(GetVpcLinkPlai public static Output getVpcLink(GetVpcLinkArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:apigateway/getVpcLink:getVpcLink", TypeShape.of(GetVpcLinkResult.class), args, Utilities.withVersion(options)); } + /** + * Use this data source to get the id of a VPC Link in + * API Gateway. To fetch the VPC Link you must provide a name to match against. + * As there is no unique name constraint on API Gateway VPC Links this data source will + * error if there is more than one match. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.apigateway.ApigatewayFunctions;
+     * import com.pulumi.aws.apigateway.inputs.GetVpcLinkArgs;
+     * 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 myApiGatewayVpcLink = ApigatewayFunctions.getVpcLink(GetVpcLinkArgs.builder()
+     *             .name("my-vpc-link")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getVpcLink(GetVpcLinkArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:apigateway/getVpcLink:getVpcLink", TypeShape.of(GetVpcLinkResult.class), args, Utilities.withVersion(options)); + } /** * Use this data source to get the id of a VPC Link in * API Gateway. To fetch the VPC Link you must provide a name to match against. diff --git a/sdk/java/src/main/java/com/pulumi/aws/apigateway/BasePathMapping.java b/sdk/java/src/main/java/com/pulumi/aws/apigateway/BasePathMapping.java index bacc5592b49..2337eeaf680 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/apigateway/BasePathMapping.java +++ b/sdk/java/src/main/java/com/pulumi/aws/apigateway/BasePathMapping.java @@ -23,7 +23,9 @@ * * For a non-root `base_path`: * - * Using `pulumi import`, import `aws_api_gateway_base_path_mapping` using the domain name and base path. For example: + * For a non-root `base_path` and a private custom domain name: + * + * Using `pulumi import`, import `aws_api_gateway_base_path_mapping` using the domain name and base path or domain name, base path and domain name ID (for private custom domain names). For example: * * For an empty `base_path` or, in other words, a root path (`/`): * @@ -35,6 +37,11 @@ * ```sh * $ pulumi import aws:apigateway/basePathMapping:BasePathMapping example example.com/base-path * ``` + * For a non-root `base_path` and a private custom domain name: + * + * ```sh + * $ pulumi import aws:apigateway/basePathMapping:BasePathMapping example api.internal.example.com/base-path/abcde12345 + * ``` * */ @ResourceType(type="aws:apigateway/basePathMapping:BasePathMapping") @@ -67,6 +74,20 @@ public Output> basePath() { public Output domainName() { return this.domainName; } + /** + * The identifier for the domain name resource. Supported only for private custom domain names. + * + */ + @Export(name="domainNameId", refs={String.class}, tree="[0]") + private Output domainNameId; + + /** + * @return The identifier for the domain name resource. Supported only for private custom domain names. + * + */ + public Output> domainNameId() { + return Codegen.optional(this.domainNameId); + } /** * ID of the API to connect. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/apigateway/BasePathMappingArgs.java b/sdk/java/src/main/java/com/pulumi/aws/apigateway/BasePathMappingArgs.java index 808898f08e4..cbd0862c3e6 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/apigateway/BasePathMappingArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/apigateway/BasePathMappingArgs.java @@ -46,6 +46,21 @@ public Output domainName() { return this.domainName; } + /** + * The identifier for the domain name resource. Supported only for private custom domain names. + * + */ + @Import(name="domainNameId") + private @Nullable Output domainNameId; + + /** + * @return The identifier for the domain name resource. Supported only for private custom domain names. + * + */ + public Optional> domainNameId() { + return Optional.ofNullable(this.domainNameId); + } + /** * ID of the API to connect. * @@ -81,6 +96,7 @@ private BasePathMappingArgs() {} private BasePathMappingArgs(BasePathMappingArgs $) { this.basePath = $.basePath; this.domainName = $.domainName; + this.domainNameId = $.domainNameId; this.restApi = $.restApi; this.stageName = $.stageName; } @@ -145,6 +161,27 @@ public Builder domainName(String domainName) { return domainName(Output.of(domainName)); } + /** + * @param domainNameId The identifier for the domain name resource. Supported only for private custom domain names. + * + * @return builder + * + */ + public Builder domainNameId(@Nullable Output domainNameId) { + $.domainNameId = domainNameId; + return this; + } + + /** + * @param domainNameId The identifier for the domain name resource. Supported only for private custom domain names. + * + * @return builder + * + */ + public Builder domainNameId(String domainNameId) { + return domainNameId(Output.of(domainNameId)); + } + /** * @param restApi ID of the API to connect. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/apigateway/DomainName.java b/sdk/java/src/main/java/com/pulumi/aws/apigateway/DomainName.java index 78769755abd..6d2b908f9ca 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/apigateway/DomainName.java +++ b/sdk/java/src/main/java/com/pulumi/aws/apigateway/DomainName.java @@ -158,11 +158,18 @@ * * ## Import * - * Using `pulumi import`, import API Gateway domain names using their `name`. For example: + * For a private custom domain name: + * + * Using `pulumi import`, import API Gateway domain names using their `name` or `name` and `domain_name_id` (for private custom domain names). For example: * * ```sh * $ pulumi import aws:apigateway/domainName:DomainName example dev.example.com * ``` + * For a private custom domain name: + * + * ```sh + * $ pulumi import aws:apigateway/domainName:DomainName example dev.api.internal.example.com/abcde12345 + * ``` * */ @ResourceType(type="aws:apigateway/domainName:DomainName") @@ -307,6 +314,20 @@ public Output cloudfrontZoneId() { public Output domainName() { return this.domainName; } + /** + * The identifier for the domain name resource. Supported only for private custom domain names. + * + */ + @Export(name="domainNameId", refs={String.class}, tree="[0]") + private Output domainNameId; + + /** + * @return The identifier for the domain name resource. Supported only for private custom domain names. + * + */ + public Output domainNameId() { + return this.domainNameId; + } /** * Configuration block defining API endpoint information including type. See below. * @@ -349,6 +370,20 @@ public Output> mutualTlsAuthenticati public Output ownershipVerificationCertificateArn() { return this.ownershipVerificationCertificateArn; } + /** + * A stringified JSON policy document that applies to the execute-api service for this DomainName regardless of the caller and Method configuration. Supported only for private custom domain names. + * + */ + @Export(name="policy", refs={String.class}, tree="[0]") + private Output policy; + + /** + * @return A stringified JSON policy document that applies to the execute-api service for this DomainName regardless of the caller and Method configuration. Supported only for private custom domain names. + * + */ + public Output> policy() { + return Codegen.optional(this.policy); + } /** * ARN for an AWS-managed certificate. AWS Certificate Manager is the only supported source. Used when a regional domain name is desired. Conflicts with `certificate_arn`, `certificate_name`, `certificate_body`, `certificate_chain`, and `certificate_private_key`. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/apigateway/DomainNameArgs.java b/sdk/java/src/main/java/com/pulumi/aws/apigateway/DomainNameArgs.java index c454a48c011..dd596f25986 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/apigateway/DomainNameArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/apigateway/DomainNameArgs.java @@ -154,6 +154,21 @@ public Optional> ownershipVerificationCertificateArn() { return Optional.ofNullable(this.ownershipVerificationCertificateArn); } + /** + * A stringified JSON policy document that applies to the execute-api service for this DomainName regardless of the caller and Method configuration. Supported only for private custom domain names. + * + */ + @Import(name="policy") + private @Nullable Output policy; + + /** + * @return A stringified JSON policy document that applies to the execute-api service for this DomainName regardless of the caller and Method configuration. Supported only for private custom domain names. + * + */ + public Optional> policy() { + return Optional.ofNullable(this.policy); + } + /** * ARN for an AWS-managed certificate. AWS Certificate Manager is the only supported source. Used when a regional domain name is desired. Conflicts with `certificate_arn`, `certificate_name`, `certificate_body`, `certificate_chain`, and `certificate_private_key`. * @@ -234,6 +249,7 @@ private DomainNameArgs(DomainNameArgs $) { this.endpointConfiguration = $.endpointConfiguration; this.mutualTlsAuthentication = $.mutualTlsAuthentication; this.ownershipVerificationCertificateArn = $.ownershipVerificationCertificateArn; + this.policy = $.policy; this.regionalCertificateArn = $.regionalCertificateArn; this.regionalCertificateName = $.regionalCertificateName; this.securityPolicy = $.securityPolicy; @@ -447,6 +463,27 @@ public Builder ownershipVerificationCertificateArn(String ownershipVerificationC return ownershipVerificationCertificateArn(Output.of(ownershipVerificationCertificateArn)); } + /** + * @param policy A stringified JSON policy document that applies to the execute-api service for this DomainName regardless of the caller and Method configuration. Supported only for private custom domain names. + * + * @return builder + * + */ + public Builder policy(@Nullable Output policy) { + $.policy = policy; + return this; + } + + /** + * @param policy A stringified JSON policy document that applies to the execute-api service for this DomainName regardless of the caller and Method configuration. Supported only for private custom domain names. + * + * @return builder + * + */ + public Builder policy(String policy) { + return policy(Output.of(policy)); + } + /** * @param regionalCertificateArn ARN for an AWS-managed certificate. AWS Certificate Manager is the only supported source. Used when a regional domain name is desired. Conflicts with `certificate_arn`, `certificate_name`, `certificate_body`, `certificate_chain`, and `certificate_private_key`. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/apigateway/inputs/BasePathMappingState.java b/sdk/java/src/main/java/com/pulumi/aws/apigateway/inputs/BasePathMappingState.java index e8aa9d86ad0..579556091fe 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/apigateway/inputs/BasePathMappingState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/apigateway/inputs/BasePathMappingState.java @@ -45,6 +45,21 @@ public Optional> domainName() { return Optional.ofNullable(this.domainName); } + /** + * The identifier for the domain name resource. Supported only for private custom domain names. + * + */ + @Import(name="domainNameId") + private @Nullable Output domainNameId; + + /** + * @return The identifier for the domain name resource. Supported only for private custom domain names. + * + */ + public Optional> domainNameId() { + return Optional.ofNullable(this.domainNameId); + } + /** * ID of the API to connect. * @@ -80,6 +95,7 @@ private BasePathMappingState() {} private BasePathMappingState(BasePathMappingState $) { this.basePath = $.basePath; this.domainName = $.domainName; + this.domainNameId = $.domainNameId; this.restApi = $.restApi; this.stageName = $.stageName; } @@ -144,6 +160,27 @@ public Builder domainName(String domainName) { return domainName(Output.of(domainName)); } + /** + * @param domainNameId The identifier for the domain name resource. Supported only for private custom domain names. + * + * @return builder + * + */ + public Builder domainNameId(@Nullable Output domainNameId) { + $.domainNameId = domainNameId; + return this; + } + + /** + * @param domainNameId The identifier for the domain name resource. Supported only for private custom domain names. + * + * @return builder + * + */ + public Builder domainNameId(String domainNameId) { + return domainNameId(Output.of(domainNameId)); + } + /** * @param restApi ID of the API to connect. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/apigateway/inputs/DomainNameEndpointConfigurationArgs.java b/sdk/java/src/main/java/com/pulumi/aws/apigateway/inputs/DomainNameEndpointConfigurationArgs.java index 5d44804cfe0..37c113eb836 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/apigateway/inputs/DomainNameEndpointConfigurationArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/apigateway/inputs/DomainNameEndpointConfigurationArgs.java @@ -15,14 +15,14 @@ public final class DomainNameEndpointConfigurationArgs extends com.pulumi.resour public static final DomainNameEndpointConfigurationArgs Empty = new DomainNameEndpointConfigurationArgs(); /** - * List of endpoint types. This resource currently only supports managing a single value. Valid values: `EDGE` or `REGIONAL`. If unspecified, defaults to `EDGE`. Must be declared as `REGIONAL` in non-Commercial partitions. Refer to the [documentation](https://docs.aws.amazon.com/apigateway/latest/developerguide/create-regional-api.html) for more information on the difference between edge-optimized and regional APIs. + * A list of endpoint types of an API or its custom domain name. For an edge-optimized API and its custom domain name, the endpoint type is `EDGE`. For a regional API and its custom domain name, the endpoint type is `REGIONAL`. For a private API, the endpoint type is `PRIVATE`. * */ @Import(name="types", required=true) private Output types; /** - * @return List of endpoint types. This resource currently only supports managing a single value. Valid values: `EDGE` or `REGIONAL`. If unspecified, defaults to `EDGE`. Must be declared as `REGIONAL` in non-Commercial partitions. Refer to the [documentation](https://docs.aws.amazon.com/apigateway/latest/developerguide/create-regional-api.html) for more information on the difference between edge-optimized and regional APIs. + * @return A list of endpoint types of an API or its custom domain name. For an edge-optimized API and its custom domain name, the endpoint type is `EDGE`. For a regional API and its custom domain name, the endpoint type is `REGIONAL`. For a private API, the endpoint type is `PRIVATE`. * */ public Output types() { @@ -54,7 +54,7 @@ public Builder(DomainNameEndpointConfigurationArgs defaults) { } /** - * @param types List of endpoint types. This resource currently only supports managing a single value. Valid values: `EDGE` or `REGIONAL`. If unspecified, defaults to `EDGE`. Must be declared as `REGIONAL` in non-Commercial partitions. Refer to the [documentation](https://docs.aws.amazon.com/apigateway/latest/developerguide/create-regional-api.html) for more information on the difference between edge-optimized and regional APIs. + * @param types A list of endpoint types of an API or its custom domain name. For an edge-optimized API and its custom domain name, the endpoint type is `EDGE`. For a regional API and its custom domain name, the endpoint type is `REGIONAL`. For a private API, the endpoint type is `PRIVATE`. * * @return builder * @@ -65,7 +65,7 @@ public Builder types(Output types) { } /** - * @param types List of endpoint types. This resource currently only supports managing a single value. Valid values: `EDGE` or `REGIONAL`. If unspecified, defaults to `EDGE`. Must be declared as `REGIONAL` in non-Commercial partitions. Refer to the [documentation](https://docs.aws.amazon.com/apigateway/latest/developerguide/create-regional-api.html) for more information on the difference between edge-optimized and regional APIs. + * @param types A list of endpoint types of an API or its custom domain name. For an edge-optimized API and its custom domain name, the endpoint type is `EDGE`. For a regional API and its custom domain name, the endpoint type is `REGIONAL`. For a private API, the endpoint type is `PRIVATE`. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/apigateway/inputs/DomainNameState.java b/sdk/java/src/main/java/com/pulumi/aws/apigateway/inputs/DomainNameState.java index b98fe60bb9d..595046677ea 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/apigateway/inputs/DomainNameState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/apigateway/inputs/DomainNameState.java @@ -168,6 +168,21 @@ public Optional> domainName() { return Optional.ofNullable(this.domainName); } + /** + * The identifier for the domain name resource. Supported only for private custom domain names. + * + */ + @Import(name="domainNameId") + private @Nullable Output domainNameId; + + /** + * @return The identifier for the domain name resource. Supported only for private custom domain names. + * + */ + public Optional> domainNameId() { + return Optional.ofNullable(this.domainNameId); + } + /** * Configuration block defining API endpoint information including type. See below. * @@ -213,6 +228,21 @@ public Optional> ownershipVerificationCertificateArn() { return Optional.ofNullable(this.ownershipVerificationCertificateArn); } + /** + * A stringified JSON policy document that applies to the execute-api service for this DomainName regardless of the caller and Method configuration. Supported only for private custom domain names. + * + */ + @Import(name="policy") + private @Nullable Output policy; + + /** + * @return A stringified JSON policy document that applies to the execute-api service for this DomainName regardless of the caller and Method configuration. Supported only for private custom domain names. + * + */ + public Optional> policy() { + return Optional.ofNullable(this.policy); + } + /** * ARN for an AWS-managed certificate. AWS Certificate Manager is the only supported source. Used when a regional domain name is desired. Conflicts with `certificate_arn`, `certificate_name`, `certificate_body`, `certificate_chain`, and `certificate_private_key`. * @@ -347,9 +377,11 @@ private DomainNameState(DomainNameState $) { this.cloudfrontDomainName = $.cloudfrontDomainName; this.cloudfrontZoneId = $.cloudfrontZoneId; this.domainName = $.domainName; + this.domainNameId = $.domainNameId; this.endpointConfiguration = $.endpointConfiguration; this.mutualTlsAuthentication = $.mutualTlsAuthentication; this.ownershipVerificationCertificateArn = $.ownershipVerificationCertificateArn; + this.policy = $.policy; this.regionalCertificateArn = $.regionalCertificateArn; this.regionalCertificateName = $.regionalCertificateName; this.regionalDomainName = $.regionalDomainName; @@ -587,6 +619,27 @@ public Builder domainName(String domainName) { return domainName(Output.of(domainName)); } + /** + * @param domainNameId The identifier for the domain name resource. Supported only for private custom domain names. + * + * @return builder + * + */ + public Builder domainNameId(@Nullable Output domainNameId) { + $.domainNameId = domainNameId; + return this; + } + + /** + * @param domainNameId The identifier for the domain name resource. Supported only for private custom domain names. + * + * @return builder + * + */ + public Builder domainNameId(String domainNameId) { + return domainNameId(Output.of(domainNameId)); + } + /** * @param endpointConfiguration Configuration block defining API endpoint information including type. See below. * @@ -650,6 +703,27 @@ public Builder ownershipVerificationCertificateArn(String ownershipVerificationC return ownershipVerificationCertificateArn(Output.of(ownershipVerificationCertificateArn)); } + /** + * @param policy A stringified JSON policy document that applies to the execute-api service for this DomainName regardless of the caller and Method configuration. Supported only for private custom domain names. + * + * @return builder + * + */ + public Builder policy(@Nullable Output policy) { + $.policy = policy; + return this; + } + + /** + * @param policy A stringified JSON policy document that applies to the execute-api service for this DomainName regardless of the caller and Method configuration. Supported only for private custom domain names. + * + * @return builder + * + */ + public Builder policy(String policy) { + return policy(Output.of(policy)); + } + /** * @param regionalCertificateArn ARN for an AWS-managed certificate. AWS Certificate Manager is the only supported source. Used when a regional domain name is desired. Conflicts with `certificate_arn`, `certificate_name`, `certificate_body`, `certificate_chain`, and `certificate_private_key`. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/apigateway/inputs/GetDomainNameArgs.java b/sdk/java/src/main/java/com/pulumi/aws/apigateway/inputs/GetDomainNameArgs.java index d3d64ce256d..ac3876d7bc8 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/apigateway/inputs/GetDomainNameArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/apigateway/inputs/GetDomainNameArgs.java @@ -32,6 +32,21 @@ public Output domainName() { return this.domainName; } + /** + * The identifier for the domain name resource. Supported only for private custom domain names. + * + */ + @Import(name="domainNameId") + private @Nullable Output domainNameId; + + /** + * @return The identifier for the domain name resource. Supported only for private custom domain names. + * + */ + public Optional> domainNameId() { + return Optional.ofNullable(this.domainNameId); + } + /** * Key-value map of tags for the resource. * @@ -51,6 +66,7 @@ private GetDomainNameArgs() {} private GetDomainNameArgs(GetDomainNameArgs $) { this.domainName = $.domainName; + this.domainNameId = $.domainNameId; this.tags = $.tags; } @@ -93,6 +109,27 @@ public Builder domainName(String domainName) { return domainName(Output.of(domainName)); } + /** + * @param domainNameId The identifier for the domain name resource. Supported only for private custom domain names. + * + * @return builder + * + */ + public Builder domainNameId(@Nullable Output domainNameId) { + $.domainNameId = domainNameId; + return this; + } + + /** + * @param domainNameId The identifier for the domain name resource. Supported only for private custom domain names. + * + * @return builder + * + */ + public Builder domainNameId(String domainNameId) { + return domainNameId(Output.of(domainNameId)); + } + /** * @param tags Key-value map of tags for the resource. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/apigateway/inputs/GetDomainNamePlainArgs.java b/sdk/java/src/main/java/com/pulumi/aws/apigateway/inputs/GetDomainNamePlainArgs.java index 2994d17994f..3fc36bf0596 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/apigateway/inputs/GetDomainNamePlainArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/apigateway/inputs/GetDomainNamePlainArgs.java @@ -31,6 +31,21 @@ public String domainName() { return this.domainName; } + /** + * The identifier for the domain name resource. Supported only for private custom domain names. + * + */ + @Import(name="domainNameId") + private @Nullable String domainNameId; + + /** + * @return The identifier for the domain name resource. Supported only for private custom domain names. + * + */ + public Optional domainNameId() { + return Optional.ofNullable(this.domainNameId); + } + /** * Key-value map of tags for the resource. * @@ -50,6 +65,7 @@ private GetDomainNamePlainArgs() {} private GetDomainNamePlainArgs(GetDomainNamePlainArgs $) { this.domainName = $.domainName; + this.domainNameId = $.domainNameId; this.tags = $.tags; } @@ -82,6 +98,17 @@ public Builder domainName(String domainName) { return this; } + /** + * @param domainNameId The identifier for the domain name resource. Supported only for private custom domain names. + * + * @return builder + * + */ + public Builder domainNameId(@Nullable String domainNameId) { + $.domainNameId = domainNameId; + return this; + } + /** * @param tags Key-value map of tags for the resource. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/apigateway/outputs/DomainNameEndpointConfiguration.java b/sdk/java/src/main/java/com/pulumi/aws/apigateway/outputs/DomainNameEndpointConfiguration.java index 337e6615876..99361befdb2 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/apigateway/outputs/DomainNameEndpointConfiguration.java +++ b/sdk/java/src/main/java/com/pulumi/aws/apigateway/outputs/DomainNameEndpointConfiguration.java @@ -11,14 +11,14 @@ @CustomType public final class DomainNameEndpointConfiguration { /** - * @return List of endpoint types. This resource currently only supports managing a single value. Valid values: `EDGE` or `REGIONAL`. If unspecified, defaults to `EDGE`. Must be declared as `REGIONAL` in non-Commercial partitions. Refer to the [documentation](https://docs.aws.amazon.com/apigateway/latest/developerguide/create-regional-api.html) for more information on the difference between edge-optimized and regional APIs. + * @return A list of endpoint types of an API or its custom domain name. For an edge-optimized API and its custom domain name, the endpoint type is `EDGE`. For a regional API and its custom domain name, the endpoint type is `REGIONAL`. For a private API, the endpoint type is `PRIVATE`. * */ private String types; private DomainNameEndpointConfiguration() {} /** - * @return List of endpoint types. This resource currently only supports managing a single value. Valid values: `EDGE` or `REGIONAL`. If unspecified, defaults to `EDGE`. Must be declared as `REGIONAL` in non-Commercial partitions. Refer to the [documentation](https://docs.aws.amazon.com/apigateway/latest/developerguide/create-regional-api.html) for more information on the difference between edge-optimized and regional APIs. + * @return A list of endpoint types of an API or its custom domain name. For an edge-optimized API and its custom domain name, the endpoint type is `EDGE`. For a regional API and its custom domain name, the endpoint type is `REGIONAL`. For a private API, the endpoint type is `PRIVATE`. * */ public String types() { diff --git a/sdk/java/src/main/java/com/pulumi/aws/apigateway/outputs/GetDomainNameResult.java b/sdk/java/src/main/java/com/pulumi/aws/apigateway/outputs/GetDomainNameResult.java index c6b08260faf..4cc4404120f 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/apigateway/outputs/GetDomainNameResult.java +++ b/sdk/java/src/main/java/com/pulumi/aws/apigateway/outputs/GetDomainNameResult.java @@ -44,6 +44,7 @@ public final class GetDomainNameResult { */ private String cloudfrontZoneId; private String domainName; + private String domainNameId; /** * @return List of objects with the endpoint configuration of this domain name. * @@ -54,6 +55,11 @@ public final class GetDomainNameResult { * */ private String id; + /** + * @return A stringified JSON policy document that applies to the execute-api service for this DomainName regardless of the caller and Method configuration. Supported only for private custom domain names. + * + */ + private String policy; /** * @return ARN for an AWS-managed certificate that is used for validating the regional domain name. * @@ -131,6 +137,9 @@ public String cloudfrontZoneId() { public String domainName() { return this.domainName; } + public String domainNameId() { + return this.domainNameId; + } /** * @return List of objects with the endpoint configuration of this domain name. * @@ -145,6 +154,13 @@ public List endpointConfigurations() { public String id() { return this.id; } + /** + * @return A stringified JSON policy document that applies to the execute-api service for this DomainName regardless of the caller and Method configuration. Supported only for private custom domain names. + * + */ + public String policy() { + return this.policy; + } /** * @return ARN for an AWS-managed certificate that is used for validating the regional domain name. * @@ -204,8 +220,10 @@ public static final class Builder { private String cloudfrontDomainName; private String cloudfrontZoneId; private String domainName; + private String domainNameId; private List endpointConfigurations; private String id; + private String policy; private String regionalCertificateArn; private String regionalCertificateName; private String regionalDomainName; @@ -222,8 +240,10 @@ public Builder(GetDomainNameResult defaults) { this.cloudfrontDomainName = defaults.cloudfrontDomainName; this.cloudfrontZoneId = defaults.cloudfrontZoneId; this.domainName = defaults.domainName; + this.domainNameId = defaults.domainNameId; this.endpointConfigurations = defaults.endpointConfigurations; this.id = defaults.id; + this.policy = defaults.policy; this.regionalCertificateArn = defaults.regionalCertificateArn; this.regionalCertificateName = defaults.regionalCertificateName; this.regionalDomainName = defaults.regionalDomainName; @@ -289,6 +309,14 @@ public Builder domainName(String domainName) { return this; } @CustomType.Setter + public Builder domainNameId(String domainNameId) { + if (domainNameId == null) { + throw new MissingRequiredPropertyException("GetDomainNameResult", "domainNameId"); + } + this.domainNameId = domainNameId; + return this; + } + @CustomType.Setter public Builder endpointConfigurations(List endpointConfigurations) { if (endpointConfigurations == null) { throw new MissingRequiredPropertyException("GetDomainNameResult", "endpointConfigurations"); @@ -308,6 +336,14 @@ public Builder id(String id) { return this; } @CustomType.Setter + public Builder policy(String policy) { + if (policy == null) { + throw new MissingRequiredPropertyException("GetDomainNameResult", "policy"); + } + this.policy = policy; + return this; + } + @CustomType.Setter public Builder regionalCertificateArn(String regionalCertificateArn) { if (regionalCertificateArn == null) { throw new MissingRequiredPropertyException("GetDomainNameResult", "regionalCertificateArn"); @@ -364,8 +400,10 @@ public GetDomainNameResult build() { _resultValue.cloudfrontDomainName = cloudfrontDomainName; _resultValue.cloudfrontZoneId = cloudfrontZoneId; _resultValue.domainName = domainName; + _resultValue.domainNameId = domainNameId; _resultValue.endpointConfigurations = endpointConfigurations; _resultValue.id = id; + _resultValue.policy = policy; _resultValue.regionalCertificateArn = regionalCertificateArn; _resultValue.regionalCertificateName = regionalCertificateName; _resultValue.regionalDomainName = regionalDomainName; diff --git a/sdk/java/src/main/java/com/pulumi/aws/apigatewayv2/Apigatewayv2Functions.java b/sdk/java/src/main/java/com/pulumi/aws/apigatewayv2/Apigatewayv2Functions.java index 0e5a834ad0c..e6d5ebb37e6 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/apigatewayv2/Apigatewayv2Functions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/apigatewayv2/Apigatewayv2Functions.java @@ -20,6 +20,7 @@ import com.pulumi.core.TypeShape; import com.pulumi.deployment.Deployment; import com.pulumi.deployment.InvokeOptions; +import com.pulumi.deployment.InvokeOutputOptions; import java.util.concurrent.CompletableFuture; public final class Apigatewayv2Functions { @@ -149,6 +150,48 @@ public static CompletableFuture getApiPlain(GetApiPlainArgs args) public static Output getApi(GetApiArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:apigatewayv2/getApi:getApi", TypeShape.of(GetApiResult.class), args, Utilities.withVersion(options)); } + /** + * Provides details about a specific Amazon API Gateway Version 2 API. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.apigatewayv2.Apigatewayv2Functions;
+     * import com.pulumi.aws.apigatewayv2.inputs.GetApiArgs;
+     * 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 = Apigatewayv2Functions.getApi(GetApiArgs.builder()
+     *             .apiId("aabbccddee")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getApi(GetApiArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:apigatewayv2/getApi:getApi", TypeShape.of(GetApiResult.class), args, Utilities.withVersion(options)); + } /** * Provides details about a specific Amazon API Gateway Version 2 API. * @@ -401,6 +444,48 @@ public static CompletableFuture getApisPlain(GetApisPlainArgs arg public static Output getApis(GetApisArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:apigatewayv2/getApis:getApis", TypeShape.of(GetApisResult.class), args, Utilities.withVersion(options)); } + /** + * Provides details about multiple Amazon API Gateway Version 2 APIs. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.apigatewayv2.Apigatewayv2Functions;
+     * import com.pulumi.aws.apigatewayv2.inputs.GetApisArgs;
+     * 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 = Apigatewayv2Functions.getApis(GetApisArgs.builder()
+     *             .protocolType("HTTP")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getApis(GetApisArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:apigatewayv2/getApis:getApis", TypeShape.of(GetApisResult.class), args, Utilities.withVersion(options)); + } /** * Provides details about multiple Amazon API Gateway Version 2 APIs. * @@ -575,6 +660,50 @@ public static CompletableFuture getExportPlain(GetExportPlainAr public static Output getExport(GetExportArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:apigatewayv2/getExport:getExport", TypeShape.of(GetExportResult.class), args, Utilities.withVersion(options)); } + /** + * Exports a definition of an API in a particular output format and specification. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.apigatewayv2.Apigatewayv2Functions;
+     * import com.pulumi.aws.apigatewayv2.inputs.GetExportArgs;
+     * 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 test = Apigatewayv2Functions.getExport(GetExportArgs.builder()
+     *             .apiId(testAwsApigatewayv2Route.apiId())
+     *             .specification("OAS30")
+     *             .outputType("JSON")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getExport(GetExportArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:apigatewayv2/getExport:getExport", TypeShape.of(GetExportResult.class), args, Utilities.withVersion(options)); + } /** * Exports a definition of an API in a particular output format and specification. * @@ -751,6 +880,50 @@ public static CompletableFuture getVpcLinkPlain(GetVpcLinkPlai public static Output getVpcLink(GetVpcLinkArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:apigatewayv2/getVpcLink:getVpcLink", TypeShape.of(GetVpcLinkResult.class), args, Utilities.withVersion(options)); } + /** + * Data source for managing an AWS API Gateway V2 VPC Link. + * + * ## Example Usage + * + * ### Basic Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.apigatewayv2.Apigatewayv2Functions;
+     * import com.pulumi.aws.apigatewayv2.inputs.GetVpcLinkArgs;
+     * 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 = Apigatewayv2Functions.getVpcLink(GetVpcLinkArgs.builder()
+     *             .vpcLinkId("example")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getVpcLink(GetVpcLinkArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:apigatewayv2/getVpcLink:getVpcLink", TypeShape.of(GetVpcLinkResult.class), args, Utilities.withVersion(options)); + } /** * Data source for managing an AWS API Gateway V2 VPC Link. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/appconfig/AppconfigFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/appconfig/AppconfigFunctions.java index 348c4241975..097e8713149 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/appconfig/AppconfigFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/appconfig/AppconfigFunctions.java @@ -20,6 +20,7 @@ import com.pulumi.core.TypeShape; import com.pulumi.deployment.Deployment; import com.pulumi.deployment.InvokeOptions; +import com.pulumi.deployment.InvokeOutputOptions; import java.util.concurrent.CompletableFuture; public final class AppconfigFunctions { @@ -158,6 +159,51 @@ public static CompletableFuture getConfigurationP public static Output getConfigurationProfile(GetConfigurationProfileArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:appconfig/getConfigurationProfile:getConfigurationProfile", TypeShape.of(GetConfigurationProfileResult.class), args, Utilities.withVersion(options)); } + /** + * Provides access to an AppConfig Configuration Profile. + * + * ## Example Usage + * + * ### Basic Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.appconfig.AppconfigFunctions;
+     * import com.pulumi.aws.appconfig.inputs.GetConfigurationProfileArgs;
+     * 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 = AppconfigFunctions.getConfigurationProfile(GetConfigurationProfileArgs.builder()
+     *             .applicationId("b5d5gpj")
+     *             .configurationProfileId("qrbb1c1")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getConfigurationProfile(GetConfigurationProfileArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:appconfig/getConfigurationProfile:getConfigurationProfile", TypeShape.of(GetConfigurationProfileResult.class), args, Utilities.withVersion(options)); + } /** * Provides access to an AppConfig Configuration Profile. * @@ -248,6 +294,21 @@ public static CompletableFuture getConfiguration public static Output getConfigurationProfiles(GetConfigurationProfilesArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:appconfig/getConfigurationProfiles:getConfigurationProfiles", TypeShape.of(GetConfigurationProfilesResult.class), args, Utilities.withVersion(options)); } + /** + * Provides access to all Configuration Properties for an AppConfig Application. This will allow you to pass Configuration + * Profile IDs to another resource. + * + * ## Example Usage + * + * ### Basic Usage + * + * <!--Start PulumiCodeChooser --> + * <!--End PulumiCodeChooser --> + * + */ + public static Output getConfigurationProfiles(GetConfigurationProfilesArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:appconfig/getConfigurationProfiles:getConfigurationProfiles", TypeShape.of(GetConfigurationProfilesResult.class), args, Utilities.withVersion(options)); + } /** * Provides access to all Configuration Properties for an AppConfig Application. This will allow you to pass Configuration * Profile IDs to another resource. @@ -398,6 +459,51 @@ public static CompletableFuture getEnvironmentPlain(GetEnv public static Output getEnvironment(GetEnvironmentArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:appconfig/getEnvironment:getEnvironment", TypeShape.of(GetEnvironmentResult.class), args, Utilities.withVersion(options)); } + /** + * Provides access to an AppConfig Environment. + * + * ## Example Usage + * + * ### Basic Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.appconfig.AppconfigFunctions;
+     * import com.pulumi.aws.appconfig.inputs.GetEnvironmentArgs;
+     * 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 = AppconfigFunctions.getEnvironment(GetEnvironmentArgs.builder()
+     *             .applicationId("b5d5gpj")
+     *             .environmentId("qrbb1c1")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getEnvironment(GetEnvironmentArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:appconfig/getEnvironment:getEnvironment", TypeShape.of(GetEnvironmentResult.class), args, Utilities.withVersion(options)); + } /** * Provides access to an AppConfig Environment. * @@ -578,6 +684,51 @@ public static CompletableFuture getEnvironmentsPlain(GetE public static Output getEnvironments(GetEnvironmentsArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:appconfig/getEnvironments:getEnvironments", TypeShape.of(GetEnvironmentsResult.class), args, Utilities.withVersion(options)); } + /** + * Provides access to all Environments for an AppConfig Application. This will allow you to pass Environment IDs to another + * resource. + * + * ## Example Usage + * + * ### Basic Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.appconfig.AppconfigFunctions;
+     * import com.pulumi.aws.appconfig.inputs.GetEnvironmentsArgs;
+     * 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 = AppconfigFunctions.getEnvironments(GetEnvironmentsArgs.builder()
+     *             .applicationId("a1d3rpe")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getEnvironments(GetEnvironmentsArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:appconfig/getEnvironments:getEnvironments", TypeShape.of(GetEnvironmentsResult.class), args, Utilities.withVersion(options)); + } /** * Provides access to all Environments for an AppConfig Application. This will allow you to pass Environment IDs to another * resource. diff --git a/sdk/java/src/main/java/com/pulumi/aws/appintegrations/AppintegrationsFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/appintegrations/AppintegrationsFunctions.java index 539f9189ee4..5bc5872ee18 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/appintegrations/AppintegrationsFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/appintegrations/AppintegrationsFunctions.java @@ -11,6 +11,7 @@ import com.pulumi.core.TypeShape; import com.pulumi.deployment.Deployment; import com.pulumi.deployment.InvokeOptions; +import com.pulumi.deployment.InvokeOutputOptions; import java.util.concurrent.CompletableFuture; public final class AppintegrationsFunctions { @@ -140,6 +141,48 @@ public static CompletableFuture getEventIntegrationPl public static Output getEventIntegration(GetEventIntegrationArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:appintegrations/getEventIntegration:getEventIntegration", TypeShape.of(GetEventIntegrationResult.class), args, Utilities.withVersion(options)); } + /** + * Use this data source to get information on an existing AppIntegrations Event Integration. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.appintegrations.AppintegrationsFunctions;
+     * import com.pulumi.aws.appintegrations.inputs.GetEventIntegrationArgs;
+     * 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 = AppintegrationsFunctions.getEventIntegration(GetEventIntegrationArgs.builder()
+     *             .name("example")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getEventIntegration(GetEventIntegrationArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:appintegrations/getEventIntegration:getEventIntegration", TypeShape.of(GetEventIntegrationResult.class), args, Utilities.withVersion(options)); + } /** * Use this data source to get information on an existing AppIntegrations Event Integration. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/AppmeshFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/AppmeshFunctions.java index f91df50b0b3..03b773a5084 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/appmesh/AppmeshFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/AppmeshFunctions.java @@ -29,6 +29,7 @@ import com.pulumi.core.TypeShape; import com.pulumi.deployment.Deployment; import com.pulumi.deployment.InvokeOptions; +import com.pulumi.deployment.InvokeOutputOptions; import java.util.concurrent.CompletableFuture; public final class AppmeshFunctions { @@ -164,6 +165,50 @@ public static CompletableFuture getGatewayRoutePlain(GetG public static Output getGatewayRoute(GetGatewayRouteArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:appmesh/getGatewayRoute:getGatewayRoute", TypeShape.of(GetGatewayRouteResult.class), args, Utilities.withVersion(options)); } + /** + * The App Mesh Gateway Route data source allows details of an App Mesh Gateway Route to be retrieved by its name, mesh_name, virtual_gateway_name, and optionally the mesh_owner. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.appmesh.AppmeshFunctions;
+     * import com.pulumi.aws.appmesh.inputs.GetGatewayRouteArgs;
+     * 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 test = AppmeshFunctions.getGatewayRoute(GetGatewayRouteArgs.builder()
+     *             .name("test-route")
+     *             .meshName("test-mesh")
+     *             .virtualGatewayName("test-gateway")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getGatewayRoute(GetGatewayRouteArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:appmesh/getGatewayRoute:getGatewayRoute", TypeShape.of(GetGatewayRouteResult.class), args, Utilities.withVersion(options)); + } /** * The App Mesh Gateway Route data source allows details of an App Mesh Gateway Route to be retrieved by its name, mesh_name, virtual_gateway_name, and optionally the mesh_owner. * @@ -448,6 +493,86 @@ public static CompletableFuture getMeshPlain(GetMeshPlainArgs arg public static Output getMesh(GetMeshArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:appmesh/getMesh:getMesh", TypeShape.of(GetMeshResult.class), args, Utilities.withVersion(options)); } + /** + * The App Mesh Mesh data source allows details of an App Mesh Mesh to be retrieved by its name and optionally the mesh_owner. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.appmesh.AppmeshFunctions;
+     * import com.pulumi.aws.appmesh.inputs.GetMeshArgs;
+     * 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 simple = AppmeshFunctions.getMesh(GetMeshArgs.builder()
+     *             .name("simpleapp")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.AwsFunctions;
+     * import com.pulumi.aws.inputs.GetCallerIdentityArgs;
+     * import com.pulumi.aws.appmesh.AppmeshFunctions;
+     * import com.pulumi.aws.appmesh.inputs.GetMeshArgs;
+     * 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 current = AwsFunctions.getCallerIdentity();
+     * 
+     *         final var simple = AppmeshFunctions.getMesh(GetMeshArgs.builder()
+     *             .name("simpleapp")
+     *             .meshOwner(current.applyValue(getCallerIdentityResult -> getCallerIdentityResult.accountId()))
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getMesh(GetMeshArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:appmesh/getMesh:getMesh", TypeShape.of(GetMeshResult.class), args, Utilities.withVersion(options)); + } /** * The App Mesh Mesh data source allows details of an App Mesh Mesh to be retrieved by its name and optionally the mesh_owner. * @@ -660,6 +785,50 @@ public static CompletableFuture getRoutePlain(GetRoutePlainArgs public static Output getRoute(GetRouteArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:appmesh/getRoute:getRoute", TypeShape.of(GetRouteResult.class), args, Utilities.withVersion(options)); } + /** + * The App Mesh Route data source allows details of an App Mesh Route to be retrieved by its name, mesh_name, virtual_router_name, and optionally the mesh_owner. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.appmesh.AppmeshFunctions;
+     * import com.pulumi.aws.appmesh.inputs.GetVirtualServiceArgs;
+     * 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 test = AppmeshFunctions.getVirtualService(GetVirtualServiceArgs.builder()
+     *             .name("test-route")
+     *             .meshName("test-mesh")
+     *             .virtualRouterName("test-router")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getRoute(GetRouteArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:appmesh/getRoute:getRoute", TypeShape.of(GetRouteResult.class), args, Utilities.withVersion(options)); + } /** * The App Mesh Route data source allows details of an App Mesh Route to be retrieved by its name, mesh_name, virtual_router_name, and optionally the mesh_owner. * @@ -956,6 +1125,90 @@ public static CompletableFuture getVirtualGatewayPlain( public static Output getVirtualGateway(GetVirtualGatewayArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:appmesh/getVirtualGateway:getVirtualGateway", TypeShape.of(GetVirtualGatewayResult.class), args, Utilities.withVersion(options)); } + /** + * Data source for managing an AWS App Mesh Virtual Gateway. + * + * ## Example Usage + * + * ### Basic Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.appmesh.AppmeshFunctions;
+     * import com.pulumi.aws.appmesh.inputs.GetVirtualGatewayArgs;
+     * 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 = AppmeshFunctions.getVirtualGateway(GetVirtualGatewayArgs.builder()
+     *             .meshName("mesh-gateway")
+     *             .name("example-mesh")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.AwsFunctions;
+     * import com.pulumi.aws.inputs.GetCallerIdentityArgs;
+     * import com.pulumi.aws.appmesh.AppmeshFunctions;
+     * import com.pulumi.aws.appmesh.inputs.GetVirtualGatewayArgs;
+     * 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 current = AwsFunctions.getCallerIdentity();
+     * 
+     *         final var test = AppmeshFunctions.getVirtualGateway(GetVirtualGatewayArgs.builder()
+     *             .name("example.mesh.local")
+     *             .meshName("example-mesh")
+     *             .meshOwner(current.applyValue(getCallerIdentityResult -> getCallerIdentityResult.accountId()))
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getVirtualGateway(GetVirtualGatewayArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:appmesh/getVirtualGateway:getVirtualGateway", TypeShape.of(GetVirtualGatewayResult.class), args, Utilities.withVersion(options)); + } /** * Data source for managing an AWS App Mesh Virtual Gateway. * @@ -1169,6 +1422,49 @@ public static CompletableFuture getVirtualNodePlain(GetVir public static Output getVirtualNode(GetVirtualNodeArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:appmesh/getVirtualNode:getVirtualNode", TypeShape.of(GetVirtualNodeResult.class), args, Utilities.withVersion(options)); } + /** + * Data source for managing an AWS App Mesh Virtual Node. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.appmesh.AppmeshFunctions;
+     * import com.pulumi.aws.appmesh.inputs.GetVirtualNodeArgs;
+     * 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 test = AppmeshFunctions.getVirtualNode(GetVirtualNodeArgs.builder()
+     *             .name("serviceBv1")
+     *             .meshName("example-mesh")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getVirtualNode(GetVirtualNodeArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:appmesh/getVirtualNode:getVirtualNode", TypeShape.of(GetVirtualNodeResult.class), args, Utilities.withVersion(options)); + } /** * Data source for managing an AWS App Mesh Virtual Node. * @@ -1341,6 +1637,49 @@ public static CompletableFuture getVirtualRouterPlain(Ge public static Output getVirtualRouter(GetVirtualRouterArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:appmesh/getVirtualRouter:getVirtualRouter", TypeShape.of(GetVirtualRouterResult.class), args, Utilities.withVersion(options)); } + /** + * The App Mesh Virtual Router data source allows details of an App Mesh Virtual Service to be retrieved by its name and mesh_name. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.appmesh.AppmeshFunctions;
+     * import com.pulumi.aws.appmesh.inputs.GetVirtualRouterArgs;
+     * 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 test = AppmeshFunctions.getVirtualRouter(GetVirtualRouterArgs.builder()
+     *             .name("example-router-name")
+     *             .meshName("example-mesh-name")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getVirtualRouter(GetVirtualRouterArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:appmesh/getVirtualRouter:getVirtualRouter", TypeShape.of(GetVirtualRouterResult.class), args, Utilities.withVersion(options)); + } /** * The App Mesh Virtual Router data source allows details of an App Mesh Virtual Service to be retrieved by its name and mesh_name. * @@ -1630,6 +1969,88 @@ public static CompletableFuture getVirtualServicePlain( public static Output getVirtualService(GetVirtualServiceArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:appmesh/getVirtualService:getVirtualService", TypeShape.of(GetVirtualServiceResult.class), args, Utilities.withVersion(options)); } + /** + * The App Mesh Virtual Service data source allows details of an App Mesh Virtual Service to be retrieved by its name, mesh_name, and optionally the mesh_owner. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.appmesh.AppmeshFunctions;
+     * import com.pulumi.aws.appmesh.inputs.GetVirtualServiceArgs;
+     * 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 test = AppmeshFunctions.getVirtualService(GetVirtualServiceArgs.builder()
+     *             .name("example.mesh.local")
+     *             .meshName("example-mesh")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.AwsFunctions;
+     * import com.pulumi.aws.inputs.GetCallerIdentityArgs;
+     * import com.pulumi.aws.appmesh.AppmeshFunctions;
+     * import com.pulumi.aws.appmesh.inputs.GetVirtualServiceArgs;
+     * 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 current = AwsFunctions.getCallerIdentity();
+     * 
+     *         final var test = AppmeshFunctions.getVirtualService(GetVirtualServiceArgs.builder()
+     *             .name("example.mesh.local")
+     *             .meshName("example-mesh")
+     *             .meshOwner(current.applyValue(getCallerIdentityResult -> getCallerIdentityResult.accountId()))
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getVirtualService(GetVirtualServiceArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:appmesh/getVirtualService:getVirtualService", TypeShape.of(GetVirtualServiceResult.class), args, Utilities.withVersion(options)); + } /** * The App Mesh Virtual Service data source allows details of an App Mesh Virtual Service to be retrieved by its name, mesh_name, and optionally the mesh_owner. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/apprunner/ApprunnerFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/apprunner/ApprunnerFunctions.java index cbd22be4178..8758cc028a6 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/apprunner/ApprunnerFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/apprunner/ApprunnerFunctions.java @@ -11,6 +11,7 @@ import com.pulumi.core.TypeShape; import com.pulumi.deployment.Deployment; import com.pulumi.deployment.InvokeOptions; +import com.pulumi.deployment.InvokeOutputOptions; import java.util.concurrent.CompletableFuture; public final class ApprunnerFunctions { @@ -289,6 +290,61 @@ public static CompletableFuture getHostedZoneIdPlain(GetH public static Output getHostedZoneId(GetHostedZoneIdArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:apprunner/getHostedZoneId:getHostedZoneId", TypeShape.of(GetHostedZoneIdResult.class), args, Utilities.withVersion(options)); } + /** + * Use this data source to get the HostedZoneId of an AWS App Runner service deployed + * in a given region for the purpose of using it in an AWS Route53 Alias record. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.apprunner.ApprunnerFunctions;
+     * import com.pulumi.aws.apprunner.inputs.GetHostedZoneIdArgs;
+     * import com.pulumi.aws.route53.Record;
+     * import com.pulumi.aws.route53.RecordArgs;
+     * import com.pulumi.aws.route53.inputs.RecordAliasArgs;
+     * 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 main = ApprunnerFunctions.getHostedZoneId();
+     * 
+     *         var www = new Record("www", RecordArgs.builder()
+     *             .zoneId(primary.zoneId())
+     *             .name("example.com")
+     *             .type("A")
+     *             .aliases(RecordAliasArgs.builder()
+     *                 .name(mainAwsApprunnerCustomDomainAssociation.dnsTarget())
+     *                 .zoneId(main.applyValue(getHostedZoneIdResult -> getHostedZoneIdResult.id()))
+     *                 .evaluateTargetHealth(true)
+     *                 .build())
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getHostedZoneId(GetHostedZoneIdArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:apprunner/getHostedZoneId:getHostedZoneId", TypeShape.of(GetHostedZoneIdResult.class), args, Utilities.withVersion(options)); + } /** * Use this data source to get the HostedZoneId of an AWS App Runner service deployed * in a given region for the purpose of using it in an AWS Route53 Alias record. diff --git a/sdk/java/src/main/java/com/pulumi/aws/appstream/AppstreamFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/appstream/AppstreamFunctions.java index a34e2cccec4..e80a1fb6d0f 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/appstream/AppstreamFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/appstream/AppstreamFunctions.java @@ -11,6 +11,7 @@ import com.pulumi.core.TypeShape; import com.pulumi.deployment.Deployment; import com.pulumi.deployment.InvokeOptions; +import com.pulumi.deployment.InvokeOutputOptions; import java.util.concurrent.CompletableFuture; public final class AppstreamFunctions { @@ -49,6 +50,13 @@ public static CompletableFuture getImagePlain(GetImagePlainArgs public static Output getImage(GetImageArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:appstream/getImage:getImage", TypeShape.of(GetImageResult.class), args, Utilities.withVersion(options)); } + /** + * Data source for managing an AWS AppStream 2.0 Image. + * + */ + public static Output getImage(GetImageArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:appstream/getImage:getImage", TypeShape.of(GetImageResult.class), args, Utilities.withVersion(options)); + } /** * Data source for managing an AWS AppStream 2.0 Image. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/athena/AthenaFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/athena/AthenaFunctions.java index c300ac570bf..4bed094d7fa 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/athena/AthenaFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/athena/AthenaFunctions.java @@ -11,6 +11,7 @@ import com.pulumi.core.TypeShape; import com.pulumi.deployment.Deployment; import com.pulumi.deployment.InvokeOptions; +import com.pulumi.deployment.InvokeOutputOptions; import java.util.concurrent.CompletableFuture; public final class AthenaFunctions { @@ -140,6 +141,48 @@ public static CompletableFuture getNamedQueryPlain(GetNamed public static Output getNamedQuery(GetNamedQueryArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:athena/getNamedQuery:getNamedQuery", TypeShape.of(GetNamedQueryResult.class), args, Utilities.withVersion(options)); } + /** + * Provides an Athena Named Query data source. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.athena.AthenaFunctions;
+     * import com.pulumi.aws.athena.inputs.GetNamedQueryArgs;
+     * 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 = AthenaFunctions.getNamedQuery(GetNamedQueryArgs.builder()
+     *             .name("athenaQueryName")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getNamedQuery(GetNamedQueryArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:athena/getNamedQuery:getNamedQuery", TypeShape.of(GetNamedQueryResult.class), args, Utilities.withVersion(options)); + } /** * Provides an Athena Named Query data source. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/auditmanager/AuditmanagerFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/auditmanager/AuditmanagerFunctions.java index a8a97654030..043c0084af2 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/auditmanager/AuditmanagerFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/auditmanager/AuditmanagerFunctions.java @@ -14,6 +14,7 @@ import com.pulumi.core.TypeShape; import com.pulumi.deployment.Deployment; import com.pulumi.deployment.InvokeOptions; +import com.pulumi.deployment.InvokeOutputOptions; import java.util.concurrent.CompletableFuture; public final class AuditmanagerFunctions { @@ -438,6 +439,112 @@ public static Output getControl(GetControlArgs args, InvokeOpt * <!--End PulumiCodeChooser --> * */ + public static Output getControl(GetControlArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:auditmanager/getControl:getControl", TypeShape.of(GetControlResult.class), args, Utilities.withVersion(options)); + } + /** + * Data source for managing an AWS Audit Manager Control. + * + * ## Example Usage + * + * ### Basic Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.auditmanager.AuditmanagerFunctions;
+     * import com.pulumi.aws.auditmanager.inputs.GetControlArgs;
+     * 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 = AuditmanagerFunctions.getControl(GetControlArgs.builder()
+     *             .name("1. Risk Management")
+     *             .type("Standard")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + * ### With Framework Resource + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.auditmanager.AuditmanagerFunctions;
+     * import com.pulumi.aws.auditmanager.inputs.GetControlArgs;
+     * import com.pulumi.aws.auditmanager.Framework;
+     * import com.pulumi.aws.auditmanager.FrameworkArgs;
+     * import com.pulumi.aws.auditmanager.inputs.FrameworkControlSetArgs;
+     * 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 = AuditmanagerFunctions.getControl(GetControlArgs.builder()
+     *             .name("1. Risk Management")
+     *             .type("Standard")
+     *             .build());
+     * 
+     *         final var example2 = AuditmanagerFunctions.getControl(GetControlArgs.builder()
+     *             .name("2. Personnel")
+     *             .type("Standard")
+     *             .build());
+     * 
+     *         var exampleFramework = new Framework("exampleFramework", FrameworkArgs.builder()
+     *             .name("example")
+     *             .controlSets(            
+     *                 FrameworkControlSetArgs.builder()
+     *                     .name("example")
+     *                     .controls(FrameworkControlSetControlArgs.builder()
+     *                         .id(example.applyValue(getControlResult -> getControlResult.id()))
+     *                         .build())
+     *                     .build(),
+     *                 FrameworkControlSetArgs.builder()
+     *                     .name("example2")
+     *                     .controls(FrameworkControlSetControlArgs.builder()
+     *                         .id(example2.applyValue(getControlResult -> getControlResult.id()))
+     *                         .build())
+     *                     .build())
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ public static CompletableFuture getControlPlain(GetControlPlainArgs args, InvokeOptions options) { return Deployment.getInstance().invokeAsync("aws:auditmanager/getControl:getControl", TypeShape.of(GetControlResult.class), args, Utilities.withVersion(options)); } @@ -576,6 +683,51 @@ public static CompletableFuture getFrameworkPlain(GetFramewo public static Output getFramework(GetFrameworkArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:auditmanager/getFramework:getFramework", TypeShape.of(GetFrameworkResult.class), args, Utilities.withVersion(options)); } + /** + * Data source for managing an AWS Audit Manager Framework. + * + * ## Example Usage + * + * ### Basic Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.auditmanager.AuditmanagerFunctions;
+     * import com.pulumi.aws.auditmanager.inputs.GetFrameworkArgs;
+     * 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 = AuditmanagerFunctions.getFramework(GetFrameworkArgs.builder()
+     *             .name("Essential Eight")
+     *             .frameworkType("Standard")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getFramework(GetFrameworkArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:auditmanager/getFramework:getFramework", TypeShape.of(GetFrameworkResult.class), args, Utilities.withVersion(options)); + } /** * Data source for managing an AWS Audit Manager Framework. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/autoscaling/AutoscalingFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/autoscaling/AutoscalingFunctions.java index ae9bf97f5c3..0896949903d 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/autoscaling/AutoscalingFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/autoscaling/AutoscalingFunctions.java @@ -14,6 +14,7 @@ import com.pulumi.core.TypeShape; import com.pulumi.deployment.Deployment; import com.pulumi.deployment.InvokeOptions; +import com.pulumi.deployment.InvokeOutputOptions; import java.util.concurrent.CompletableFuture; public final class AutoscalingFunctions { @@ -332,6 +333,69 @@ public static CompletableFuture getAmiIdsPlain(GetAmiIdsPlainAr public static Output getAmiIds(GetAmiIdsArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:autoscaling/getAmiIds:getAmiIds", TypeShape.of(GetAmiIdsResult.class), args, Utilities.withVersion(options)); } + /** + * The Autoscaling Groups data source allows access to the list of AWS + * ASGs within a specific region. This will allow you to pass a list of AutoScaling Groups to other resources. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.autoscaling.AutoscalingFunctions;
+     * import com.pulumi.aws.autoscaling.inputs.GetAmiIdsArgs;
+     * import com.pulumi.aws.autoscaling.Notification;
+     * import com.pulumi.aws.autoscaling.NotificationArgs;
+     * 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 groups = AutoscalingFunctions.getAmiIds(GetAmiIdsArgs.builder()
+     *             .filters(            
+     *                 GetAmiIdsFilterArgs.builder()
+     *                     .name("tag:Team")
+     *                     .values("Pets")
+     *                     .build(),
+     *                 GetAmiIdsFilterArgs.builder()
+     *                     .name("tag-key")
+     *                     .values("Environment")
+     *                     .build())
+     *             .build());
+     * 
+     *         var slackNotifications = new Notification("slackNotifications", NotificationArgs.builder()
+     *             .groupNames(groups.applyValue(getAmiIdsResult -> getAmiIdsResult.names()))
+     *             .notifications(            
+     *                 "autoscaling:EC2_INSTANCE_LAUNCH",
+     *                 "autoscaling:EC2_INSTANCE_TERMINATE",
+     *                 "autoscaling:EC2_INSTANCE_LAUNCH_ERROR",
+     *                 "autoscaling:EC2_INSTANCE_TERMINATE_ERROR")
+     *             .topicArn("TOPIC ARN")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getAmiIds(GetAmiIdsArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:autoscaling/getAmiIds:getAmiIds", TypeShape.of(GetAmiIdsResult.class), args, Utilities.withVersion(options)); + } /** * The Autoscaling Groups data source allows access to the list of AWS * ASGs within a specific region. This will allow you to pass a list of AutoScaling Groups to other resources. @@ -521,6 +585,48 @@ public static CompletableFuture getGroupPlain(GetGroupPlainArgs public static Output getGroup(GetGroupArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:autoscaling/getGroup:getGroup", TypeShape.of(GetGroupResult.class), args, Utilities.withVersion(options)); } + /** + * Use this data source to get information on an existing autoscaling group. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.autoscaling.AutoscalingFunctions;
+     * import com.pulumi.aws.autoscaling.inputs.GetGroupArgs;
+     * 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 foo = AutoscalingFunctions.getGroup(GetGroupArgs.builder()
+     *             .name("foo")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getGroup(GetGroupArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:autoscaling/getGroup:getGroup", TypeShape.of(GetGroupResult.class), args, Utilities.withVersion(options)); + } /** * Use this data source to get information on an existing autoscaling group. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/backup/BackupFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/backup/BackupFunctions.java index 0c3708a81c0..6d0e637755b 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/backup/BackupFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/backup/BackupFunctions.java @@ -23,6 +23,7 @@ import com.pulumi.core.TypeShape; import com.pulumi.deployment.Deployment; import com.pulumi.deployment.InvokeOptions; +import com.pulumi.deployment.InvokeOutputOptions; import java.util.concurrent.CompletableFuture; public final class BackupFunctions { @@ -152,6 +153,48 @@ public static CompletableFuture getFrameworkPlain(GetFramewo public static Output getFramework(GetFrameworkArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:backup/getFramework:getFramework", TypeShape.of(GetFrameworkResult.class), args, Utilities.withVersion(options)); } + /** + * Use this data source to get information on an existing backup framework. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.backup.BackupFunctions;
+     * import com.pulumi.aws.backup.inputs.GetFrameworkArgs;
+     * 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 = BackupFunctions.getFramework(GetFrameworkArgs.builder()
+     *             .name("my_example_backup_framework_name")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getFramework(GetFrameworkArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:backup/getFramework:getFramework", TypeShape.of(GetFrameworkResult.class), args, Utilities.withVersion(options)); + } /** * Use this data source to get information on an existing backup framework. * @@ -320,6 +363,48 @@ public static CompletableFuture getPlanPlain(GetPlanPlainArgs arg public static Output getPlan(GetPlanArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:backup/getPlan:getPlan", TypeShape.of(GetPlanResult.class), args, Utilities.withVersion(options)); } + /** + * Use this data source to get information on an existing backup plan. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.backup.BackupFunctions;
+     * import com.pulumi.aws.backup.inputs.GetPlanArgs;
+     * 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 = BackupFunctions.getPlan(GetPlanArgs.builder()
+     *             .planId("my_example_backup_plan_id")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getPlan(GetPlanArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:backup/getPlan:getPlan", TypeShape.of(GetPlanResult.class), args, Utilities.withVersion(options)); + } /** * Use this data source to get information on an existing backup plan. * @@ -488,6 +573,48 @@ public static CompletableFuture getReportPlanPlain(GetRepor public static Output getReportPlan(GetReportPlanArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:backup/getReportPlan:getReportPlan", TypeShape.of(GetReportPlanResult.class), args, Utilities.withVersion(options)); } + /** + * Use this data source to get information on an existing backup report plan. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.backup.BackupFunctions;
+     * import com.pulumi.aws.backup.inputs.GetReportPlanArgs;
+     * 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 = BackupFunctions.getReportPlan(GetReportPlanArgs.builder()
+     *             .name("my_example_backup_report_plan_name")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getReportPlan(GetReportPlanArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:backup/getReportPlan:getReportPlan", TypeShape.of(GetReportPlanResult.class), args, Utilities.withVersion(options)); + } /** * Use this data source to get information on an existing backup report plan. * @@ -659,6 +786,49 @@ public static CompletableFuture getSelectionPlain(GetSelecti public static Output getSelection(GetSelectionArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:backup/getSelection:getSelection", TypeShape.of(GetSelectionResult.class), args, Utilities.withVersion(options)); } + /** + * Use this data source to get information on an existing backup selection. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.backup.BackupFunctions;
+     * import com.pulumi.aws.backup.inputs.GetSelectionArgs;
+     * 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 = BackupFunctions.getSelection(GetSelectionArgs.builder()
+     *             .planId(exampleAwsBackupPlan.id())
+     *             .selectionId("selection-id-example")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getSelection(GetSelectionArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:backup/getSelection:getSelection", TypeShape.of(GetSelectionResult.class), args, Utilities.withVersion(options)); + } /** * Use this data source to get information on an existing backup selection. * @@ -828,6 +998,48 @@ public static CompletableFuture getVaultPlain(GetVaultPlainArgs public static Output getVault(GetVaultArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:backup/getVault:getVault", TypeShape.of(GetVaultResult.class), args, Utilities.withVersion(options)); } + /** + * Use this data source to get information on an existing backup vault. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.backup.BackupFunctions;
+     * import com.pulumi.aws.backup.inputs.GetVaultArgs;
+     * 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 = BackupFunctions.getVault(GetVaultArgs.builder()
+     *             .name("example_backup_vault")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getVault(GetVaultArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:backup/getVault:getVault", TypeShape.of(GetVaultResult.class), args, Utilities.withVersion(options)); + } /** * Use this data source to get information on an existing backup vault. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/batch/BatchFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/batch/BatchFunctions.java index 0f1b29d8c1a..c4593dfd1db 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/batch/BatchFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/batch/BatchFunctions.java @@ -20,6 +20,7 @@ import com.pulumi.core.TypeShape; import com.pulumi.deployment.Deployment; import com.pulumi.deployment.InvokeOptions; +import com.pulumi.deployment.InvokeOutputOptions; import java.util.concurrent.CompletableFuture; public final class BatchFunctions { @@ -152,6 +153,49 @@ public static CompletableFuture getComputeEnvironme public static Output getComputeEnvironment(GetComputeEnvironmentArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:batch/getComputeEnvironment:getComputeEnvironment", TypeShape.of(GetComputeEnvironmentResult.class), args, Utilities.withVersion(options)); } + /** + * The Batch Compute Environment data source allows access to details of a specific + * compute environment within AWS Batch. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.batch.BatchFunctions;
+     * import com.pulumi.aws.batch.inputs.GetComputeEnvironmentArgs;
+     * 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 batch-mongo = BatchFunctions.getComputeEnvironment(GetComputeEnvironmentArgs.builder()
+     *             .computeEnvironmentName("batch-mongo-production")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getComputeEnvironment(GetComputeEnvironmentArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:batch/getComputeEnvironment:getComputeEnvironment", TypeShape.of(GetComputeEnvironmentResult.class), args, Utilities.withVersion(options)); + } /** * The Batch Compute Environment data source allows access to details of a specific * compute environment within AWS Batch. @@ -595,6 +639,86 @@ public static CompletableFuture getJobDefinitionPlain(Ge public static Output getJobDefinition(GetJobDefinitionArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:batch/getJobDefinition:getJobDefinition", TypeShape.of(GetJobDefinitionResult.class), args, Utilities.withVersion(options)); } + /** + * Data source for managing an AWS Batch Job Definition. + * + * ## Example Usage + * + * ### Lookup via Arn + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.batch.BatchFunctions;
+     * import com.pulumi.aws.batch.inputs.GetJobDefinitionArgs;
+     * 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 arn = BatchFunctions.getJobDefinition(GetJobDefinitionArgs.builder()
+     *             .arn("arn:aws:batch:us-east-1:012345678910:job-definition/example")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + * ### Lookup via Name + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.batch.BatchFunctions;
+     * import com.pulumi.aws.batch.inputs.GetJobDefinitionArgs;
+     * 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 name = BatchFunctions.getJobDefinition(GetJobDefinitionArgs.builder()
+     *             .name("example")
+     *             .revision(2)
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getJobDefinition(GetJobDefinitionArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:batch/getJobDefinition:getJobDefinition", TypeShape.of(GetJobDefinitionResult.class), args, Utilities.withVersion(options)); + } /** * Data source for managing an AWS Batch Job Definition. * @@ -804,6 +928,49 @@ public static CompletableFuture getJobQueuePlain(GetJobQueueP public static Output getJobQueue(GetJobQueueArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:batch/getJobQueue:getJobQueue", TypeShape.of(GetJobQueueResult.class), args, Utilities.withVersion(options)); } + /** + * The Batch Job Queue data source allows access to details of a specific + * job queue within AWS Batch. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.batch.BatchFunctions;
+     * import com.pulumi.aws.batch.inputs.GetJobQueueArgs;
+     * 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 test-queue = BatchFunctions.getJobQueue(GetJobQueueArgs.builder()
+     *             .name("tf-test-batch-job-queue")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getJobQueue(GetJobQueueArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:batch/getJobQueue:getJobQueue", TypeShape.of(GetJobQueueResult.class), args, Utilities.withVersion(options)); + } /** * The Batch Job Queue data source allows access to details of a specific * job queue within AWS Batch. @@ -973,6 +1140,48 @@ public static CompletableFuture getSchedulingPolicyPl public static Output getSchedulingPolicy(GetSchedulingPolicyArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:batch/getSchedulingPolicy:getSchedulingPolicy", TypeShape.of(GetSchedulingPolicyResult.class), args, Utilities.withVersion(options)); } + /** + * The Batch Scheduling Policy data source allows access to details of a specific Scheduling Policy within AWS Batch. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.batch.BatchFunctions;
+     * import com.pulumi.aws.batch.inputs.GetSchedulingPolicyArgs;
+     * 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 test = BatchFunctions.getSchedulingPolicy(GetSchedulingPolicyArgs.builder()
+     *             .arn("arn:aws:batch:us-east-1:012345678910:scheduling-policy/example")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getSchedulingPolicy(GetSchedulingPolicyArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:batch/getSchedulingPolicy:getSchedulingPolicy", TypeShape.of(GetSchedulingPolicyResult.class), args, Utilities.withVersion(options)); + } /** * The Batch Scheduling Policy data source allows access to details of a specific Scheduling Policy within AWS Batch. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/bedrock/BedrockFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/bedrock/BedrockFunctions.java index 76216656d78..6e446bef834 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/bedrock/BedrockFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/bedrock/BedrockFunctions.java @@ -19,6 +19,7 @@ import com.pulumi.core.TypeShape; import com.pulumi.deployment.Deployment; import com.pulumi.deployment.InvokeOptions; +import com.pulumi.deployment.InvokeOutputOptions; import com.pulumi.resources.InvokeArgs; import java.util.concurrent.CompletableFuture; @@ -155,6 +156,50 @@ public static CompletableFuture getAgentAgentVersio public static Output getAgentAgentVersions(GetAgentAgentVersionsArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:bedrock/getAgentAgentVersions:getAgentAgentVersions", TypeShape.of(GetAgentAgentVersionsResult.class), args, Utilities.withVersion(options)); } + /** + * Data source for managing an AWS Amazon BedrockAgent Agent Versions. + * + * ## Example Usage + * + * ### Basic Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.bedrock.BedrockFunctions;
+     * import com.pulumi.aws.bedrock.inputs.GetAgentAgentVersionsArgs;
+     * 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 test = BedrockFunctions.getAgentAgentVersions(GetAgentAgentVersionsArgs.builder()
+     *             .agentId(testAwsBedrockagentAgent.agentId())
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getAgentAgentVersions(GetAgentAgentVersionsArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:bedrock/getAgentAgentVersions:getAgentAgentVersions", TypeShape.of(GetAgentAgentVersionsResult.class), args, Utilities.withVersion(options)); + } /** * Data source for managing an AWS Amazon BedrockAgent Agent Versions. * @@ -325,6 +370,48 @@ public static CompletableFuture getCustomModelPlain(GetCus public static Output getCustomModel(GetCustomModelArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:bedrock/getCustomModel:getCustomModel", TypeShape.of(GetCustomModelResult.class), args, Utilities.withVersion(options)); } + /** + * Returns properties of a specific Amazon Bedrock custom model. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.bedrock.BedrockFunctions;
+     * import com.pulumi.aws.bedrock.inputs.GetCustomModelArgs;
+     * 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 test = BedrockFunctions.getCustomModel(GetCustomModelArgs.builder()
+     *             .modelId("arn:aws:bedrock:us-west-2:123456789012:custom-model/amazon.titan-text-express-v1:0:8k/ly16hhi765j4 ")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getCustomModel(GetCustomModelArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:bedrock/getCustomModel:getCustomModel", TypeShape.of(GetCustomModelResult.class), args, Utilities.withVersion(options)); + } /** * Returns properties of a specific Amazon Bedrock custom model. * @@ -562,6 +649,45 @@ public static CompletableFuture getCustomModelsPlain(Invo public static Output getCustomModels(InvokeArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:bedrock/getCustomModels:getCustomModels", TypeShape.of(GetCustomModelsResult.class), args, Utilities.withVersion(options)); } + /** + * Returns a list of Amazon Bedrock custom models. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.bedrock.BedrockFunctions;
+     * 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 test = BedrockFunctions.getCustomModels();
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getCustomModels(InvokeArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:bedrock/getCustomModels:getCustomModels", TypeShape.of(GetCustomModelsResult.class), args, Utilities.withVersion(options)); + } /** * Returns a list of Amazon Bedrock custom models. * @@ -739,6 +865,52 @@ public static CompletableFuture getInferenceProfilePl public static Output getInferenceProfile(GetInferenceProfileArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:bedrock/getInferenceProfile:getInferenceProfile", TypeShape.of(GetInferenceProfileResult.class), args, Utilities.withVersion(options)); } + /** + * Data source for managing an AWS Bedrock Inference Profile. + * + * ## Example Usage + * + * ### Basic Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.bedrock.BedrockFunctions;
+     * import com.pulumi.aws.bedrock.inputs.GetInferenceProfileArgs;
+     * 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 test = BedrockFunctions.getInferenceProfiles();
+     * 
+     *         final var testGetInferenceProfile = BedrockFunctions.getInferenceProfile(GetInferenceProfileArgs.builder()
+     *             .inferenceProfileId(test.applyValue(getInferenceProfilesResult -> getInferenceProfilesResult.inferenceProfileSummaries()[0].inferenceProfileId()))
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getInferenceProfile(GetInferenceProfileArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:bedrock/getInferenceProfile:getInferenceProfile", TypeShape.of(GetInferenceProfileResult.class), args, Utilities.withVersion(options)); + } /** * Data source for managing an AWS Bedrock Inference Profile. * @@ -990,6 +1162,47 @@ public static CompletableFuture getInferenceProfiles public static Output getInferenceProfiles(InvokeArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:bedrock/getInferenceProfiles:getInferenceProfiles", TypeShape.of(GetInferenceProfilesResult.class), args, Utilities.withVersion(options)); } + /** + * Data source for managing AWS Bedrock AWS Bedrock Inference Profiles. + * + * ## Example Usage + * + * ### Basic Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.bedrock.BedrockFunctions;
+     * 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 test = BedrockFunctions.getInferenceProfiles();
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getInferenceProfiles(InvokeArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:bedrock/getInferenceProfiles:getInferenceProfiles", TypeShape.of(GetInferenceProfilesResult.class), args, Utilities.withVersion(options)); + } /** * Data source for managing AWS Bedrock AWS Bedrock Inference Profiles. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/bedrock/InferenceProfile.java b/sdk/java/src/main/java/com/pulumi/aws/bedrock/InferenceProfile.java new file mode 100644 index 00000000000..c294431839c --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/bedrock/InferenceProfile.java @@ -0,0 +1,301 @@ +// *** 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.bedrock; + +import com.pulumi.aws.Utilities; +import com.pulumi.aws.bedrock.InferenceProfileArgs; +import com.pulumi.aws.bedrock.inputs.InferenceProfileState; +import com.pulumi.aws.bedrock.outputs.InferenceProfileModel; +import com.pulumi.aws.bedrock.outputs.InferenceProfileModelSource; +import com.pulumi.aws.bedrock.outputs.InferenceProfileTimeouts; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Export; +import com.pulumi.core.annotations.ResourceType; +import com.pulumi.core.internal.Codegen; +import java.lang.String; +import java.util.List; +import java.util.Map; +import java.util.Optional; +import javax.annotation.Nullable; + +/** + * Resource for managing an AWS Bedrock Inference Profile. + * + * ## Example Usage + * + * ### Basic Usage + * + * <!--Start PulumiCodeChooser --> + *
+ * {@code
+ * package generated_program;
+ * 
+ * import com.pulumi.Context;
+ * import com.pulumi.Pulumi;
+ * import com.pulumi.core.Output;
+ * import com.pulumi.aws.AwsFunctions;
+ * import com.pulumi.aws.inputs.GetCallerIdentityArgs;
+ * import com.pulumi.aws.bedrock.InferenceProfile;
+ * import com.pulumi.aws.bedrock.InferenceProfileArgs;
+ * import com.pulumi.aws.bedrock.inputs.InferenceProfileModelSourceArgs;
+ * 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 current = AwsFunctions.getCallerIdentity();
+ * 
+ *         var example = new InferenceProfile("example", InferenceProfileArgs.builder()
+ *             .name("Claude Sonnet for Project 123")
+ *             .description("Profile with tag for cost allocation tracking")
+ *             .modelSource(InferenceProfileModelSourceArgs.builder()
+ *                 .copyFrom("arn:aws:bedrock:us-west-2::foundation-model/anthropic.claude-3-5-sonnet-20241022-v2:0")
+ *                 .build())
+ *             .tags(Map.of("ProjectID", "123"))
+ *             .build());
+ * 
+ *     }
+ * }
+ * }
+ * 
+ * <!--End PulumiCodeChooser --> + * + * ## Import + * + * Using `pulumi import`, import Bedrock Inference Profile using the `example_id_arg`. For example: + * + * ```sh + * $ pulumi import aws:bedrock/inferenceProfile:InferenceProfile example inference_profile-id-12345678 + * ``` + * + */ +@ResourceType(type="aws:bedrock/inferenceProfile:InferenceProfile") +public class InferenceProfile extends com.pulumi.resources.CustomResource { + /** + * The Amazon Resource Name (ARN) of the inference profile. + * + */ + @Export(name="arn", refs={String.class}, tree="[0]") + private Output arn; + + /** + * @return The Amazon Resource Name (ARN) of the inference profile. + * + */ + public Output arn() { + return this.arn; + } + /** + * The time at which the inference profile was created. + * + */ + @Export(name="createdAt", refs={String.class}, tree="[0]") + private Output createdAt; + + /** + * @return The time at which the inference profile was created. + * + */ + public Output createdAt() { + return this.createdAt; + } + /** + * The description of the inference profile. + * + */ + @Export(name="description", refs={String.class}, tree="[0]") + private Output description; + + /** + * @return The description of the inference profile. + * + */ + public Output> description() { + return Codegen.optional(this.description); + } + /** + * The source of the model this inference profile will track metrics and cost for. See `model_source`. + * + * The following arguments are optional: + * + */ + @Export(name="modelSource", refs={InferenceProfileModelSource.class}, tree="[0]") + private Output modelSource; + + /** + * @return The source of the model this inference profile will track metrics and cost for. See `model_source`. + * + * The following arguments are optional: + * + */ + public Output> modelSource() { + return Codegen.optional(this.modelSource); + } + /** + * A list of information about each model in the inference profile. See `models`. + * + */ + @Export(name="models", refs={List.class,InferenceProfileModel.class}, tree="[0,1]") + private Output> models; + + /** + * @return A list of information about each model in the inference profile. See `models`. + * + */ + public Output> models() { + return this.models; + } + /** + * The name of the inference profile. + * + */ + @Export(name="name", refs={String.class}, tree="[0]") + private Output name; + + /** + * @return The name of the inference profile. + * + */ + public Output name() { + return this.name; + } + /** + * The status of the inference profile. `ACTIVE` means that the inference profile is available to use. + * + */ + @Export(name="status", refs={String.class}, tree="[0]") + private Output status; + + /** + * @return The status of the inference profile. `ACTIVE` means that the inference profile is available to use. + * + */ + public Output status() { + return this.status; + } + /** + * Key-value mapping of resource tags for the inference profile. + * + */ + @Export(name="tags", refs={Map.class,String.class}, tree="[0,1,1]") + private Output> tags; + + /** + * @return Key-value mapping of resource tags for the inference profile. + * + */ + public Output>> tags() { + return Codegen.optional(this.tags); + } + /** + * @deprecated + * Please use `tags` instead. + * + */ + @Deprecated /* Please use `tags` instead. */ + @Export(name="tagsAll", refs={Map.class,String.class}, tree="[0,1,1]") + private Output> tagsAll; + + public Output> tagsAll() { + return this.tagsAll; + } + @Export(name="timeouts", refs={InferenceProfileTimeouts.class}, tree="[0]") + private Output timeouts; + + public Output> timeouts() { + return Codegen.optional(this.timeouts); + } + /** + * The type of the inference profile. `SYSTEM_DEFINED` means that the inference profile is defined by Amazon Bedrock. `APPLICATION` means that the inference profile is defined by the user. + * + */ + @Export(name="type", refs={String.class}, tree="[0]") + private Output type; + + /** + * @return The type of the inference profile. `SYSTEM_DEFINED` means that the inference profile is defined by Amazon Bedrock. `APPLICATION` means that the inference profile is defined by the user. + * + */ + public Output type() { + return this.type; + } + /** + * The time at which the inference profile was last updated. + * + */ + @Export(name="updatedAt", refs={String.class}, tree="[0]") + private Output updatedAt; + + /** + * @return The time at which the inference profile was last updated. + * + */ + public Output updatedAt() { + return this.updatedAt; + } + + /** + * + * @param name The _unique_ name of the resulting resource. + */ + public InferenceProfile(java.lang.String name) { + this(name, InferenceProfileArgs.Empty); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + */ + public InferenceProfile(java.lang.String name, @Nullable InferenceProfileArgs 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 InferenceProfile(java.lang.String name, @Nullable InferenceProfileArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("aws:bedrock/inferenceProfile:InferenceProfile", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false); + } + + private InferenceProfile(java.lang.String name, Output id, @Nullable InferenceProfileState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("aws:bedrock/inferenceProfile:InferenceProfile", name, state, makeResourceOptions(options, id), false); + } + + private static InferenceProfileArgs makeArgs(@Nullable InferenceProfileArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + if (options != null && options.getUrn().isPresent()) { + return null; + } + return args == null ? InferenceProfileArgs.Empty : args; + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() + .version(Utilities.getVersion()) + .build(); + return com.pulumi.resources.CustomResourceOptions.merge(defaultOptions, options, id); + } + + /** + * Get an existing Host resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param state + * @param options Optional settings to control the behavior of the CustomResource. + */ + public static InferenceProfile get(java.lang.String name, Output id, @Nullable InferenceProfileState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + return new InferenceProfile(name, id, state, options); + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/bedrock/InferenceProfileArgs.java b/sdk/java/src/main/java/com/pulumi/aws/bedrock/InferenceProfileArgs.java new file mode 100644 index 00000000000..5d412ef19c9 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/bedrock/InferenceProfileArgs.java @@ -0,0 +1,222 @@ +// *** 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.bedrock; + +import com.pulumi.aws.bedrock.inputs.InferenceProfileModelSourceArgs; +import com.pulumi.aws.bedrock.inputs.InferenceProfileTimeoutsArgs; +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 InferenceProfileArgs extends com.pulumi.resources.ResourceArgs { + + public static final InferenceProfileArgs Empty = new InferenceProfileArgs(); + + /** + * The description of the inference profile. + * + */ + @Import(name="description") + private @Nullable Output description; + + /** + * @return The description of the inference profile. + * + */ + public Optional> description() { + return Optional.ofNullable(this.description); + } + + /** + * The source of the model this inference profile will track metrics and cost for. See `model_source`. + * + * The following arguments are optional: + * + */ + @Import(name="modelSource") + private @Nullable Output modelSource; + + /** + * @return The source of the model this inference profile will track metrics and cost for. See `model_source`. + * + * The following arguments are optional: + * + */ + public Optional> modelSource() { + return Optional.ofNullable(this.modelSource); + } + + /** + * The name of the inference profile. + * + */ + @Import(name="name") + private @Nullable Output name; + + /** + * @return The name of the inference profile. + * + */ + public Optional> name() { + return Optional.ofNullable(this.name); + } + + /** + * Key-value mapping of resource tags for the inference profile. + * + */ + @Import(name="tags") + private @Nullable Output> tags; + + /** + * @return Key-value mapping of resource tags for the inference profile. + * + */ + public Optional>> tags() { + return Optional.ofNullable(this.tags); + } + + @Import(name="timeouts") + private @Nullable Output timeouts; + + public Optional> timeouts() { + return Optional.ofNullable(this.timeouts); + } + + private InferenceProfileArgs() {} + + private InferenceProfileArgs(InferenceProfileArgs $) { + this.description = $.description; + this.modelSource = $.modelSource; + this.name = $.name; + this.tags = $.tags; + this.timeouts = $.timeouts; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(InferenceProfileArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private InferenceProfileArgs $; + + public Builder() { + $ = new InferenceProfileArgs(); + } + + public Builder(InferenceProfileArgs defaults) { + $ = new InferenceProfileArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param description The description of the inference profile. + * + * @return builder + * + */ + public Builder description(@Nullable Output description) { + $.description = description; + return this; + } + + /** + * @param description The description of the inference profile. + * + * @return builder + * + */ + public Builder description(String description) { + return description(Output.of(description)); + } + + /** + * @param modelSource The source of the model this inference profile will track metrics and cost for. See `model_source`. + * + * The following arguments are optional: + * + * @return builder + * + */ + public Builder modelSource(@Nullable Output modelSource) { + $.modelSource = modelSource; + return this; + } + + /** + * @param modelSource The source of the model this inference profile will track metrics and cost for. See `model_source`. + * + * The following arguments are optional: + * + * @return builder + * + */ + public Builder modelSource(InferenceProfileModelSourceArgs modelSource) { + return modelSource(Output.of(modelSource)); + } + + /** + * @param name The name of the inference profile. + * + * @return builder + * + */ + public Builder name(@Nullable Output name) { + $.name = name; + return this; + } + + /** + * @param name The name of the inference profile. + * + * @return builder + * + */ + public Builder name(String name) { + return name(Output.of(name)); + } + + /** + * @param tags Key-value mapping of resource tags for the inference profile. + * + * @return builder + * + */ + public Builder tags(@Nullable Output> tags) { + $.tags = tags; + return this; + } + + /** + * @param tags Key-value mapping of resource tags for the inference profile. + * + * @return builder + * + */ + public Builder tags(Map tags) { + return tags(Output.of(tags)); + } + + public Builder timeouts(@Nullable Output timeouts) { + $.timeouts = timeouts; + return this; + } + + public Builder timeouts(InferenceProfileTimeoutsArgs timeouts) { + return timeouts(Output.of(timeouts)); + } + + public InferenceProfileArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/bedrock/inputs/InferenceProfileModelArgs.java b/sdk/java/src/main/java/com/pulumi/aws/bedrock/inputs/InferenceProfileModelArgs.java new file mode 100644 index 00000000000..37bb5b2623f --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/bedrock/inputs/InferenceProfileModelArgs.java @@ -0,0 +1,85 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.bedrock.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; + + +public final class InferenceProfileModelArgs extends com.pulumi.resources.ResourceArgs { + + public static final InferenceProfileModelArgs Empty = new InferenceProfileModelArgs(); + + /** + * The Amazon Resource Name (ARN) of the model. + * + */ + @Import(name="modelArn", required=true) + private Output modelArn; + + /** + * @return The Amazon Resource Name (ARN) of the model. + * + */ + public Output modelArn() { + return this.modelArn; + } + + private InferenceProfileModelArgs() {} + + private InferenceProfileModelArgs(InferenceProfileModelArgs $) { + this.modelArn = $.modelArn; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(InferenceProfileModelArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private InferenceProfileModelArgs $; + + public Builder() { + $ = new InferenceProfileModelArgs(); + } + + public Builder(InferenceProfileModelArgs defaults) { + $ = new InferenceProfileModelArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param modelArn The Amazon Resource Name (ARN) of the model. + * + * @return builder + * + */ + public Builder modelArn(Output modelArn) { + $.modelArn = modelArn; + return this; + } + + /** + * @param modelArn The Amazon Resource Name (ARN) of the model. + * + * @return builder + * + */ + public Builder modelArn(String modelArn) { + return modelArn(Output.of(modelArn)); + } + + public InferenceProfileModelArgs build() { + if ($.modelArn == null) { + throw new MissingRequiredPropertyException("InferenceProfileModelArgs", "modelArn"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/bedrock/inputs/InferenceProfileModelSourceArgs.java b/sdk/java/src/main/java/com/pulumi/aws/bedrock/inputs/InferenceProfileModelSourceArgs.java new file mode 100644 index 00000000000..f8e4739874a --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/bedrock/inputs/InferenceProfileModelSourceArgs.java @@ -0,0 +1,85 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.bedrock.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; + + +public final class InferenceProfileModelSourceArgs extends com.pulumi.resources.ResourceArgs { + + public static final InferenceProfileModelSourceArgs Empty = new InferenceProfileModelSourceArgs(); + + /** + * The Amazon Resource Name (ARN) of the model. + * + */ + @Import(name="copyFrom", required=true) + private Output copyFrom; + + /** + * @return The Amazon Resource Name (ARN) of the model. + * + */ + public Output copyFrom() { + return this.copyFrom; + } + + private InferenceProfileModelSourceArgs() {} + + private InferenceProfileModelSourceArgs(InferenceProfileModelSourceArgs $) { + this.copyFrom = $.copyFrom; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(InferenceProfileModelSourceArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private InferenceProfileModelSourceArgs $; + + public Builder() { + $ = new InferenceProfileModelSourceArgs(); + } + + public Builder(InferenceProfileModelSourceArgs defaults) { + $ = new InferenceProfileModelSourceArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param copyFrom The Amazon Resource Name (ARN) of the model. + * + * @return builder + * + */ + public Builder copyFrom(Output copyFrom) { + $.copyFrom = copyFrom; + return this; + } + + /** + * @param copyFrom The Amazon Resource Name (ARN) of the model. + * + * @return builder + * + */ + public Builder copyFrom(String copyFrom) { + return copyFrom(Output.of(copyFrom)); + } + + public InferenceProfileModelSourceArgs build() { + if ($.copyFrom == null) { + throw new MissingRequiredPropertyException("InferenceProfileModelSourceArgs", "copyFrom"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/bedrock/inputs/InferenceProfileState.java b/sdk/java/src/main/java/com/pulumi/aws/bedrock/inputs/InferenceProfileState.java new file mode 100644 index 00000000000..ad37e16dc53 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/bedrock/inputs/InferenceProfileState.java @@ -0,0 +1,501 @@ +// *** 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.bedrock.inputs; + +import com.pulumi.aws.bedrock.inputs.InferenceProfileModelArgs; +import com.pulumi.aws.bedrock.inputs.InferenceProfileModelSourceArgs; +import com.pulumi.aws.bedrock.inputs.InferenceProfileTimeoutsArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class InferenceProfileState extends com.pulumi.resources.ResourceArgs { + + public static final InferenceProfileState Empty = new InferenceProfileState(); + + /** + * The Amazon Resource Name (ARN) of the inference profile. + * + */ + @Import(name="arn") + private @Nullable Output arn; + + /** + * @return The Amazon Resource Name (ARN) of the inference profile. + * + */ + public Optional> arn() { + return Optional.ofNullable(this.arn); + } + + /** + * The time at which the inference profile was created. + * + */ + @Import(name="createdAt") + private @Nullable Output createdAt; + + /** + * @return The time at which the inference profile was created. + * + */ + public Optional> createdAt() { + return Optional.ofNullable(this.createdAt); + } + + /** + * The description of the inference profile. + * + */ + @Import(name="description") + private @Nullable Output description; + + /** + * @return The description of the inference profile. + * + */ + public Optional> description() { + return Optional.ofNullable(this.description); + } + + /** + * The source of the model this inference profile will track metrics and cost for. See `model_source`. + * + * The following arguments are optional: + * + */ + @Import(name="modelSource") + private @Nullable Output modelSource; + + /** + * @return The source of the model this inference profile will track metrics and cost for. See `model_source`. + * + * The following arguments are optional: + * + */ + public Optional> modelSource() { + return Optional.ofNullable(this.modelSource); + } + + /** + * A list of information about each model in the inference profile. See `models`. + * + */ + @Import(name="models") + private @Nullable Output> models; + + /** + * @return A list of information about each model in the inference profile. See `models`. + * + */ + public Optional>> models() { + return Optional.ofNullable(this.models); + } + + /** + * The name of the inference profile. + * + */ + @Import(name="name") + private @Nullable Output name; + + /** + * @return The name of the inference profile. + * + */ + public Optional> name() { + return Optional.ofNullable(this.name); + } + + /** + * The status of the inference profile. `ACTIVE` means that the inference profile is available to use. + * + */ + @Import(name="status") + private @Nullable Output status; + + /** + * @return The status of the inference profile. `ACTIVE` means that the inference profile is available to use. + * + */ + public Optional> status() { + return Optional.ofNullable(this.status); + } + + /** + * Key-value mapping of resource tags for the inference profile. + * + */ + @Import(name="tags") + private @Nullable Output> tags; + + /** + * @return Key-value mapping of resource tags for the inference profile. + * + */ + public Optional>> tags() { + return Optional.ofNullable(this.tags); + } + + /** + * @deprecated + * Please use `tags` instead. + * + */ + @Deprecated /* Please use `tags` instead. */ + @Import(name="tagsAll") + private @Nullable Output> tagsAll; + + /** + * @deprecated + * Please use `tags` instead. + * + */ + @Deprecated /* Please use `tags` instead. */ + public Optional>> tagsAll() { + return Optional.ofNullable(this.tagsAll); + } + + @Import(name="timeouts") + private @Nullable Output timeouts; + + public Optional> timeouts() { + return Optional.ofNullable(this.timeouts); + } + + /** + * The type of the inference profile. `SYSTEM_DEFINED` means that the inference profile is defined by Amazon Bedrock. `APPLICATION` means that the inference profile is defined by the user. + * + */ + @Import(name="type") + private @Nullable Output type; + + /** + * @return The type of the inference profile. `SYSTEM_DEFINED` means that the inference profile is defined by Amazon Bedrock. `APPLICATION` means that the inference profile is defined by the user. + * + */ + public Optional> type() { + return Optional.ofNullable(this.type); + } + + /** + * The time at which the inference profile was last updated. + * + */ + @Import(name="updatedAt") + private @Nullable Output updatedAt; + + /** + * @return The time at which the inference profile was last updated. + * + */ + public Optional> updatedAt() { + return Optional.ofNullable(this.updatedAt); + } + + private InferenceProfileState() {} + + private InferenceProfileState(InferenceProfileState $) { + this.arn = $.arn; + this.createdAt = $.createdAt; + this.description = $.description; + this.modelSource = $.modelSource; + this.models = $.models; + this.name = $.name; + this.status = $.status; + this.tags = $.tags; + this.tagsAll = $.tagsAll; + this.timeouts = $.timeouts; + this.type = $.type; + this.updatedAt = $.updatedAt; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(InferenceProfileState defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private InferenceProfileState $; + + public Builder() { + $ = new InferenceProfileState(); + } + + public Builder(InferenceProfileState defaults) { + $ = new InferenceProfileState(Objects.requireNonNull(defaults)); + } + + /** + * @param arn The Amazon Resource Name (ARN) of the inference profile. + * + * @return builder + * + */ + public Builder arn(@Nullable Output arn) { + $.arn = arn; + return this; + } + + /** + * @param arn The Amazon Resource Name (ARN) of the inference profile. + * + * @return builder + * + */ + public Builder arn(String arn) { + return arn(Output.of(arn)); + } + + /** + * @param createdAt The time at which the inference profile was created. + * + * @return builder + * + */ + public Builder createdAt(@Nullable Output createdAt) { + $.createdAt = createdAt; + return this; + } + + /** + * @param createdAt The time at which the inference profile was created. + * + * @return builder + * + */ + public Builder createdAt(String createdAt) { + return createdAt(Output.of(createdAt)); + } + + /** + * @param description The description of the inference profile. + * + * @return builder + * + */ + public Builder description(@Nullable Output description) { + $.description = description; + return this; + } + + /** + * @param description The description of the inference profile. + * + * @return builder + * + */ + public Builder description(String description) { + return description(Output.of(description)); + } + + /** + * @param modelSource The source of the model this inference profile will track metrics and cost for. See `model_source`. + * + * The following arguments are optional: + * + * @return builder + * + */ + public Builder modelSource(@Nullable Output modelSource) { + $.modelSource = modelSource; + return this; + } + + /** + * @param modelSource The source of the model this inference profile will track metrics and cost for. See `model_source`. + * + * The following arguments are optional: + * + * @return builder + * + */ + public Builder modelSource(InferenceProfileModelSourceArgs modelSource) { + return modelSource(Output.of(modelSource)); + } + + /** + * @param models A list of information about each model in the inference profile. See `models`. + * + * @return builder + * + */ + public Builder models(@Nullable Output> models) { + $.models = models; + return this; + } + + /** + * @param models A list of information about each model in the inference profile. See `models`. + * + * @return builder + * + */ + public Builder models(List models) { + return models(Output.of(models)); + } + + /** + * @param models A list of information about each model in the inference profile. See `models`. + * + * @return builder + * + */ + public Builder models(InferenceProfileModelArgs... models) { + return models(List.of(models)); + } + + /** + * @param name The name of the inference profile. + * + * @return builder + * + */ + public Builder name(@Nullable Output name) { + $.name = name; + return this; + } + + /** + * @param name The name of the inference profile. + * + * @return builder + * + */ + public Builder name(String name) { + return name(Output.of(name)); + } + + /** + * @param status The status of the inference profile. `ACTIVE` means that the inference profile is available to use. + * + * @return builder + * + */ + public Builder status(@Nullable Output status) { + $.status = status; + return this; + } + + /** + * @param status The status of the inference profile. `ACTIVE` means that the inference profile is available to use. + * + * @return builder + * + */ + public Builder status(String status) { + return status(Output.of(status)); + } + + /** + * @param tags Key-value mapping of resource tags for the inference profile. + * + * @return builder + * + */ + public Builder tags(@Nullable Output> tags) { + $.tags = tags; + return this; + } + + /** + * @param tags Key-value mapping of resource tags for the inference profile. + * + * @return builder + * + */ + public Builder tags(Map tags) { + return tags(Output.of(tags)); + } + + /** + * @return builder + * + * @deprecated + * Please use `tags` instead. + * + */ + @Deprecated /* Please use `tags` instead. */ + public Builder tagsAll(@Nullable Output> tagsAll) { + $.tagsAll = tagsAll; + return this; + } + + /** + * @return builder + * + * @deprecated + * Please use `tags` instead. + * + */ + @Deprecated /* Please use `tags` instead. */ + public Builder tagsAll(Map tagsAll) { + return tagsAll(Output.of(tagsAll)); + } + + public Builder timeouts(@Nullable Output timeouts) { + $.timeouts = timeouts; + return this; + } + + public Builder timeouts(InferenceProfileTimeoutsArgs timeouts) { + return timeouts(Output.of(timeouts)); + } + + /** + * @param type The type of the inference profile. `SYSTEM_DEFINED` means that the inference profile is defined by Amazon Bedrock. `APPLICATION` means that the inference profile is defined by the user. + * + * @return builder + * + */ + public Builder type(@Nullable Output type) { + $.type = type; + return this; + } + + /** + * @param type The type of the inference profile. `SYSTEM_DEFINED` means that the inference profile is defined by Amazon Bedrock. `APPLICATION` means that the inference profile is defined by the user. + * + * @return builder + * + */ + public Builder type(String type) { + return type(Output.of(type)); + } + + /** + * @param updatedAt The time at which the inference profile was last updated. + * + * @return builder + * + */ + public Builder updatedAt(@Nullable Output updatedAt) { + $.updatedAt = updatedAt; + return this; + } + + /** + * @param updatedAt The time at which the inference profile was last updated. + * + * @return builder + * + */ + public Builder updatedAt(String updatedAt) { + return updatedAt(Output.of(updatedAt)); + } + + public InferenceProfileState build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/bedrock/inputs/InferenceProfileTimeoutsArgs.java b/sdk/java/src/main/java/com/pulumi/aws/bedrock/inputs/InferenceProfileTimeoutsArgs.java new file mode 100644 index 00000000000..ccf95150cad --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/bedrock/inputs/InferenceProfileTimeoutsArgs.java @@ -0,0 +1,157 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.bedrock.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 InferenceProfileTimeoutsArgs extends com.pulumi.resources.ResourceArgs { + + public static final InferenceProfileTimeoutsArgs Empty = new InferenceProfileTimeoutsArgs(); + + /** + * A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + * + */ + @Import(name="create") + private @Nullable Output create; + + /** + * @return A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + * + */ + public Optional> create() { + return Optional.ofNullable(this.create); + } + + /** + * A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. + * + */ + @Import(name="delete") + private @Nullable Output delete; + + /** + * @return A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. + * + */ + public Optional> delete() { + return Optional.ofNullable(this.delete); + } + + /** + * A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + * + */ + @Import(name="update") + private @Nullable Output update; + + /** + * @return A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + * + */ + public Optional> update() { + return Optional.ofNullable(this.update); + } + + private InferenceProfileTimeoutsArgs() {} + + private InferenceProfileTimeoutsArgs(InferenceProfileTimeoutsArgs $) { + this.create = $.create; + this.delete = $.delete; + this.update = $.update; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(InferenceProfileTimeoutsArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private InferenceProfileTimeoutsArgs $; + + public Builder() { + $ = new InferenceProfileTimeoutsArgs(); + } + + public Builder(InferenceProfileTimeoutsArgs defaults) { + $ = new InferenceProfileTimeoutsArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param create A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + * + * @return builder + * + */ + public Builder create(@Nullable Output create) { + $.create = create; + return this; + } + + /** + * @param create A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + * + * @return builder + * + */ + public Builder create(String create) { + return create(Output.of(create)); + } + + /** + * @param delete A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. + * + * @return builder + * + */ + public Builder delete(@Nullable Output delete) { + $.delete = delete; + return this; + } + + /** + * @param delete A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. + * + * @return builder + * + */ + public Builder delete(String delete) { + return delete(Output.of(delete)); + } + + /** + * @param update A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + * + * @return builder + * + */ + public Builder update(@Nullable Output update) { + $.update = update; + return this; + } + + /** + * @param update A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + * + * @return builder + * + */ + public Builder update(String update) { + return update(Output.of(update)); + } + + public InferenceProfileTimeoutsArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/bedrock/outputs/GetInferenceProfileResult.java b/sdk/java/src/main/java/com/pulumi/aws/bedrock/outputs/GetInferenceProfileResult.java index b30ac121a1f..97cc882e883 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/bedrock/outputs/GetInferenceProfileResult.java +++ b/sdk/java/src/main/java/com/pulumi/aws/bedrock/outputs/GetInferenceProfileResult.java @@ -49,7 +49,7 @@ public final class GetInferenceProfileResult { */ private String status; /** - * @return The type of the inference profile. `SYSTEM_DEFINED` means that the inference profile is defined by Amazon Bedrock. + * @return The type of the inference profile. `SYSTEM_DEFINED` means that the inference profile is defined by Amazon Bedrock. `APPLICATION` means that the inference profile is defined by the user. * */ private String type; @@ -113,7 +113,7 @@ public String status() { return this.status; } /** - * @return The type of the inference profile. `SYSTEM_DEFINED` means that the inference profile is defined by Amazon Bedrock. + * @return The type of the inference profile. `SYSTEM_DEFINED` means that the inference profile is defined by Amazon Bedrock. `APPLICATION` means that the inference profile is defined by the user. * */ public String type() { diff --git a/sdk/java/src/main/java/com/pulumi/aws/bedrock/outputs/InferenceProfileModel.java b/sdk/java/src/main/java/com/pulumi/aws/bedrock/outputs/InferenceProfileModel.java new file mode 100644 index 00000000000..0517d1691bb --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/bedrock/outputs/InferenceProfileModel.java @@ -0,0 +1,58 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.bedrock.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class InferenceProfileModel { + /** + * @return The Amazon Resource Name (ARN) of the model. + * + */ + private String modelArn; + + private InferenceProfileModel() {} + /** + * @return The Amazon Resource Name (ARN) of the model. + * + */ + public String modelArn() { + return this.modelArn; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(InferenceProfileModel defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String modelArn; + public Builder() {} + public Builder(InferenceProfileModel defaults) { + Objects.requireNonNull(defaults); + this.modelArn = defaults.modelArn; + } + + @CustomType.Setter + public Builder modelArn(String modelArn) { + if (modelArn == null) { + throw new MissingRequiredPropertyException("InferenceProfileModel", "modelArn"); + } + this.modelArn = modelArn; + return this; + } + public InferenceProfileModel build() { + final var _resultValue = new InferenceProfileModel(); + _resultValue.modelArn = modelArn; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/bedrock/outputs/InferenceProfileModelSource.java b/sdk/java/src/main/java/com/pulumi/aws/bedrock/outputs/InferenceProfileModelSource.java new file mode 100644 index 00000000000..847963e3404 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/bedrock/outputs/InferenceProfileModelSource.java @@ -0,0 +1,58 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.bedrock.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class InferenceProfileModelSource { + /** + * @return The Amazon Resource Name (ARN) of the model. + * + */ + private String copyFrom; + + private InferenceProfileModelSource() {} + /** + * @return The Amazon Resource Name (ARN) of the model. + * + */ + public String copyFrom() { + return this.copyFrom; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(InferenceProfileModelSource defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String copyFrom; + public Builder() {} + public Builder(InferenceProfileModelSource defaults) { + Objects.requireNonNull(defaults); + this.copyFrom = defaults.copyFrom; + } + + @CustomType.Setter + public Builder copyFrom(String copyFrom) { + if (copyFrom == null) { + throw new MissingRequiredPropertyException("InferenceProfileModelSource", "copyFrom"); + } + this.copyFrom = copyFrom; + return this; + } + public InferenceProfileModelSource build() { + final var _resultValue = new InferenceProfileModelSource(); + _resultValue.copyFrom = copyFrom; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/bedrock/outputs/InferenceProfileTimeouts.java b/sdk/java/src/main/java/com/pulumi/aws/bedrock/outputs/InferenceProfileTimeouts.java new file mode 100644 index 00000000000..194a22dbfdc --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/bedrock/outputs/InferenceProfileTimeouts.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.bedrock.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 InferenceProfileTimeouts { + /** + * @return A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + * + */ + private @Nullable String create; + /** + * @return A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. + * + */ + private @Nullable String delete; + /** + * @return A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + * + */ + private @Nullable String update; + + private InferenceProfileTimeouts() {} + /** + * @return A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + * + */ + public Optional create() { + return Optional.ofNullable(this.create); + } + /** + * @return A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. + * + */ + public Optional delete() { + return Optional.ofNullable(this.delete); + } + /** + * @return A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + * + */ + public Optional update() { + return Optional.ofNullable(this.update); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(InferenceProfileTimeouts defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable String create; + private @Nullable String delete; + private @Nullable String update; + public Builder() {} + public Builder(InferenceProfileTimeouts defaults) { + Objects.requireNonNull(defaults); + this.create = defaults.create; + this.delete = defaults.delete; + this.update = defaults.update; + } + + @CustomType.Setter + public Builder create(@Nullable String create) { + + this.create = create; + return this; + } + @CustomType.Setter + public Builder delete(@Nullable String delete) { + + this.delete = delete; + return this; + } + @CustomType.Setter + public Builder update(@Nullable String update) { + + this.update = update; + return this; + } + public InferenceProfileTimeouts build() { + final var _resultValue = new InferenceProfileTimeouts(); + _resultValue.create = create; + _resultValue.delete = delete; + _resultValue.update = update; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/bedrockfoundation/BedrockfoundationFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/bedrockfoundation/BedrockfoundationFunctions.java index 31ad84ef5de..aea214ddde7 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/bedrockfoundation/BedrockfoundationFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/bedrockfoundation/BedrockfoundationFunctions.java @@ -14,6 +14,7 @@ import com.pulumi.core.TypeShape; import com.pulumi.deployment.Deployment; import com.pulumi.deployment.InvokeOptions; +import com.pulumi.deployment.InvokeOutputOptions; import java.util.concurrent.CompletableFuture; public final class BedrockfoundationFunctions { @@ -158,6 +159,53 @@ public static CompletableFuture getModelPlain(GetModelPlainArgs public static Output getModel(GetModelArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:bedrockfoundation/getModel:getModel", TypeShape.of(GetModelResult.class), args, Utilities.withVersion(options)); } + /** + * Data source for managing an AWS Bedrock Foundation Model. + * + * ## Example Usage + * + * ### Basic Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.bedrockfoundation.BedrockfoundationFunctions;
+     * import com.pulumi.aws.bedrockfoundation.inputs.GetModelsArgs;
+     * import com.pulumi.aws.bedrockfoundation.inputs.GetModelArgs;
+     * 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 test = BedrockfoundationFunctions.getModels();
+     * 
+     *         final var testGetModel = BedrockfoundationFunctions.getModel(GetModelArgs.builder()
+     *             .modelId(test.applyValue(getModelsResult -> getModelsResult.modelSummaries()[0].modelId()))
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getModel(GetModelArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:bedrockfoundation/getModel:getModel", TypeShape.of(GetModelResult.class), args, Utilities.withVersion(options)); + } /** * Data source for managing an AWS Bedrock Foundation Model. * @@ -590,6 +638,83 @@ public static CompletableFuture getModelsPlain(GetModelsPlainAr public static Output getModels(GetModelsArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:bedrockfoundation/getModels:getModels", TypeShape.of(GetModelsResult.class), args, Utilities.withVersion(options)); } + /** + * Data source for managing AWS Bedrock Foundation Models. + * + * ## Example Usage + * + * ### Basic Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.bedrockfoundation.BedrockfoundationFunctions;
+     * import com.pulumi.aws.bedrockfoundation.inputs.GetModelsArgs;
+     * 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 test = BedrockfoundationFunctions.getModels();
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + * ### Filter by Inference Type + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.bedrockfoundation.BedrockfoundationFunctions;
+     * import com.pulumi.aws.bedrockfoundation.inputs.GetModelsArgs;
+     * 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 test = BedrockfoundationFunctions.getModels(GetModelsArgs.builder()
+     *             .byInferenceType("ON_DEMAND")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getModels(GetModelsArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:bedrockfoundation/getModels:getModels", TypeShape.of(GetModelsResult.class), args, Utilities.withVersion(options)); + } /** * Data source for managing AWS Bedrock Foundation Models. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/budgets/BudgetsFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/budgets/BudgetsFunctions.java index 76f41932439..fe7e87ecf6a 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/budgets/BudgetsFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/budgets/BudgetsFunctions.java @@ -11,6 +11,7 @@ import com.pulumi.core.TypeShape; import com.pulumi.deployment.Deployment; import com.pulumi.deployment.InvokeOptions; +import com.pulumi.deployment.InvokeOutputOptions; import java.util.concurrent.CompletableFuture; public final class BudgetsFunctions { @@ -146,6 +147,50 @@ public static CompletableFuture getBudgetPlain(GetBudgetPlainAr public static Output getBudget(GetBudgetArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:budgets/getBudget:getBudget", TypeShape.of(GetBudgetResult.class), args, Utilities.withVersion(options)); } + /** + * Data source for managing an AWS Web Services Budgets Budget. + * + * ## Example Usage + * + * ### Basic Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.budgets.BudgetsFunctions;
+     * import com.pulumi.aws.budgets.inputs.GetBudgetArgs;
+     * 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 test = BudgetsFunctions.getBudget(GetBudgetArgs.builder()
+     *             .name(testAwsBudgetsBudget.name())
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getBudget(GetBudgetArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:budgets/getBudget:getBudget", TypeShape.of(GetBudgetResult.class), args, Utilities.withVersion(options)); + } /** * Data source for managing an AWS Web Services Budgets Budget. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/chatbot/ChatbotFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/chatbot/ChatbotFunctions.java index a89d04e902f..62f62132b26 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/chatbot/ChatbotFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/chatbot/ChatbotFunctions.java @@ -11,6 +11,7 @@ import com.pulumi.core.TypeShape; import com.pulumi.deployment.Deployment; import com.pulumi.deployment.InvokeOptions; +import com.pulumi.deployment.InvokeOutputOptions; import java.util.concurrent.CompletableFuture; public final class ChatbotFunctions { @@ -146,6 +147,50 @@ public static CompletableFuture getSlackWorkspacePlain( public static Output getSlackWorkspace(GetSlackWorkspaceArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:chatbot/getSlackWorkspace:getSlackWorkspace", TypeShape.of(GetSlackWorkspaceResult.class), args, Utilities.withVersion(options)); } + /** + * Data source for managing an AWS Chatbot Slack Workspace. + * + * ## Example Usage + * + * ### Basic Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.chatbot.ChatbotFunctions;
+     * import com.pulumi.aws.chatbot.inputs.GetSlackWorkspaceArgs;
+     * 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 = ChatbotFunctions.getSlackWorkspace(GetSlackWorkspaceArgs.builder()
+     *             .slackTeamName("abc")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getSlackWorkspace(GetSlackWorkspaceArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:chatbot/getSlackWorkspace:getSlackWorkspace", TypeShape.of(GetSlackWorkspaceResult.class), args, Utilities.withVersion(options)); + } /** * Data source for managing an AWS Chatbot Slack Workspace. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/cloudcontrol/CloudcontrolFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/cloudcontrol/CloudcontrolFunctions.java index ca91e6dd78c..d7023e3cb30 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/cloudcontrol/CloudcontrolFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/cloudcontrol/CloudcontrolFunctions.java @@ -11,6 +11,7 @@ import com.pulumi.core.TypeShape; import com.pulumi.deployment.Deployment; import com.pulumi.deployment.InvokeOptions; +import com.pulumi.deployment.InvokeOutputOptions; import java.util.concurrent.CompletableFuture; public final class CloudcontrolFunctions { @@ -143,6 +144,49 @@ public static CompletableFuture getResourcePlain(GetResourceP public static Output getResource(GetResourceArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:cloudcontrol/getResource:getResource", TypeShape.of(GetResourceResult.class), args, Utilities.withVersion(options)); } + /** + * Provides details for a Cloud Control API Resource. The reading of these resources is proxied through Cloud Control API handlers to the backend service. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.cloudcontrol.CloudcontrolFunctions;
+     * import com.pulumi.aws.cloudcontrol.inputs.GetResourceArgs;
+     * 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 = CloudcontrolFunctions.getResource(GetResourceArgs.builder()
+     *             .identifier("example")
+     *             .typeName("AWS::ECS::Cluster")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getResource(GetResourceArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:cloudcontrol/getResource:getResource", TypeShape.of(GetResourceResult.class), args, Utilities.withVersion(options)); + } /** * Provides details for a Cloud Control API Resource. The reading of these resources is proxied through Cloud Control API handlers to the backend service. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/cloudformation/CloudformationFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/cloudformation/CloudformationFunctions.java index 1e78526e059..73c950a07d7 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/cloudformation/CloudformationFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/cloudformation/CloudformationFunctions.java @@ -17,6 +17,7 @@ import com.pulumi.core.TypeShape; import com.pulumi.deployment.Deployment; import com.pulumi.deployment.InvokeOptions; +import com.pulumi.deployment.InvokeOutputOptions; import java.util.concurrent.CompletableFuture; public final class CloudformationFunctions { @@ -235,6 +236,49 @@ public static CompletableFuture getCloudFormationTy public static Output getCloudFormationType(GetCloudFormationTypeArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:cloudformation/getCloudFormationType:getCloudFormationType", TypeShape.of(GetCloudFormationTypeResult.class), args, Utilities.withVersion(options)); } + /** + * Provides details about a CloudFormation Type. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.cloudformation.CloudformationFunctions;
+     * import com.pulumi.aws.cloudformation.inputs.GetCloudFormationTypeArgs;
+     * 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 = CloudformationFunctions.getCloudFormationType(GetCloudFormationTypeArgs.builder()
+     *             .type("RESOURCE")
+     *             .typeName("AWS::Athena::WorkGroup")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getCloudFormationType(GetCloudFormationTypeArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:cloudformation/getCloudFormationType:getCloudFormationType", TypeShape.of(GetCloudFormationTypeResult.class), args, Utilities.withVersion(options)); + } /** * Provides details about a CloudFormation Type. * @@ -437,6 +481,59 @@ public static CompletableFuture getExportPlain(GetExportPlainAr public static Output getExport(GetExportArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:cloudformation/getExport:getExport", TypeShape.of(GetExportResult.class), args, Utilities.withVersion(options)); } + /** + * The CloudFormation Export data source allows access to stack + * exports specified in the [Output](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/outputs-section-structure.html) section of the Cloudformation Template using the optional Export Property. + * + * > Note: If you are trying to use a value from a Cloudformation Stack in the same deployment please use normal interpolation or Cloudformation Outputs. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.cloudformation.CloudformationFunctions;
+     * import com.pulumi.aws.cloudformation.inputs.GetExportArgs;
+     * import com.pulumi.aws.ec2.Instance;
+     * import com.pulumi.aws.ec2.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 subnetId = CloudformationFunctions.getExport(GetExportArgs.builder()
+     *             .name("mySubnetIdExportName")
+     *             .build());
+     * 
+     *         var web = new Instance("web", InstanceArgs.builder()
+     *             .ami("ami-abb07bcb")
+     *             .instanceType("t2.micro")
+     *             .subnetId(subnetId.applyValue(getExportResult -> getExportResult.value()))
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getExport(GetExportArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:cloudformation/getExport:getExport", TypeShape.of(GetExportResult.class), args, Utilities.withVersion(options)); + } /** * The CloudFormation Export data source allows access to stack * exports specified in the [Output](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/outputs-section-structure.html) section of the Cloudformation Template using the optional Export Property. @@ -646,6 +743,58 @@ public static CompletableFuture getStackPlain(GetStackPlainArgs public static Output getStack(GetStackArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:cloudformation/getStack:getStack", TypeShape.of(GetStackResult.class), args, Utilities.withVersion(options)); } + /** + * The CloudFormation Stack data source allows access to stack + * outputs and other useful data including the template body. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.cloudformation.CloudformationFunctions;
+     * import com.pulumi.aws.cloudformation.inputs.GetStackArgs;
+     * import com.pulumi.aws.ec2.Instance;
+     * import com.pulumi.aws.ec2.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 network = CloudformationFunctions.getStack(GetStackArgs.builder()
+     *             .name("my-network-stack")
+     *             .build());
+     * 
+     *         var web = new Instance("web", InstanceArgs.builder()
+     *             .ami("ami-abb07bcb")
+     *             .instanceType("t2.micro")
+     *             .subnetId(network.applyValue(getStackResult -> getStackResult.outputs().SubnetId()))
+     *             .tags(Map.of("Name", "HelloWorld"))
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getStack(GetStackArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:cloudformation/getStack:getStack", TypeShape.of(GetStackResult.class), args, Utilities.withVersion(options)); + } /** * The CloudFormation Stack data source allows access to stack * outputs and other useful data including the template body. diff --git a/sdk/java/src/main/java/com/pulumi/aws/cloudfront/CloudfrontFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/cloudfront/CloudfrontFunctions.java index 113e4ef49ca..ef10aded3d1 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/cloudfront/CloudfrontFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/cloudfront/CloudfrontFunctions.java @@ -38,6 +38,7 @@ import com.pulumi.core.TypeShape; import com.pulumi.deployment.Deployment; import com.pulumi.deployment.InvokeOptions; +import com.pulumi.deployment.InvokeOutputOptions; import java.util.concurrent.CompletableFuture; public final class CloudfrontFunctions { @@ -446,6 +447,87 @@ public static CompletableFuture getCachePolicyPlain(GetCac public static Output getCachePolicy(GetCachePolicyArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:cloudfront/getCachePolicy:getCachePolicy", TypeShape.of(GetCachePolicyResult.class), args, Utilities.withVersion(options)); } + /** + * Use this data source to retrieve information about a CloudFront cache policy. + * + * ## Example Usage + * + * ### Basic Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.cloudfront.CloudfrontFunctions;
+     * import com.pulumi.aws.cloudfront.inputs.GetCachePolicyArgs;
+     * 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 = CloudfrontFunctions.getCachePolicy(GetCachePolicyArgs.builder()
+     *             .name("example-policy")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + * ### AWS-Managed Policies + * + * AWS managed cache policy names are prefixed with `Managed-`: + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.cloudfront.CloudfrontFunctions;
+     * import com.pulumi.aws.cloudfront.inputs.GetCachePolicyArgs;
+     * 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 = CloudfrontFunctions.getCachePolicy(GetCachePolicyArgs.builder()
+     *             .name("Managed-CachingOptimized")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getCachePolicy(GetCachePolicyArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:cloudfront/getCachePolicy:getCachePolicy", TypeShape.of(GetCachePolicyResult.class), args, Utilities.withVersion(options)); + } /** * Use this data source to retrieve information about a CloudFront cache policy. * @@ -653,6 +735,48 @@ public static CompletableFuture getDistributionPlain(GetD public static Output getDistribution(GetDistributionArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:cloudfront/getDistribution:getDistribution", TypeShape.of(GetDistributionResult.class), args, Utilities.withVersion(options)); } + /** + * Use this data source to retrieve information about a CloudFront distribution. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.cloudfront.CloudfrontFunctions;
+     * import com.pulumi.aws.cloudfront.inputs.GetDistributionArgs;
+     * 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 test = CloudfrontFunctions.getDistribution(GetDistributionArgs.builder()
+     *             .id("EDFDVBD632BHDS5")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getDistribution(GetDistributionArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:cloudfront/getDistribution:getDistribution", TypeShape.of(GetDistributionResult.class), args, Utilities.withVersion(options)); + } /** * Use this data source to retrieve information about a CloudFront distribution. * @@ -827,6 +951,50 @@ public static CompletableFuture getFunctionPlain(GetFunctionP public static Output getFunction(GetFunctionArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:cloudfront/getFunction:getFunction", TypeShape.of(GetFunctionResult.class), args, Utilities.withVersion(options)); } + /** + * Provides information about a CloudFront Function. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.cloudfront.CloudfrontFunctions;
+     * import com.pulumi.aws.cloudfront.inputs.GetFunctionArgs;
+     * import java.util.List;
+     * import java.util.ArrayList;
+     * import java.util.Map;
+     * import java.io.File;
+     * import java.nio.file.Files;
+     * import java.nio.file.Paths;
+     * 
+     * public class App {
+     *     public static void main(String[] args) {
+     *         Pulumi.run(App::stack);
+     *     }
+     * 
+     *     public static void stack(Context ctx) {
+     *         final var config = ctx.config();
+     *         final var functionName = config.get("functionName");
+     *         final var existing = CloudfrontFunctions.getFunction(GetFunctionArgs.builder()
+     *             .name(functionName)
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getFunction(GetFunctionArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:cloudfront/getFunction:getFunction", TypeShape.of(GetFunctionResult.class), args, Utilities.withVersion(options)); + } /** * Provides information about a CloudFront Function. * @@ -1286,6 +1454,89 @@ public static CompletableFuture getLogDeliv public static Output getLogDeliveryCanonicalUserId(GetLogDeliveryCanonicalUserIdArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:cloudfront/getLogDeliveryCanonicalUserId:getLogDeliveryCanonicalUserId", TypeShape.of(GetLogDeliveryCanonicalUserIdResult.class), args, Utilities.withVersion(options)); } + /** + * The CloudFront Log Delivery Canonical User ID data source allows access to the [canonical user ID](http://docs.aws.amazon.com/general/latest/gr/acct-identifiers.html) of the AWS `awslogsdelivery` account for CloudFront bucket logging. + * See the [Amazon CloudFront Developer Guide](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/AccessLogs.html) for more information. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.s3.S3Functions;
+     * import com.pulumi.aws.cloudfront.CloudfrontFunctions;
+     * import com.pulumi.aws.cloudfront.inputs.GetLogDeliveryCanonicalUserIdArgs;
+     * import com.pulumi.aws.s3.BucketV2;
+     * import com.pulumi.aws.s3.BucketV2Args;
+     * import com.pulumi.aws.s3.BucketOwnershipControls;
+     * import com.pulumi.aws.s3.BucketOwnershipControlsArgs;
+     * import com.pulumi.aws.s3.inputs.BucketOwnershipControlsRuleArgs;
+     * import com.pulumi.aws.s3.BucketAclV2;
+     * import com.pulumi.aws.s3.BucketAclV2Args;
+     * import com.pulumi.aws.s3.inputs.BucketAclV2AccessControlPolicyArgs;
+     * import com.pulumi.aws.s3.inputs.BucketAclV2AccessControlPolicyOwnerArgs;
+     * import com.pulumi.resources.CustomResourceOptions;
+     * import java.util.List;
+     * import java.util.ArrayList;
+     * import java.util.Map;
+     * import java.io.File;
+     * import java.nio.file.Files;
+     * import java.nio.file.Paths;
+     * 
+     * public class App {
+     *     public static void main(String[] args) {
+     *         Pulumi.run(App::stack);
+     *     }
+     * 
+     *     public static void stack(Context ctx) {
+     *         final var current = S3Functions.getCanonicalUserId();
+     * 
+     *         final var example = CloudfrontFunctions.getLogDeliveryCanonicalUserId();
+     * 
+     *         var exampleBucketV2 = new BucketV2("exampleBucketV2", BucketV2Args.builder()
+     *             .bucket("example")
+     *             .build());
+     * 
+     *         var exampleBucketOwnershipControls = new BucketOwnershipControls("exampleBucketOwnershipControls", BucketOwnershipControlsArgs.builder()
+     *             .bucket(exampleBucketV2.id())
+     *             .rule(BucketOwnershipControlsRuleArgs.builder()
+     *                 .objectOwnership("BucketOwnerPreferred")
+     *                 .build())
+     *             .build());
+     * 
+     *         var exampleBucketAclV2 = new BucketAclV2("exampleBucketAclV2", BucketAclV2Args.builder()
+     *             .bucket(exampleBucketV2.id())
+     *             .accessControlPolicy(BucketAclV2AccessControlPolicyArgs.builder()
+     *                 .grants(BucketAclV2AccessControlPolicyGrantArgs.builder()
+     *                     .grantee(BucketAclV2AccessControlPolicyGrantGranteeArgs.builder()
+     *                         .id(example.applyValue(getLogDeliveryCanonicalUserIdResult -> getLogDeliveryCanonicalUserIdResult.id()))
+     *                         .type("CanonicalUser")
+     *                         .build())
+     *                     .permission("FULL_CONTROL")
+     *                     .build())
+     *                 .owner(BucketAclV2AccessControlPolicyOwnerArgs.builder()
+     *                     .id(current.applyValue(getCanonicalUserIdResult -> getCanonicalUserIdResult.id()))
+     *                     .build())
+     *                 .build())
+     *             .build(), CustomResourceOptions.builder()
+     *                 .dependsOn(exampleBucketOwnershipControls)
+     *                 .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getLogDeliveryCanonicalUserId(GetLogDeliveryCanonicalUserIdArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:cloudfront/getLogDeliveryCanonicalUserId:getLogDeliveryCanonicalUserId", TypeShape.of(GetLogDeliveryCanonicalUserIdResult.class), args, Utilities.withVersion(options)); + } /** * The CloudFront Log Delivery Canonical User ID data source allows access to the [canonical user ID](http://docs.aws.amazon.com/general/latest/gr/acct-identifiers.html) of the AWS `awslogsdelivery` account for CloudFront bucket logging. * See the [Amazon CloudFront Developer Guide](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/AccessLogs.html) for more information. @@ -1542,8 +1793,214 @@ public static Output getOriginAccessControl(GetOri * <!--End PulumiCodeChooser --> * */ - public static CompletableFuture getOriginAccessControlPlain(GetOriginAccessControlPlainArgs args, InvokeOptions options) { - return Deployment.getInstance().invokeAsync("aws:cloudfront/getOriginAccessControl:getOriginAccessControl", TypeShape.of(GetOriginAccessControlResult.class), args, Utilities.withVersion(options)); + public static Output getOriginAccessControl(GetOriginAccessControlArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:cloudfront/getOriginAccessControl:getOriginAccessControl", TypeShape.of(GetOriginAccessControlResult.class), args, Utilities.withVersion(options)); + } + /** + * Use this data source to retrieve information for an Amazon CloudFront origin access control config. + * + * ## Example Usage + * + * The below example retrieves a CloudFront origin access control config. + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.cloudfront.CloudfrontFunctions;
+     * import com.pulumi.aws.cloudfront.inputs.GetOriginAccessControlArgs;
+     * 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 = CloudfrontFunctions.getOriginAccessControl(GetOriginAccessControlArgs.builder()
+     *             .id("E2T5VTFBZJ3BJB")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static CompletableFuture getOriginAccessControlPlain(GetOriginAccessControlPlainArgs args, InvokeOptions options) { + return Deployment.getInstance().invokeAsync("aws:cloudfront/getOriginAccessControl:getOriginAccessControl", TypeShape.of(GetOriginAccessControlResult.class), args, Utilities.withVersion(options)); + } + /** + * Use this data source to get ARNs, ids and S3 canonical user IDs of Amazon CloudFront origin access identities. + * + * ## Example Usage + * + * ### All origin access identities in the account + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.cloudfront.CloudfrontFunctions;
+     * import com.pulumi.aws.cloudfront.inputs.GetOriginAccessIdentitiesArgs;
+     * 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 = CloudfrontFunctions.getOriginAccessIdentities();
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + * ### Origin access identities filtered by comment/name + * + * Origin access identities whose comments are `example-comment1`, `example-comment2` + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.cloudfront.CloudfrontFunctions;
+     * import com.pulumi.aws.cloudfront.inputs.GetOriginAccessIdentitiesArgs;
+     * 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 = CloudfrontFunctions.getOriginAccessIdentities(GetOriginAccessIdentitiesArgs.builder()
+     *             .comments(            
+     *                 "example-comment1",
+     *                 "example-comment2")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getOriginAccessIdentities() { + return getOriginAccessIdentities(GetOriginAccessIdentitiesArgs.Empty, InvokeOptions.Empty); + } + /** + * Use this data source to get ARNs, ids and S3 canonical user IDs of Amazon CloudFront origin access identities. + * + * ## Example Usage + * + * ### All origin access identities in the account + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.cloudfront.CloudfrontFunctions;
+     * import com.pulumi.aws.cloudfront.inputs.GetOriginAccessIdentitiesArgs;
+     * 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 = CloudfrontFunctions.getOriginAccessIdentities();
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + * ### Origin access identities filtered by comment/name + * + * Origin access identities whose comments are `example-comment1`, `example-comment2` + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.cloudfront.CloudfrontFunctions;
+     * import com.pulumi.aws.cloudfront.inputs.GetOriginAccessIdentitiesArgs;
+     * 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 = CloudfrontFunctions.getOriginAccessIdentities(GetOriginAccessIdentitiesArgs.builder()
+     *             .comments(            
+     *                 "example-comment1",
+     *                 "example-comment2")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static CompletableFuture getOriginAccessIdentitiesPlain() { + return getOriginAccessIdentitiesPlain(GetOriginAccessIdentitiesPlainArgs.Empty, InvokeOptions.Empty); } /** * Use this data source to get ARNs, ids and S3 canonical user IDs of Amazon CloudFront origin access identities. @@ -1623,8 +2080,8 @@ public static CompletableFuture getOriginAccessCon * <!--End PulumiCodeChooser --> * */ - public static Output getOriginAccessIdentities() { - return getOriginAccessIdentities(GetOriginAccessIdentitiesArgs.Empty, InvokeOptions.Empty); + public static Output getOriginAccessIdentities(GetOriginAccessIdentitiesArgs args) { + return getOriginAccessIdentities(args, InvokeOptions.Empty); } /** * Use this data source to get ARNs, ids and S3 canonical user IDs of Amazon CloudFront origin access identities. @@ -1704,8 +2161,8 @@ public static Output getOriginAccessIdentities( * <!--End PulumiCodeChooser --> * */ - public static CompletableFuture getOriginAccessIdentitiesPlain() { - return getOriginAccessIdentitiesPlain(GetOriginAccessIdentitiesPlainArgs.Empty, InvokeOptions.Empty); + public static CompletableFuture getOriginAccessIdentitiesPlain(GetOriginAccessIdentitiesPlainArgs args) { + return getOriginAccessIdentitiesPlain(args, InvokeOptions.Empty); } /** * Use this data source to get ARNs, ids and S3 canonical user IDs of Amazon CloudFront origin access identities. @@ -1785,8 +2242,8 @@ public static CompletableFuture getOriginAccess * <!--End PulumiCodeChooser --> * */ - public static Output getOriginAccessIdentities(GetOriginAccessIdentitiesArgs args) { - return getOriginAccessIdentities(args, InvokeOptions.Empty); + public static Output getOriginAccessIdentities(GetOriginAccessIdentitiesArgs args, InvokeOptions options) { + return Deployment.getInstance().invoke("aws:cloudfront/getOriginAccessIdentities:getOriginAccessIdentities", TypeShape.of(GetOriginAccessIdentitiesResult.class), args, Utilities.withVersion(options)); } /** * Use this data source to get ARNs, ids and S3 canonical user IDs of Amazon CloudFront origin access identities. @@ -1866,8 +2323,8 @@ public static Output getOriginAccessIdentities( * <!--End PulumiCodeChooser --> * */ - public static CompletableFuture getOriginAccessIdentitiesPlain(GetOriginAccessIdentitiesPlainArgs args) { - return getOriginAccessIdentitiesPlain(args, InvokeOptions.Empty); + public static Output getOriginAccessIdentities(GetOriginAccessIdentitiesArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:cloudfront/getOriginAccessIdentities:getOriginAccessIdentities", TypeShape.of(GetOriginAccessIdentitiesResult.class), args, Utilities.withVersion(options)); } /** * Use this data source to get ARNs, ids and S3 canonical user IDs of Amazon CloudFront origin access identities. @@ -1947,15 +2404,15 @@ public static CompletableFuture getOriginAccess * <!--End PulumiCodeChooser --> * */ - public static Output getOriginAccessIdentities(GetOriginAccessIdentitiesArgs args, InvokeOptions options) { - return Deployment.getInstance().invoke("aws:cloudfront/getOriginAccessIdentities:getOriginAccessIdentities", TypeShape.of(GetOriginAccessIdentitiesResult.class), args, Utilities.withVersion(options)); + public static CompletableFuture getOriginAccessIdentitiesPlain(GetOriginAccessIdentitiesPlainArgs args, InvokeOptions options) { + return Deployment.getInstance().invokeAsync("aws:cloudfront/getOriginAccessIdentities:getOriginAccessIdentities", TypeShape.of(GetOriginAccessIdentitiesResult.class), args, Utilities.withVersion(options)); } /** - * Use this data source to get ARNs, ids and S3 canonical user IDs of Amazon CloudFront origin access identities. + * Use this data source to retrieve information for an Amazon CloudFront origin access identity. * * ## Example Usage * - * ### All origin access identities in the account + * The following example below creates a CloudFront origin access identity. * * <!--Start PulumiCodeChooser --> *
@@ -1966,7 +2423,7 @@ public static Output getOriginAccessIdentities(
      * import com.pulumi.Pulumi;
      * import com.pulumi.core.Output;
      * import com.pulumi.aws.cloudfront.CloudfrontFunctions;
-     * import com.pulumi.aws.cloudfront.inputs.GetOriginAccessIdentitiesArgs;
+     * import com.pulumi.aws.cloudfront.inputs.GetOriginAccessIdentityArgs;
      * import java.util.List;
      * import java.util.ArrayList;
      * import java.util.Map;
@@ -1980,7 +2437,9 @@ public static Output getOriginAccessIdentities(
      *     }
      * 
      *     public static void stack(Context ctx) {
-     *         final var example = CloudfrontFunctions.getOriginAccessIdentities();
+     *         final var example = CloudfrontFunctions.getOriginAccessIdentity(GetOriginAccessIdentityArgs.builder()
+     *             .id("E1ZAKK699EOLAL")
+     *             .build());
      * 
      *     }
      * }
@@ -1988,9 +2447,16 @@ public static Output getOriginAccessIdentities(
      * 
* <!--End PulumiCodeChooser --> * - * ### Origin access identities filtered by comment/name + */ + public static Output getOriginAccessIdentity(GetOriginAccessIdentityArgs args) { + return getOriginAccessIdentity(args, InvokeOptions.Empty); + } + /** + * Use this data source to retrieve information for an Amazon CloudFront origin access identity. * - * Origin access identities whose comments are `example-comment1`, `example-comment2` + * ## Example Usage + * + * The following example below creates a CloudFront origin access identity. * * <!--Start PulumiCodeChooser --> *
@@ -2001,7 +2467,7 @@ public static Output getOriginAccessIdentities(
      * import com.pulumi.Pulumi;
      * import com.pulumi.core.Output;
      * import com.pulumi.aws.cloudfront.CloudfrontFunctions;
-     * import com.pulumi.aws.cloudfront.inputs.GetOriginAccessIdentitiesArgs;
+     * import com.pulumi.aws.cloudfront.inputs.GetOriginAccessIdentityArgs;
      * import java.util.List;
      * import java.util.ArrayList;
      * import java.util.Map;
@@ -2015,10 +2481,8 @@ public static Output getOriginAccessIdentities(
      *     }
      * 
      *     public static void stack(Context ctx) {
-     *         final var example = CloudfrontFunctions.getOriginAccessIdentities(GetOriginAccessIdentitiesArgs.builder()
-     *             .comments(            
-     *                 "example-comment1",
-     *                 "example-comment2")
+     *         final var example = CloudfrontFunctions.getOriginAccessIdentity(GetOriginAccessIdentityArgs.builder()
+     *             .id("E1ZAKK699EOLAL")
      *             .build());
      * 
      *     }
@@ -2028,8 +2492,8 @@ public static Output getOriginAccessIdentities(
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static CompletableFuture getOriginAccessIdentitiesPlain(GetOriginAccessIdentitiesPlainArgs args, InvokeOptions options) {
-        return Deployment.getInstance().invokeAsync("aws:cloudfront/getOriginAccessIdentities:getOriginAccessIdentities", TypeShape.of(GetOriginAccessIdentitiesResult.class), args, Utilities.withVersion(options));
+    public static CompletableFuture getOriginAccessIdentityPlain(GetOriginAccessIdentityPlainArgs args) {
+        return getOriginAccessIdentityPlain(args, InvokeOptions.Empty);
     }
     /**
      * Use this data source to retrieve information for an Amazon CloudFront origin access identity.
@@ -2072,8 +2536,8 @@ public static CompletableFuture getOriginAccess
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static Output getOriginAccessIdentity(GetOriginAccessIdentityArgs args) {
-        return getOriginAccessIdentity(args, InvokeOptions.Empty);
+    public static Output getOriginAccessIdentity(GetOriginAccessIdentityArgs args, InvokeOptions options) {
+        return Deployment.getInstance().invoke("aws:cloudfront/getOriginAccessIdentity:getOriginAccessIdentity", TypeShape.of(GetOriginAccessIdentityResult.class), args, Utilities.withVersion(options));
     }
     /**
      * Use this data source to retrieve information for an Amazon CloudFront origin access identity.
@@ -2116,8 +2580,8 @@ public static Output getOriginAccessIdentity(GetO
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static CompletableFuture getOriginAccessIdentityPlain(GetOriginAccessIdentityPlainArgs args) {
-        return getOriginAccessIdentityPlain(args, InvokeOptions.Empty);
+    public static Output getOriginAccessIdentity(GetOriginAccessIdentityArgs args, InvokeOutputOptions options) {
+        return Deployment.getInstance().invoke("aws:cloudfront/getOriginAccessIdentity:getOriginAccessIdentity", TypeShape.of(GetOriginAccessIdentityResult.class), args, Utilities.withVersion(options));
     }
     /**
      * Use this data source to retrieve information for an Amazon CloudFront origin access identity.
@@ -2160,15 +2624,13 @@ public static CompletableFuture getOriginAccessId
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static Output getOriginAccessIdentity(GetOriginAccessIdentityArgs args, InvokeOptions options) {
-        return Deployment.getInstance().invoke("aws:cloudfront/getOriginAccessIdentity:getOriginAccessIdentity", TypeShape.of(GetOriginAccessIdentityResult.class), args, Utilities.withVersion(options));
+    public static CompletableFuture getOriginAccessIdentityPlain(GetOriginAccessIdentityPlainArgs args, InvokeOptions options) {
+        return Deployment.getInstance().invokeAsync("aws:cloudfront/getOriginAccessIdentity:getOriginAccessIdentity", TypeShape.of(GetOriginAccessIdentityResult.class), args, Utilities.withVersion(options));
     }
     /**
-     * Use this data source to retrieve information for an Amazon CloudFront origin access identity.
-     * 
      * ## Example Usage
      * 
-     * The following example below creates a CloudFront origin access identity.
+     * ### Basic Usage
      * 
      * <!--Start PulumiCodeChooser -->
      * 
@@ -2179,7 +2641,7 @@ public static Output getOriginAccessIdentity(GetO
      * import com.pulumi.Pulumi;
      * import com.pulumi.core.Output;
      * import com.pulumi.aws.cloudfront.CloudfrontFunctions;
-     * import com.pulumi.aws.cloudfront.inputs.GetOriginAccessIdentityArgs;
+     * import com.pulumi.aws.cloudfront.inputs.GetOriginRequestPolicyArgs;
      * import java.util.List;
      * import java.util.ArrayList;
      * import java.util.Map;
@@ -2193,8 +2655,45 @@ public static Output getOriginAccessIdentity(GetO
      *     }
      * 
      *     public static void stack(Context ctx) {
-     *         final var example = CloudfrontFunctions.getOriginAccessIdentity(GetOriginAccessIdentityArgs.builder()
-     *             .id("E1ZAKK699EOLAL")
+     *         final var example = CloudfrontFunctions.getOriginRequestPolicy(GetOriginRequestPolicyArgs.builder()
+     *             .name("example-policy")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + * ### AWS-Managed Policies + * + * AWS managed origin request policy names are prefixed with `Managed-`: + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.cloudfront.CloudfrontFunctions;
+     * import com.pulumi.aws.cloudfront.inputs.GetOriginRequestPolicyArgs;
+     * 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 uaReferer = CloudfrontFunctions.getOriginRequestPolicy(GetOriginRequestPolicyArgs.builder()
+     *             .name("Managed-UserAgentRefererHeaders")
      *             .build());
      * 
      *     }
@@ -2204,8 +2703,8 @@ public static Output getOriginAccessIdentity(GetO
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static CompletableFuture getOriginAccessIdentityPlain(GetOriginAccessIdentityPlainArgs args, InvokeOptions options) {
-        return Deployment.getInstance().invokeAsync("aws:cloudfront/getOriginAccessIdentity:getOriginAccessIdentity", TypeShape.of(GetOriginAccessIdentityResult.class), args, Utilities.withVersion(options));
+    public static Output getOriginRequestPolicy() {
+        return getOriginRequestPolicy(GetOriginRequestPolicyArgs.Empty, InvokeOptions.Empty);
     }
     /**
      * ## Example Usage
@@ -2283,8 +2782,8 @@ public static CompletableFuture getOriginAccessId
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static Output getOriginRequestPolicy() {
-        return getOriginRequestPolicy(GetOriginRequestPolicyArgs.Empty, InvokeOptions.Empty);
+    public static CompletableFuture getOriginRequestPolicyPlain() {
+        return getOriginRequestPolicyPlain(GetOriginRequestPolicyPlainArgs.Empty, InvokeOptions.Empty);
     }
     /**
      * ## Example Usage
@@ -2362,8 +2861,8 @@ public static Output getOriginRequestPolicy() {
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static CompletableFuture getOriginRequestPolicyPlain() {
-        return getOriginRequestPolicyPlain(GetOriginRequestPolicyPlainArgs.Empty, InvokeOptions.Empty);
+    public static Output getOriginRequestPolicy(GetOriginRequestPolicyArgs args) {
+        return getOriginRequestPolicy(args, InvokeOptions.Empty);
     }
     /**
      * ## Example Usage
@@ -2441,8 +2940,8 @@ public static CompletableFuture getOriginRequestPo
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static Output getOriginRequestPolicy(GetOriginRequestPolicyArgs args) {
-        return getOriginRequestPolicy(args, InvokeOptions.Empty);
+    public static CompletableFuture getOriginRequestPolicyPlain(GetOriginRequestPolicyPlainArgs args) {
+        return getOriginRequestPolicyPlain(args, InvokeOptions.Empty);
     }
     /**
      * ## Example Usage
@@ -2520,8 +3019,8 @@ public static Output getOriginRequestPolicy(GetOri
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static CompletableFuture getOriginRequestPolicyPlain(GetOriginRequestPolicyPlainArgs args) {
-        return getOriginRequestPolicyPlain(args, InvokeOptions.Empty);
+    public static Output getOriginRequestPolicy(GetOriginRequestPolicyArgs args, InvokeOptions options) {
+        return Deployment.getInstance().invoke("aws:cloudfront/getOriginRequestPolicy:getOriginRequestPolicy", TypeShape.of(GetOriginRequestPolicyResult.class), args, Utilities.withVersion(options));
     }
     /**
      * ## Example Usage
@@ -2599,7 +3098,7 @@ public static CompletableFuture getOriginRequestPo
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static Output getOriginRequestPolicy(GetOriginRequestPolicyArgs args, InvokeOptions options) {
+    public static Output getOriginRequestPolicy(GetOriginRequestPolicyArgs args, InvokeOutputOptions options) {
         return Deployment.getInstance().invoke("aws:cloudfront/getOriginRequestPolicy:getOriginRequestPolicy", TypeShape.of(GetOriginRequestPolicyResult.class), args, Utilities.withVersion(options));
     }
     /**
@@ -2807,6 +3306,48 @@ public static CompletableFuture getRealtimeLogConfig
     public static Output getRealtimeLogConfig(GetRealtimeLogConfigArgs args, InvokeOptions options) {
         return Deployment.getInstance().invoke("aws:cloudfront/getRealtimeLogConfig:getRealtimeLogConfig", TypeShape.of(GetRealtimeLogConfigResult.class), args, Utilities.withVersion(options));
     }
+    /**
+     * Provides a CloudFront real-time log configuration resource.
+     * 
+     * ## Example Usage
+     * 
+     * <!--Start PulumiCodeChooser -->
+     * 
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.cloudfront.CloudfrontFunctions;
+     * import com.pulumi.aws.cloudfront.inputs.GetRealtimeLogConfigArgs;
+     * 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 = CloudfrontFunctions.getRealtimeLogConfig(GetRealtimeLogConfigArgs.builder()
+     *             .name("example")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getRealtimeLogConfig(GetRealtimeLogConfigArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:cloudfront/getRealtimeLogConfig:getRealtimeLogConfig", TypeShape.of(GetRealtimeLogConfigResult.class), args, Utilities.withVersion(options)); + } /** * Provides a CloudFront real-time log configuration resource. * @@ -3254,6 +3795,87 @@ public static CompletableFuture getResponseHeade public static Output getResponseHeadersPolicy(GetResponseHeadersPolicyArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:cloudfront/getResponseHeadersPolicy:getResponseHeadersPolicy", TypeShape.of(GetResponseHeadersPolicyResult.class), args, Utilities.withVersion(options)); } + /** + * Use this data source to retrieve information about a CloudFront cache policy. + * + * ## Example Usage + * + * ### Basic Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.cloudfront.CloudfrontFunctions;
+     * import com.pulumi.aws.cloudfront.inputs.GetResponseHeadersPolicyArgs;
+     * 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 = CloudfrontFunctions.getResponseHeadersPolicy(GetResponseHeadersPolicyArgs.builder()
+     *             .name("example-policy")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + * ### AWS-Managed Policies + * + * AWS managed response header policy names are prefixed with `Managed-`: + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.cloudfront.CloudfrontFunctions;
+     * import com.pulumi.aws.cloudfront.inputs.GetResponseHeadersPolicyArgs;
+     * 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 = CloudfrontFunctions.getResponseHeadersPolicy(GetResponseHeadersPolicyArgs.builder()
+     *             .name("Managed-SimpleCORS")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getResponseHeadersPolicy(GetResponseHeadersPolicyArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:cloudfront/getResponseHeadersPolicy:getResponseHeadersPolicy", TypeShape.of(GetResponseHeadersPolicyResult.class), args, Utilities.withVersion(options)); + } /** * Use this data source to retrieve information about a CloudFront cache policy. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/cloudhsmv2/Cloudhsmv2Functions.java b/sdk/java/src/main/java/com/pulumi/aws/cloudhsmv2/Cloudhsmv2Functions.java index 6c09b00ee10..311df750232 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/cloudhsmv2/Cloudhsmv2Functions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/cloudhsmv2/Cloudhsmv2Functions.java @@ -11,6 +11,7 @@ import com.pulumi.core.TypeShape; import com.pulumi.deployment.Deployment; import com.pulumi.deployment.InvokeOptions; +import com.pulumi.deployment.InvokeOutputOptions; import java.util.concurrent.CompletableFuture; public final class Cloudhsmv2Functions { @@ -140,6 +141,48 @@ public static CompletableFuture getClusterPlain(GetClusterPlai public static Output getCluster(GetClusterArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:cloudhsmv2/getCluster:getCluster", TypeShape.of(GetClusterResult.class), args, Utilities.withVersion(options)); } + /** + * Use this data source to get information about a CloudHSM v2 cluster + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.cloudhsmv2.Cloudhsmv2Functions;
+     * import com.pulumi.aws.cloudhsmv2.inputs.GetClusterArgs;
+     * 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 cluster = Cloudhsmv2Functions.getCluster(GetClusterArgs.builder()
+     *             .clusterId("cluster-testclusterid")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getCluster(GetClusterArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:cloudhsmv2/getCluster:getCluster", TypeShape.of(GetClusterResult.class), args, Utilities.withVersion(options)); + } /** * Use this data source to get information about a CloudHSM v2 cluster * diff --git a/sdk/java/src/main/java/com/pulumi/aws/cloudtrail/CloudtrailFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/cloudtrail/CloudtrailFunctions.java index daaa97fce1f..2b4c3ddb663 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/cloudtrail/CloudtrailFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/cloudtrail/CloudtrailFunctions.java @@ -11,6 +11,7 @@ import com.pulumi.core.TypeShape; import com.pulumi.deployment.Deployment; import com.pulumi.deployment.InvokeOptions; +import com.pulumi.deployment.InvokeOutputOptions; import java.util.concurrent.CompletableFuture; public final class CloudtrailFunctions { @@ -429,6 +430,89 @@ public static CompletableFuture getServiceAccountPlain( public static Output getServiceAccount(GetServiceAccountArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:cloudtrail/getServiceAccount:getServiceAccount", TypeShape.of(GetServiceAccountResult.class), args, Utilities.withVersion(options)); } + /** + * Use this data source to get the Account ID of the [AWS CloudTrail Service Account](http://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-supported-regions.html) + * in a given region for the purpose of allowing CloudTrail to store trail data in S3. + * + * > **Note:** AWS documentation [states that](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/create-s3-bucket-policy-for-cloudtrail.html#troubleshooting-s3-bucket-policy) a [service principal name](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html#principal-services) should be used instead of an AWS account ID in any relevant IAM policy. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.cloudtrail.CloudtrailFunctions;
+     * import com.pulumi.aws.cloudtrail.inputs.GetServiceAccountArgs;
+     * 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;
+     * import com.pulumi.aws.s3.BucketPolicyArgs;
+     * 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 main = CloudtrailFunctions.getServiceAccount();
+     * 
+     *         var bucket = new BucketV2("bucket", BucketV2Args.builder()
+     *             .bucket("tf-cloudtrail-logging-test-bucket")
+     *             .forceDestroy(true)
+     *             .build());
+     * 
+     *         final var allowCloudtrailLogging = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()
+     *             .statements(            
+     *                 GetPolicyDocumentStatementArgs.builder()
+     *                     .sid("Put bucket policy needed for trails")
+     *                     .effect("Allow")
+     *                     .principals(GetPolicyDocumentStatementPrincipalArgs.builder()
+     *                         .type("AWS")
+     *                         .identifiers(main.applyValue(getServiceAccountResult -> getServiceAccountResult.arn()))
+     *                         .build())
+     *                     .actions("s3:PutObject")
+     *                     .resources(bucket.arn().applyValue(arn -> String.format("%s/*", arn)))
+     *                     .build(),
+     *                 GetPolicyDocumentStatementArgs.builder()
+     *                     .sid("Get bucket policy needed for trails")
+     *                     .effect("Allow")
+     *                     .principals(GetPolicyDocumentStatementPrincipalArgs.builder()
+     *                         .type("AWS")
+     *                         .identifiers(main.applyValue(getServiceAccountResult -> getServiceAccountResult.arn()))
+     *                         .build())
+     *                     .actions("s3:GetBucketAcl")
+     *                     .resources(bucket.arn())
+     *                     .build())
+     *             .build());
+     * 
+     *         var allowCloudtrailLoggingBucketPolicy = new BucketPolicy("allowCloudtrailLoggingBucketPolicy", BucketPolicyArgs.builder()
+     *             .bucket(bucket.id())
+     *             .policy(allowCloudtrailLogging.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult).applyValue(allowCloudtrailLogging -> allowCloudtrailLogging.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())))
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getServiceAccount(GetServiceAccountArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:cloudtrail/getServiceAccount:getServiceAccount", TypeShape.of(GetServiceAccountResult.class), args, Utilities.withVersion(options)); + } /** * Use this data source to get the Account ID of the [AWS CloudTrail Service Account](http://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-supported-regions.html) * in a given region for the purpose of allowing CloudTrail to store trail data in S3. diff --git a/sdk/java/src/main/java/com/pulumi/aws/cloudwatch/CloudwatchFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/cloudwatch/CloudwatchFunctions.java index 10654f16ad6..733168eeea7 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/cloudwatch/CloudwatchFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/cloudwatch/CloudwatchFunctions.java @@ -26,6 +26,7 @@ import com.pulumi.core.TypeShape; import com.pulumi.deployment.Deployment; import com.pulumi.deployment.InvokeOptions; +import com.pulumi.deployment.InvokeOutputOptions; import java.util.concurrent.CompletableFuture; public final class CloudwatchFunctions { @@ -161,6 +162,50 @@ public static CompletableFuture getEventBusPlain(GetEventBusP public static Output getEventBus(GetEventBusArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:cloudwatch/getEventBus:getEventBus", TypeShape.of(GetEventBusResult.class), args, Utilities.withVersion(options)); } + /** + * This data source can be used to fetch information about a specific + * EventBridge event bus. Use this data source to compute the ARN of + * an event bus, given the name of the bus. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.cloudwatch.CloudwatchFunctions;
+     * import com.pulumi.aws.cloudwatch.inputs.GetEventBusArgs;
+     * 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 = CloudwatchFunctions.getEventBus(GetEventBusArgs.builder()
+     *             .name("example-bus-name")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getEventBus(GetEventBusArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:cloudwatch/getEventBus:getEventBus", TypeShape.of(GetEventBusResult.class), args, Utilities.withVersion(options)); + } /** * This data source can be used to fetch information about a specific * EventBridge event bus. Use this data source to compute the ARN of @@ -337,6 +382,50 @@ public static CompletableFuture getEventConnectionPlai public static Output getEventConnection(GetEventConnectionArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:cloudwatch/getEventConnection:getEventConnection", TypeShape.of(GetEventConnectionResult.class), args, Utilities.withVersion(options)); } + /** + * Use this data source to retrieve information about an EventBridge connection. + * + * > **Note:** EventBridge was formerly known as CloudWatch Events. The functionality is identical. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.cloudwatch.CloudwatchFunctions;
+     * import com.pulumi.aws.cloudwatch.inputs.GetEventConnectionArgs;
+     * 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 test = CloudwatchFunctions.getEventConnection(GetEventConnectionArgs.builder()
+     *             .name("test")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getEventConnection(GetEventConnectionArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:cloudwatch/getEventConnection:getEventConnection", TypeShape.of(GetEventConnectionResult.class), args, Utilities.withVersion(options)); + } /** * Use this data source to retrieve information about an EventBridge connection. * @@ -601,6 +690,50 @@ public static CompletableFuture getEventSourcePlain(GetEve public static Output getEventSource(GetEventSourceArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:cloudwatch/getEventSource:getEventSource", TypeShape.of(GetEventSourceResult.class), args, Utilities.withVersion(options)); } + /** + * Use this data source to get information about an EventBridge Partner Event Source. This data source will only return one partner event source. An error will be returned if multiple sources match the same name prefix. + * + * > **Note:** EventBridge was formerly known as CloudWatch Events. The functionality is identical. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.cloudwatch.CloudwatchFunctions;
+     * import com.pulumi.aws.cloudwatch.inputs.GetEventSourceArgs;
+     * 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 examplepartner = CloudwatchFunctions.getEventSource(GetEventSourceArgs.builder()
+     *             .namePrefix("aws.partner/examplepartner.com")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getEventSource(GetEventSourceArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:cloudwatch/getEventSource:getEventSource", TypeShape.of(GetEventSourceResult.class), args, Utilities.withVersion(options)); + } /** * Use this data source to get information about an EventBridge Partner Event Source. This data source will only return one partner event source. An error will be returned if multiple sources match the same name prefix. * @@ -897,6 +1030,90 @@ public static CompletableFuture getLog public static Output getLogDataProtectionPolicyDocument(GetLogDataProtectionPolicyDocumentArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:cloudwatch/getLogDataProtectionPolicyDocument:getLogDataProtectionPolicyDocument", TypeShape.of(GetLogDataProtectionPolicyDocumentResult.class), args, Utilities.withVersion(options)); } + /** + * Generates a CloudWatch Log Group Data Protection Policy document in JSON format for use with the `aws.cloudwatch.LogDataProtectionPolicy` resource. + * + * > For more information about data protection policies, see the [Help protect sensitive log data with masking](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/mask-sensitive-log-data.html). + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.cloudwatch.CloudwatchFunctions;
+     * import com.pulumi.aws.cloudwatch.inputs.GetLogDataProtectionPolicyDocumentArgs;
+     * import com.pulumi.aws.cloudwatch.LogDataProtectionPolicy;
+     * import com.pulumi.aws.cloudwatch.LogDataProtectionPolicyArgs;
+     * 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 = CloudwatchFunctions.getLogDataProtectionPolicyDocument(GetLogDataProtectionPolicyDocumentArgs.builder()
+     *             .name("Example")
+     *             .statements(            
+     *                 GetLogDataProtectionPolicyDocumentStatementArgs.builder()
+     *                     .sid("Audit")
+     *                     .dataIdentifiers(                    
+     *                         "arn:aws:dataprotection::aws:data-identifier/EmailAddress",
+     *                         "arn:aws:dataprotection::aws:data-identifier/DriversLicense-US")
+     *                     .operation(GetLogDataProtectionPolicyDocumentStatementOperationArgs.builder()
+     *                         .audit(GetLogDataProtectionPolicyDocumentStatementOperationAuditArgs.builder()
+     *                             .findingsDestination(GetLogDataProtectionPolicyDocumentStatementOperationAuditFindingsDestinationArgs.builder()
+     *                                 .cloudwatchLogs(GetLogDataProtectionPolicyDocumentStatementOperationAuditFindingsDestinationCloudwatchLogsArgs.builder()
+     *                                     .logGroup(audit.name())
+     *                                     .build())
+     *                                 .firehose(GetLogDataProtectionPolicyDocumentStatementOperationAuditFindingsDestinationFirehoseArgs.builder()
+     *                                     .deliveryStream(auditAwsKinesisFirehoseDeliveryStream.name())
+     *                                     .build())
+     *                                 .s3(GetLogDataProtectionPolicyDocumentStatementOperationAuditFindingsDestinationS3Args.builder()
+     *                                     .bucket(auditAwsS3Bucket.bucket())
+     *                                     .build())
+     *                                 .build())
+     *                             .build())
+     *                         .build())
+     *                     .build(),
+     *                 GetLogDataProtectionPolicyDocumentStatementArgs.builder()
+     *                     .sid("Deidentify")
+     *                     .dataIdentifiers(                    
+     *                         "arn:aws:dataprotection::aws:data-identifier/EmailAddress",
+     *                         "arn:aws:dataprotection::aws:data-identifier/DriversLicense-US")
+     *                     .operation(GetLogDataProtectionPolicyDocumentStatementOperationArgs.builder()
+     *                         .deidentify(GetLogDataProtectionPolicyDocumentStatementOperationDeidentifyArgs.builder()
+     *                             .maskConfig()
+     *                             .build())
+     *                         .build())
+     *                     .build())
+     *             .build());
+     * 
+     *         var exampleLogDataProtectionPolicy = new LogDataProtectionPolicy("exampleLogDataProtectionPolicy", LogDataProtectionPolicyArgs.builder()
+     *             .logGroupName(exampleAwsCloudwatchLogGroup.name())
+     *             .policyDocument(example.applyValue(getLogDataProtectionPolicyDocumentResult -> getLogDataProtectionPolicyDocumentResult.json()))
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getLogDataProtectionPolicyDocument(GetLogDataProtectionPolicyDocumentArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:cloudwatch/getLogDataProtectionPolicyDocument:getLogDataProtectionPolicyDocument", TypeShape.of(GetLogDataProtectionPolicyDocumentResult.class), args, Utilities.withVersion(options)); + } /** * Generates a CloudWatch Log Group Data Protection Policy document in JSON format for use with the `aws.cloudwatch.LogDataProtectionPolicy` resource. * @@ -1107,6 +1324,48 @@ public static CompletableFuture getLogGroupPlain(GetLogGroupP public static Output getLogGroup(GetLogGroupArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:cloudwatch/getLogGroup:getLogGroup", TypeShape.of(GetLogGroupResult.class), args, Utilities.withVersion(options)); } + /** + * Use this data source to get information about an AWS Cloudwatch Log Group + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.cloudwatch.CloudwatchFunctions;
+     * import com.pulumi.aws.cloudwatch.inputs.GetLogGroupArgs;
+     * 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 = CloudwatchFunctions.getLogGroup(GetLogGroupArgs.builder()
+     *             .name("MyImportantLogs")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getLogGroup(GetLogGroupArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:cloudwatch/getLogGroup:getLogGroup", TypeShape.of(GetLogGroupResult.class), args, Utilities.withVersion(options)); + } /** * Use this data source to get information about an AWS Cloudwatch Log Group * @@ -1359,6 +1618,48 @@ public static CompletableFuture getLogGroupsPlain(GetLogGrou public static Output getLogGroups(GetLogGroupsArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:cloudwatch/getLogGroups:getLogGroups", TypeShape.of(GetLogGroupsResult.class), args, Utilities.withVersion(options)); } + /** + * Use this data source to get a list of AWS Cloudwatch Log Groups + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.cloudwatch.CloudwatchFunctions;
+     * import com.pulumi.aws.cloudwatch.inputs.GetLogGroupsArgs;
+     * 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 = CloudwatchFunctions.getLogGroups(GetLogGroupsArgs.builder()
+     *             .logGroupNamePrefix("/MyImportantLogs")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getLogGroups(GetLogGroupsArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:cloudwatch/getLogGroups:getLogGroups", TypeShape.of(GetLogGroupsResult.class), args, Utilities.withVersion(options)); + } /** * Use this data source to get a list of AWS Cloudwatch Log Groups * diff --git a/sdk/java/src/main/java/com/pulumi/aws/cloudwatch/LogAnomalyDetector.java b/sdk/java/src/main/java/com/pulumi/aws/cloudwatch/LogAnomalyDetector.java new file mode 100644 index 00000000000..4f4651049ea --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/cloudwatch/LogAnomalyDetector.java @@ -0,0 +1,268 @@ +// *** 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.cloudwatch; + +import com.pulumi.aws.Utilities; +import com.pulumi.aws.cloudwatch.LogAnomalyDetectorArgs; +import com.pulumi.aws.cloudwatch.inputs.LogAnomalyDetectorState; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Export; +import com.pulumi.core.annotations.ResourceType; +import com.pulumi.core.internal.Codegen; +import java.lang.Boolean; +import java.lang.Integer; +import java.lang.String; +import java.util.List; +import java.util.Map; +import java.util.Optional; +import javax.annotation.Nullable; + +/** + * Resource for managing an AWS CloudWatch Logs Log Anomaly Detector. + * + * ## Example Usage + * + * ### Basic Usage + * + * <!--Start PulumiCodeChooser --> + *
+ * {@code
+ * package generated_program;
+ * 
+ * import com.pulumi.Context;
+ * import com.pulumi.Pulumi;
+ * import com.pulumi.core.Output;
+ * import com.pulumi.aws.cloudwatch.LogGroup;
+ * import com.pulumi.aws.cloudwatch.LogGroupArgs;
+ * import com.pulumi.aws.cloudwatch.LogAnomalyDetector;
+ * import com.pulumi.aws.cloudwatch.LogAnomalyDetectorArgs;
+ * import com.pulumi.codegen.internal.KeyedValue;
+ * 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) {
+ *         for (var i = 0; i < 2; i++) {
+ *             new LogGroup("test-" + i, LogGroupArgs.builder()
+ *                 .name(String.format("testing-%s", range.value()))
+ *                 .build());
+ * 
+ *         
+ * }
+ *         var testLogAnomalyDetector = new LogAnomalyDetector("testLogAnomalyDetector", LogAnomalyDetectorArgs.builder()
+ *             .detectorName("testing")
+ *             .logGroupArnLists(test[0].arn())
+ *             .anomalyVisibilityTime(7)
+ *             .evaluationFrequency("TEN_MIN")
+ *             .enabled("false")
+ *             .build());
+ * 
+ *     }
+ * }
+ * }
+ * 
+ * <!--End PulumiCodeChooser --> + * + * ## Import + * + * Using `pulumi import`, import CloudWatch Log Anomaly Detector using the `example_id_arg`. For example: + * + * ```sh + * $ pulumi import aws:cloudwatch/logAnomalyDetector:LogAnomalyDetector example log_anomaly_detector-arn-12345678 + * ``` + * + */ +@ResourceType(type="aws:cloudwatch/logAnomalyDetector:LogAnomalyDetector") +public class LogAnomalyDetector extends com.pulumi.resources.CustomResource { + /** + * Number of days to have visibility on an anomaly. After this time period has elapsed for an anomaly, it will be automatically baselined and the anomaly detector will treat new occurrences of a similar anomaly as normal. Therefore, if you do not correct the cause of an anomaly during the time period specified in `anomaly_visibility_time`, it will be considered normal going forward and will not be detected as an anomaly. Valid Range: Minimum value of 7. Maximum value of 90. + * + */ + @Export(name="anomalyVisibilityTime", refs={Integer.class}, tree="[0]") + private Output anomalyVisibilityTime; + + /** + * @return Number of days to have visibility on an anomaly. After this time period has elapsed for an anomaly, it will be automatically baselined and the anomaly detector will treat new occurrences of a similar anomaly as normal. Therefore, if you do not correct the cause of an anomaly during the time period specified in `anomaly_visibility_time`, it will be considered normal going forward and will not be detected as an anomaly. Valid Range: Minimum value of 7. Maximum value of 90. + * + */ + public Output anomalyVisibilityTime() { + return this.anomalyVisibilityTime; + } + /** + * ARN of the log anomaly detector that you just created. + * + */ + @Export(name="arn", refs={String.class}, tree="[0]") + private Output arn; + + /** + * @return ARN of the log anomaly detector that you just created. + * + */ + public Output arn() { + return this.arn; + } + /** + * Name for this anomaly detector. + * + */ + @Export(name="detectorName", refs={String.class}, tree="[0]") + private Output detectorName; + + /** + * @return Name for this anomaly detector. + * + */ + public Output> detectorName() { + return Codegen.optional(this.detectorName); + } + @Export(name="enabled", refs={Boolean.class}, tree="[0]") + private Output enabled; + + public Output enabled() { + return this.enabled; + } + /** + * Specifies how often the anomaly detector is to run and look for anomalies. Set this value according to the frequency that the log group receives new logs. For example, if the log group receives new log events every 10 minutes, then 15 minutes might be a good setting for `evaluation_frequency`. Valid Values: `ONE_MIN | FIVE_MIN | TEN_MIN | FIFTEEN_MIN | THIRTY_MIN | ONE_HOUR`. + * + */ + @Export(name="evaluationFrequency", refs={String.class}, tree="[0]") + private Output evaluationFrequency; + + /** + * @return Specifies how often the anomaly detector is to run and look for anomalies. Set this value according to the frequency that the log group receives new logs. For example, if the log group receives new log events every 10 minutes, then 15 minutes might be a good setting for `evaluation_frequency`. Valid Values: `ONE_MIN | FIVE_MIN | TEN_MIN | FIFTEEN_MIN | THIRTY_MIN | ONE_HOUR`. + * + */ + public Output> evaluationFrequency() { + return Codegen.optional(this.evaluationFrequency); + } + /** + * You can use this parameter to limit the anomaly detection model to examine only log events that match the pattern you specify here. For more information, see [Filter and Pattern Syntax](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/FilterAndPatternSyntax.html). + * + */ + @Export(name="filterPattern", refs={String.class}, tree="[0]") + private Output filterPattern; + + /** + * @return You can use this parameter to limit the anomaly detection model to examine only log events that match the pattern you specify here. For more information, see [Filter and Pattern Syntax](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/FilterAndPatternSyntax.html). + * + */ + public Output> filterPattern() { + return Codegen.optional(this.filterPattern); + } + /** + * Optionally assigns a AWS KMS key to secure this anomaly detector and its findings. If a key is assigned, the anomalies found and the model used by this detector are encrypted at rest with the key. If a key is assigned to an anomaly detector, a user must have permissions for both this key and for the anomaly detector to retrieve information about the anomalies that it finds. + * + */ + @Export(name="kmsKeyId", refs={String.class}, tree="[0]") + private Output kmsKeyId; + + /** + * @return Optionally assigns a AWS KMS key to secure this anomaly detector and its findings. If a key is assigned, the anomalies found and the model used by this detector are encrypted at rest with the key. If a key is assigned to an anomaly detector, a user must have permissions for both this key and for the anomaly detector to retrieve information about the anomalies that it finds. + * + */ + public Output> kmsKeyId() { + return Codegen.optional(this.kmsKeyId); + } + /** + * Array containing the ARN of the log group that this anomaly detector will watch. You can specify only one log group ARN. + * + * The following arguments are optional: + * + */ + @Export(name="logGroupArnLists", refs={List.class,String.class}, tree="[0,1]") + private Output> logGroupArnLists; + + /** + * @return Array containing the ARN of the log group that this anomaly detector will watch. You can specify only one log group ARN. + * + * The following arguments are optional: + * + */ + public Output> logGroupArnLists() { + return this.logGroupArnLists; + } + @Export(name="tags", refs={Map.class,String.class}, tree="[0,1,1]") + private Output> tags; + + public Output>> tags() { + return Codegen.optional(this.tags); + } + /** + * @deprecated + * Please use `tags` instead. + * + */ + @Deprecated /* Please use `tags` instead. */ + @Export(name="tagsAll", refs={Map.class,String.class}, tree="[0,1,1]") + private Output> tagsAll; + + public Output> tagsAll() { + return this.tagsAll; + } + + /** + * + * @param name The _unique_ name of the resulting resource. + */ + public LogAnomalyDetector(java.lang.String name) { + this(name, LogAnomalyDetectorArgs.Empty); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + */ + public LogAnomalyDetector(java.lang.String name, LogAnomalyDetectorArgs 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 LogAnomalyDetector(java.lang.String name, LogAnomalyDetectorArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("aws:cloudwatch/logAnomalyDetector:LogAnomalyDetector", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false); + } + + private LogAnomalyDetector(java.lang.String name, Output id, @Nullable LogAnomalyDetectorState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("aws:cloudwatch/logAnomalyDetector:LogAnomalyDetector", name, state, makeResourceOptions(options, id), false); + } + + private static LogAnomalyDetectorArgs makeArgs(LogAnomalyDetectorArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + if (options != null && options.getUrn().isPresent()) { + return null; + } + return args == null ? LogAnomalyDetectorArgs.Empty : args; + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() + .version(Utilities.getVersion()) + .build(); + return com.pulumi.resources.CustomResourceOptions.merge(defaultOptions, options, id); + } + + /** + * Get an existing Host resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param state + * @param options Optional settings to control the behavior of the CustomResource. + */ + public static LogAnomalyDetector get(java.lang.String name, Output id, @Nullable LogAnomalyDetectorState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + return new LogAnomalyDetector(name, id, state, options); + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/cloudwatch/LogAnomalyDetectorArgs.java b/sdk/java/src/main/java/com/pulumi/aws/cloudwatch/LogAnomalyDetectorArgs.java new file mode 100644 index 00000000000..c28d3410e44 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/cloudwatch/LogAnomalyDetectorArgs.java @@ -0,0 +1,333 @@ +// *** 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.cloudwatch; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.Boolean; +import java.lang.Integer; +import java.lang.String; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class LogAnomalyDetectorArgs extends com.pulumi.resources.ResourceArgs { + + public static final LogAnomalyDetectorArgs Empty = new LogAnomalyDetectorArgs(); + + /** + * Number of days to have visibility on an anomaly. After this time period has elapsed for an anomaly, it will be automatically baselined and the anomaly detector will treat new occurrences of a similar anomaly as normal. Therefore, if you do not correct the cause of an anomaly during the time period specified in `anomaly_visibility_time`, it will be considered normal going forward and will not be detected as an anomaly. Valid Range: Minimum value of 7. Maximum value of 90. + * + */ + @Import(name="anomalyVisibilityTime") + private @Nullable Output anomalyVisibilityTime; + + /** + * @return Number of days to have visibility on an anomaly. After this time period has elapsed for an anomaly, it will be automatically baselined and the anomaly detector will treat new occurrences of a similar anomaly as normal. Therefore, if you do not correct the cause of an anomaly during the time period specified in `anomaly_visibility_time`, it will be considered normal going forward and will not be detected as an anomaly. Valid Range: Minimum value of 7. Maximum value of 90. + * + */ + public Optional> anomalyVisibilityTime() { + return Optional.ofNullable(this.anomalyVisibilityTime); + } + + /** + * Name for this anomaly detector. + * + */ + @Import(name="detectorName") + private @Nullable Output detectorName; + + /** + * @return Name for this anomaly detector. + * + */ + public Optional> detectorName() { + return Optional.ofNullable(this.detectorName); + } + + @Import(name="enabled", required=true) + private Output enabled; + + public Output enabled() { + return this.enabled; + } + + /** + * Specifies how often the anomaly detector is to run and look for anomalies. Set this value according to the frequency that the log group receives new logs. For example, if the log group receives new log events every 10 minutes, then 15 minutes might be a good setting for `evaluation_frequency`. Valid Values: `ONE_MIN | FIVE_MIN | TEN_MIN | FIFTEEN_MIN | THIRTY_MIN | ONE_HOUR`. + * + */ + @Import(name="evaluationFrequency") + private @Nullable Output evaluationFrequency; + + /** + * @return Specifies how often the anomaly detector is to run and look for anomalies. Set this value according to the frequency that the log group receives new logs. For example, if the log group receives new log events every 10 minutes, then 15 minutes might be a good setting for `evaluation_frequency`. Valid Values: `ONE_MIN | FIVE_MIN | TEN_MIN | FIFTEEN_MIN | THIRTY_MIN | ONE_HOUR`. + * + */ + public Optional> evaluationFrequency() { + return Optional.ofNullable(this.evaluationFrequency); + } + + /** + * You can use this parameter to limit the anomaly detection model to examine only log events that match the pattern you specify here. For more information, see [Filter and Pattern Syntax](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/FilterAndPatternSyntax.html). + * + */ + @Import(name="filterPattern") + private @Nullable Output filterPattern; + + /** + * @return You can use this parameter to limit the anomaly detection model to examine only log events that match the pattern you specify here. For more information, see [Filter and Pattern Syntax](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/FilterAndPatternSyntax.html). + * + */ + public Optional> filterPattern() { + return Optional.ofNullable(this.filterPattern); + } + + /** + * Optionally assigns a AWS KMS key to secure this anomaly detector and its findings. If a key is assigned, the anomalies found and the model used by this detector are encrypted at rest with the key. If a key is assigned to an anomaly detector, a user must have permissions for both this key and for the anomaly detector to retrieve information about the anomalies that it finds. + * + */ + @Import(name="kmsKeyId") + private @Nullable Output kmsKeyId; + + /** + * @return Optionally assigns a AWS KMS key to secure this anomaly detector and its findings. If a key is assigned, the anomalies found and the model used by this detector are encrypted at rest with the key. If a key is assigned to an anomaly detector, a user must have permissions for both this key and for the anomaly detector to retrieve information about the anomalies that it finds. + * + */ + public Optional> kmsKeyId() { + return Optional.ofNullable(this.kmsKeyId); + } + + /** + * Array containing the ARN of the log group that this anomaly detector will watch. You can specify only one log group ARN. + * + * The following arguments are optional: + * + */ + @Import(name="logGroupArnLists", required=true) + private Output> logGroupArnLists; + + /** + * @return Array containing the ARN of the log group that this anomaly detector will watch. You can specify only one log group ARN. + * + * The following arguments are optional: + * + */ + public Output> logGroupArnLists() { + return this.logGroupArnLists; + } + + @Import(name="tags") + private @Nullable Output> tags; + + public Optional>> tags() { + return Optional.ofNullable(this.tags); + } + + private LogAnomalyDetectorArgs() {} + + private LogAnomalyDetectorArgs(LogAnomalyDetectorArgs $) { + this.anomalyVisibilityTime = $.anomalyVisibilityTime; + this.detectorName = $.detectorName; + this.enabled = $.enabled; + this.evaluationFrequency = $.evaluationFrequency; + this.filterPattern = $.filterPattern; + this.kmsKeyId = $.kmsKeyId; + this.logGroupArnLists = $.logGroupArnLists; + this.tags = $.tags; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(LogAnomalyDetectorArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private LogAnomalyDetectorArgs $; + + public Builder() { + $ = new LogAnomalyDetectorArgs(); + } + + public Builder(LogAnomalyDetectorArgs defaults) { + $ = new LogAnomalyDetectorArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param anomalyVisibilityTime Number of days to have visibility on an anomaly. After this time period has elapsed for an anomaly, it will be automatically baselined and the anomaly detector will treat new occurrences of a similar anomaly as normal. Therefore, if you do not correct the cause of an anomaly during the time period specified in `anomaly_visibility_time`, it will be considered normal going forward and will not be detected as an anomaly. Valid Range: Minimum value of 7. Maximum value of 90. + * + * @return builder + * + */ + public Builder anomalyVisibilityTime(@Nullable Output anomalyVisibilityTime) { + $.anomalyVisibilityTime = anomalyVisibilityTime; + return this; + } + + /** + * @param anomalyVisibilityTime Number of days to have visibility on an anomaly. After this time period has elapsed for an anomaly, it will be automatically baselined and the anomaly detector will treat new occurrences of a similar anomaly as normal. Therefore, if you do not correct the cause of an anomaly during the time period specified in `anomaly_visibility_time`, it will be considered normal going forward and will not be detected as an anomaly. Valid Range: Minimum value of 7. Maximum value of 90. + * + * @return builder + * + */ + public Builder anomalyVisibilityTime(Integer anomalyVisibilityTime) { + return anomalyVisibilityTime(Output.of(anomalyVisibilityTime)); + } + + /** + * @param detectorName Name for this anomaly detector. + * + * @return builder + * + */ + public Builder detectorName(@Nullable Output detectorName) { + $.detectorName = detectorName; + return this; + } + + /** + * @param detectorName Name for this anomaly detector. + * + * @return builder + * + */ + public Builder detectorName(String detectorName) { + return detectorName(Output.of(detectorName)); + } + + public Builder enabled(Output enabled) { + $.enabled = enabled; + return this; + } + + public Builder enabled(Boolean enabled) { + return enabled(Output.of(enabled)); + } + + /** + * @param evaluationFrequency Specifies how often the anomaly detector is to run and look for anomalies. Set this value according to the frequency that the log group receives new logs. For example, if the log group receives new log events every 10 minutes, then 15 minutes might be a good setting for `evaluation_frequency`. Valid Values: `ONE_MIN | FIVE_MIN | TEN_MIN | FIFTEEN_MIN | THIRTY_MIN | ONE_HOUR`. + * + * @return builder + * + */ + public Builder evaluationFrequency(@Nullable Output evaluationFrequency) { + $.evaluationFrequency = evaluationFrequency; + return this; + } + + /** + * @param evaluationFrequency Specifies how often the anomaly detector is to run and look for anomalies. Set this value according to the frequency that the log group receives new logs. For example, if the log group receives new log events every 10 minutes, then 15 minutes might be a good setting for `evaluation_frequency`. Valid Values: `ONE_MIN | FIVE_MIN | TEN_MIN | FIFTEEN_MIN | THIRTY_MIN | ONE_HOUR`. + * + * @return builder + * + */ + public Builder evaluationFrequency(String evaluationFrequency) { + return evaluationFrequency(Output.of(evaluationFrequency)); + } + + /** + * @param filterPattern You can use this parameter to limit the anomaly detection model to examine only log events that match the pattern you specify here. For more information, see [Filter and Pattern Syntax](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/FilterAndPatternSyntax.html). + * + * @return builder + * + */ + public Builder filterPattern(@Nullable Output filterPattern) { + $.filterPattern = filterPattern; + return this; + } + + /** + * @param filterPattern You can use this parameter to limit the anomaly detection model to examine only log events that match the pattern you specify here. For more information, see [Filter and Pattern Syntax](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/FilterAndPatternSyntax.html). + * + * @return builder + * + */ + public Builder filterPattern(String filterPattern) { + return filterPattern(Output.of(filterPattern)); + } + + /** + * @param kmsKeyId Optionally assigns a AWS KMS key to secure this anomaly detector and its findings. If a key is assigned, the anomalies found and the model used by this detector are encrypted at rest with the key. If a key is assigned to an anomaly detector, a user must have permissions for both this key and for the anomaly detector to retrieve information about the anomalies that it finds. + * + * @return builder + * + */ + public Builder kmsKeyId(@Nullable Output kmsKeyId) { + $.kmsKeyId = kmsKeyId; + return this; + } + + /** + * @param kmsKeyId Optionally assigns a AWS KMS key to secure this anomaly detector and its findings. If a key is assigned, the anomalies found and the model used by this detector are encrypted at rest with the key. If a key is assigned to an anomaly detector, a user must have permissions for both this key and for the anomaly detector to retrieve information about the anomalies that it finds. + * + * @return builder + * + */ + public Builder kmsKeyId(String kmsKeyId) { + return kmsKeyId(Output.of(kmsKeyId)); + } + + /** + * @param logGroupArnLists Array containing the ARN of the log group that this anomaly detector will watch. You can specify only one log group ARN. + * + * The following arguments are optional: + * + * @return builder + * + */ + public Builder logGroupArnLists(Output> logGroupArnLists) { + $.logGroupArnLists = logGroupArnLists; + return this; + } + + /** + * @param logGroupArnLists Array containing the ARN of the log group that this anomaly detector will watch. You can specify only one log group ARN. + * + * The following arguments are optional: + * + * @return builder + * + */ + public Builder logGroupArnLists(List logGroupArnLists) { + return logGroupArnLists(Output.of(logGroupArnLists)); + } + + /** + * @param logGroupArnLists Array containing the ARN of the log group that this anomaly detector will watch. You can specify only one log group ARN. + * + * The following arguments are optional: + * + * @return builder + * + */ + public Builder logGroupArnLists(String... logGroupArnLists) { + return logGroupArnLists(List.of(logGroupArnLists)); + } + + public Builder tags(@Nullable Output> tags) { + $.tags = tags; + return this; + } + + public Builder tags(Map tags) { + return tags(Output.of(tags)); + } + + public LogAnomalyDetectorArgs build() { + if ($.enabled == null) { + throw new MissingRequiredPropertyException("LogAnomalyDetectorArgs", "enabled"); + } + if ($.logGroupArnLists == null) { + throw new MissingRequiredPropertyException("LogAnomalyDetectorArgs", "logGroupArnLists"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/cloudwatch/inputs/LogAnomalyDetectorState.java b/sdk/java/src/main/java/com/pulumi/aws/cloudwatch/inputs/LogAnomalyDetectorState.java new file mode 100644 index 00000000000..8d4c1e9224a --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/cloudwatch/inputs/LogAnomalyDetectorState.java @@ -0,0 +1,408 @@ +// *** 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.cloudwatch.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Boolean; +import java.lang.Integer; +import java.lang.String; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class LogAnomalyDetectorState extends com.pulumi.resources.ResourceArgs { + + public static final LogAnomalyDetectorState Empty = new LogAnomalyDetectorState(); + + /** + * Number of days to have visibility on an anomaly. After this time period has elapsed for an anomaly, it will be automatically baselined and the anomaly detector will treat new occurrences of a similar anomaly as normal. Therefore, if you do not correct the cause of an anomaly during the time period specified in `anomaly_visibility_time`, it will be considered normal going forward and will not be detected as an anomaly. Valid Range: Minimum value of 7. Maximum value of 90. + * + */ + @Import(name="anomalyVisibilityTime") + private @Nullable Output anomalyVisibilityTime; + + /** + * @return Number of days to have visibility on an anomaly. After this time period has elapsed for an anomaly, it will be automatically baselined and the anomaly detector will treat new occurrences of a similar anomaly as normal. Therefore, if you do not correct the cause of an anomaly during the time period specified in `anomaly_visibility_time`, it will be considered normal going forward and will not be detected as an anomaly. Valid Range: Minimum value of 7. Maximum value of 90. + * + */ + public Optional> anomalyVisibilityTime() { + return Optional.ofNullable(this.anomalyVisibilityTime); + } + + /** + * ARN of the log anomaly detector that you just created. + * + */ + @Import(name="arn") + private @Nullable Output arn; + + /** + * @return ARN of the log anomaly detector that you just created. + * + */ + public Optional> arn() { + return Optional.ofNullable(this.arn); + } + + /** + * Name for this anomaly detector. + * + */ + @Import(name="detectorName") + private @Nullable Output detectorName; + + /** + * @return Name for this anomaly detector. + * + */ + public Optional> detectorName() { + return Optional.ofNullable(this.detectorName); + } + + @Import(name="enabled") + private @Nullable Output enabled; + + public Optional> enabled() { + return Optional.ofNullable(this.enabled); + } + + /** + * Specifies how often the anomaly detector is to run and look for anomalies. Set this value according to the frequency that the log group receives new logs. For example, if the log group receives new log events every 10 minutes, then 15 minutes might be a good setting for `evaluation_frequency`. Valid Values: `ONE_MIN | FIVE_MIN | TEN_MIN | FIFTEEN_MIN | THIRTY_MIN | ONE_HOUR`. + * + */ + @Import(name="evaluationFrequency") + private @Nullable Output evaluationFrequency; + + /** + * @return Specifies how often the anomaly detector is to run and look for anomalies. Set this value according to the frequency that the log group receives new logs. For example, if the log group receives new log events every 10 minutes, then 15 minutes might be a good setting for `evaluation_frequency`. Valid Values: `ONE_MIN | FIVE_MIN | TEN_MIN | FIFTEEN_MIN | THIRTY_MIN | ONE_HOUR`. + * + */ + public Optional> evaluationFrequency() { + return Optional.ofNullable(this.evaluationFrequency); + } + + /** + * You can use this parameter to limit the anomaly detection model to examine only log events that match the pattern you specify here. For more information, see [Filter and Pattern Syntax](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/FilterAndPatternSyntax.html). + * + */ + @Import(name="filterPattern") + private @Nullable Output filterPattern; + + /** + * @return You can use this parameter to limit the anomaly detection model to examine only log events that match the pattern you specify here. For more information, see [Filter and Pattern Syntax](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/FilterAndPatternSyntax.html). + * + */ + public Optional> filterPattern() { + return Optional.ofNullable(this.filterPattern); + } + + /** + * Optionally assigns a AWS KMS key to secure this anomaly detector and its findings. If a key is assigned, the anomalies found and the model used by this detector are encrypted at rest with the key. If a key is assigned to an anomaly detector, a user must have permissions for both this key and for the anomaly detector to retrieve information about the anomalies that it finds. + * + */ + @Import(name="kmsKeyId") + private @Nullable Output kmsKeyId; + + /** + * @return Optionally assigns a AWS KMS key to secure this anomaly detector and its findings. If a key is assigned, the anomalies found and the model used by this detector are encrypted at rest with the key. If a key is assigned to an anomaly detector, a user must have permissions for both this key and for the anomaly detector to retrieve information about the anomalies that it finds. + * + */ + public Optional> kmsKeyId() { + return Optional.ofNullable(this.kmsKeyId); + } + + /** + * Array containing the ARN of the log group that this anomaly detector will watch. You can specify only one log group ARN. + * + * The following arguments are optional: + * + */ + @Import(name="logGroupArnLists") + private @Nullable Output> logGroupArnLists; + + /** + * @return Array containing the ARN of the log group that this anomaly detector will watch. You can specify only one log group ARN. + * + * The following arguments are optional: + * + */ + public Optional>> logGroupArnLists() { + return Optional.ofNullable(this.logGroupArnLists); + } + + @Import(name="tags") + private @Nullable Output> tags; + + public Optional>> tags() { + return Optional.ofNullable(this.tags); + } + + /** + * @deprecated + * Please use `tags` instead. + * + */ + @Deprecated /* Please use `tags` instead. */ + @Import(name="tagsAll") + private @Nullable Output> tagsAll; + + /** + * @deprecated + * Please use `tags` instead. + * + */ + @Deprecated /* Please use `tags` instead. */ + public Optional>> tagsAll() { + return Optional.ofNullable(this.tagsAll); + } + + private LogAnomalyDetectorState() {} + + private LogAnomalyDetectorState(LogAnomalyDetectorState $) { + this.anomalyVisibilityTime = $.anomalyVisibilityTime; + this.arn = $.arn; + this.detectorName = $.detectorName; + this.enabled = $.enabled; + this.evaluationFrequency = $.evaluationFrequency; + this.filterPattern = $.filterPattern; + this.kmsKeyId = $.kmsKeyId; + this.logGroupArnLists = $.logGroupArnLists; + this.tags = $.tags; + this.tagsAll = $.tagsAll; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(LogAnomalyDetectorState defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private LogAnomalyDetectorState $; + + public Builder() { + $ = new LogAnomalyDetectorState(); + } + + public Builder(LogAnomalyDetectorState defaults) { + $ = new LogAnomalyDetectorState(Objects.requireNonNull(defaults)); + } + + /** + * @param anomalyVisibilityTime Number of days to have visibility on an anomaly. After this time period has elapsed for an anomaly, it will be automatically baselined and the anomaly detector will treat new occurrences of a similar anomaly as normal. Therefore, if you do not correct the cause of an anomaly during the time period specified in `anomaly_visibility_time`, it will be considered normal going forward and will not be detected as an anomaly. Valid Range: Minimum value of 7. Maximum value of 90. + * + * @return builder + * + */ + public Builder anomalyVisibilityTime(@Nullable Output anomalyVisibilityTime) { + $.anomalyVisibilityTime = anomalyVisibilityTime; + return this; + } + + /** + * @param anomalyVisibilityTime Number of days to have visibility on an anomaly. After this time period has elapsed for an anomaly, it will be automatically baselined and the anomaly detector will treat new occurrences of a similar anomaly as normal. Therefore, if you do not correct the cause of an anomaly during the time period specified in `anomaly_visibility_time`, it will be considered normal going forward and will not be detected as an anomaly. Valid Range: Minimum value of 7. Maximum value of 90. + * + * @return builder + * + */ + public Builder anomalyVisibilityTime(Integer anomalyVisibilityTime) { + return anomalyVisibilityTime(Output.of(anomalyVisibilityTime)); + } + + /** + * @param arn ARN of the log anomaly detector that you just created. + * + * @return builder + * + */ + public Builder arn(@Nullable Output arn) { + $.arn = arn; + return this; + } + + /** + * @param arn ARN of the log anomaly detector that you just created. + * + * @return builder + * + */ + public Builder arn(String arn) { + return arn(Output.of(arn)); + } + + /** + * @param detectorName Name for this anomaly detector. + * + * @return builder + * + */ + public Builder detectorName(@Nullable Output detectorName) { + $.detectorName = detectorName; + return this; + } + + /** + * @param detectorName Name for this anomaly detector. + * + * @return builder + * + */ + public Builder detectorName(String detectorName) { + return detectorName(Output.of(detectorName)); + } + + public Builder enabled(@Nullable Output enabled) { + $.enabled = enabled; + return this; + } + + public Builder enabled(Boolean enabled) { + return enabled(Output.of(enabled)); + } + + /** + * @param evaluationFrequency Specifies how often the anomaly detector is to run and look for anomalies. Set this value according to the frequency that the log group receives new logs. For example, if the log group receives new log events every 10 minutes, then 15 minutes might be a good setting for `evaluation_frequency`. Valid Values: `ONE_MIN | FIVE_MIN | TEN_MIN | FIFTEEN_MIN | THIRTY_MIN | ONE_HOUR`. + * + * @return builder + * + */ + public Builder evaluationFrequency(@Nullable Output evaluationFrequency) { + $.evaluationFrequency = evaluationFrequency; + return this; + } + + /** + * @param evaluationFrequency Specifies how often the anomaly detector is to run and look for anomalies. Set this value according to the frequency that the log group receives new logs. For example, if the log group receives new log events every 10 minutes, then 15 minutes might be a good setting for `evaluation_frequency`. Valid Values: `ONE_MIN | FIVE_MIN | TEN_MIN | FIFTEEN_MIN | THIRTY_MIN | ONE_HOUR`. + * + * @return builder + * + */ + public Builder evaluationFrequency(String evaluationFrequency) { + return evaluationFrequency(Output.of(evaluationFrequency)); + } + + /** + * @param filterPattern You can use this parameter to limit the anomaly detection model to examine only log events that match the pattern you specify here. For more information, see [Filter and Pattern Syntax](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/FilterAndPatternSyntax.html). + * + * @return builder + * + */ + public Builder filterPattern(@Nullable Output filterPattern) { + $.filterPattern = filterPattern; + return this; + } + + /** + * @param filterPattern You can use this parameter to limit the anomaly detection model to examine only log events that match the pattern you specify here. For more information, see [Filter and Pattern Syntax](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/FilterAndPatternSyntax.html). + * + * @return builder + * + */ + public Builder filterPattern(String filterPattern) { + return filterPattern(Output.of(filterPattern)); + } + + /** + * @param kmsKeyId Optionally assigns a AWS KMS key to secure this anomaly detector and its findings. If a key is assigned, the anomalies found and the model used by this detector are encrypted at rest with the key. If a key is assigned to an anomaly detector, a user must have permissions for both this key and for the anomaly detector to retrieve information about the anomalies that it finds. + * + * @return builder + * + */ + public Builder kmsKeyId(@Nullable Output kmsKeyId) { + $.kmsKeyId = kmsKeyId; + return this; + } + + /** + * @param kmsKeyId Optionally assigns a AWS KMS key to secure this anomaly detector and its findings. If a key is assigned, the anomalies found and the model used by this detector are encrypted at rest with the key. If a key is assigned to an anomaly detector, a user must have permissions for both this key and for the anomaly detector to retrieve information about the anomalies that it finds. + * + * @return builder + * + */ + public Builder kmsKeyId(String kmsKeyId) { + return kmsKeyId(Output.of(kmsKeyId)); + } + + /** + * @param logGroupArnLists Array containing the ARN of the log group that this anomaly detector will watch. You can specify only one log group ARN. + * + * The following arguments are optional: + * + * @return builder + * + */ + public Builder logGroupArnLists(@Nullable Output> logGroupArnLists) { + $.logGroupArnLists = logGroupArnLists; + return this; + } + + /** + * @param logGroupArnLists Array containing the ARN of the log group that this anomaly detector will watch. You can specify only one log group ARN. + * + * The following arguments are optional: + * + * @return builder + * + */ + public Builder logGroupArnLists(List logGroupArnLists) { + return logGroupArnLists(Output.of(logGroupArnLists)); + } + + /** + * @param logGroupArnLists Array containing the ARN of the log group that this anomaly detector will watch. You can specify only one log group ARN. + * + * The following arguments are optional: + * + * @return builder + * + */ + public Builder logGroupArnLists(String... logGroupArnLists) { + return logGroupArnLists(List.of(logGroupArnLists)); + } + + public Builder tags(@Nullable Output> tags) { + $.tags = tags; + return this; + } + + public Builder tags(Map tags) { + return tags(Output.of(tags)); + } + + /** + * @return builder + * + * @deprecated + * Please use `tags` instead. + * + */ + @Deprecated /* Please use `tags` instead. */ + public Builder tagsAll(@Nullable Output> tagsAll) { + $.tagsAll = tagsAll; + return this; + } + + /** + * @return builder + * + * @deprecated + * Please use `tags` instead. + * + */ + @Deprecated /* Please use `tags` instead. */ + public Builder tagsAll(Map tagsAll) { + return tagsAll(Output.of(tagsAll)); + } + + public LogAnomalyDetectorState build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/codeartifact/CodeartifactFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/codeartifact/CodeartifactFunctions.java index 47dc1dce10e..3ab95819655 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/codeartifact/CodeartifactFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/codeartifact/CodeartifactFunctions.java @@ -14,6 +14,7 @@ import com.pulumi.core.TypeShape; import com.pulumi.deployment.Deployment; import com.pulumi.deployment.InvokeOptions; +import com.pulumi.deployment.InvokeOutputOptions; import java.util.concurrent.CompletableFuture; public final class CodeartifactFunctions { @@ -143,6 +144,48 @@ public static CompletableFuture getAuthorizationTok public static Output getAuthorizationToken(GetAuthorizationTokenArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:codeartifact/getAuthorizationToken:getAuthorizationToken", TypeShape.of(GetAuthorizationTokenResult.class), args, Utilities.withVersion(options)); } + /** + * The CodeArtifact Authorization Token data source generates a temporary authentication token for accessing repositories in a CodeArtifact domain. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.codeartifact.CodeartifactFunctions;
+     * import com.pulumi.aws.codeartifact.inputs.GetAuthorizationTokenArgs;
+     * 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 test = CodeartifactFunctions.getAuthorizationToken(GetAuthorizationTokenArgs.builder()
+     *             .domain(testAwsCodeartifactDomain.domain())
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getAuthorizationToken(GetAuthorizationTokenArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:codeartifact/getAuthorizationToken:getAuthorizationToken", TypeShape.of(GetAuthorizationTokenResult.class), args, Utilities.withVersion(options)); + } /** * The CodeArtifact Authorization Token data source generates a temporary authentication token for accessing repositories in a CodeArtifact domain. * @@ -317,6 +360,50 @@ public static CompletableFuture getRepositoryEndpoi public static Output getRepositoryEndpoint(GetRepositoryEndpointArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:codeartifact/getRepositoryEndpoint:getRepositoryEndpoint", TypeShape.of(GetRepositoryEndpointResult.class), args, Utilities.withVersion(options)); } + /** + * The CodeArtifact Repository Endpoint data source returns the endpoint of a repository for a specific package format. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.codeartifact.CodeartifactFunctions;
+     * import com.pulumi.aws.codeartifact.inputs.GetRepositoryEndpointArgs;
+     * 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 test = CodeartifactFunctions.getRepositoryEndpoint(GetRepositoryEndpointArgs.builder()
+     *             .domain(testAwsCodeartifactDomain.domain())
+     *             .repository(testAwsCodeartifactRepository.repository())
+     *             .format("npm")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getRepositoryEndpoint(GetRepositoryEndpointArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:codeartifact/getRepositoryEndpoint:getRepositoryEndpoint", TypeShape.of(GetRepositoryEndpointResult.class), args, Utilities.withVersion(options)); + } /** * The CodeArtifact Repository Endpoint data source returns the endpoint of a repository for a specific package format. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/codebuild/CodebuildFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/codebuild/CodebuildFunctions.java index d3564e690b1..3947ade13ab 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/codebuild/CodebuildFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/codebuild/CodebuildFunctions.java @@ -11,6 +11,7 @@ import com.pulumi.core.TypeShape; import com.pulumi.deployment.Deployment; import com.pulumi.deployment.InvokeOptions; +import com.pulumi.deployment.InvokeOutputOptions; import java.util.concurrent.CompletableFuture; public final class CodebuildFunctions { @@ -302,6 +303,102 @@ public static CompletableFuture getFleetPlain(GetFleetPlainArgs public static Output getFleet(GetFleetArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:codebuild/getFleet:getFleet", TypeShape.of(GetFleetResult.class), args, Utilities.withVersion(options)); } + /** + * Retrieve information about an CodeBuild Fleet. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.codebuild.Fleet;
+     * import com.pulumi.aws.codebuild.FleetArgs;
+     * import com.pulumi.aws.codebuild.inputs.FleetScalingConfigurationArgs;
+     * import com.pulumi.aws.codebuild.CodebuildFunctions;
+     * import com.pulumi.aws.codebuild.inputs.GetFleetArgs;
+     * 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 testFleet = new Fleet("testFleet", FleetArgs.builder()
+     *             .baseCapacity(2)
+     *             .computeType("BUILD_GENERAL1_SMALL")
+     *             .environmentType("LINUX_CONTAINER")
+     *             .name("full-example-codebuild-fleet")
+     *             .overflowBehavior("QUEUE")
+     *             .scalingConfiguration(FleetScalingConfigurationArgs.builder()
+     *                 .maxCapacity(5)
+     *                 .scalingType("TARGET_TRACKING_SCALING")
+     *                 .targetTrackingScalingConfigs(FleetScalingConfigurationTargetTrackingScalingConfigArgs.builder()
+     *                     .metricType("FLEET_UTILIZATION_RATE")
+     *                     .targetValue(97.5)
+     *                     .build())
+     *                 .build())
+     *             .build());
+     * 
+     *         final var test = CodebuildFunctions.getFleet(GetFleetArgs.builder()
+     *             .name(testFleet.name())
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + * ### Basic Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.codebuild.CodebuildFunctions;
+     * import com.pulumi.aws.codebuild.inputs.GetFleetArgs;
+     * 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 = CodebuildFunctions.getFleet(GetFleetArgs.builder()
+     *             .name("my-codebuild-fleet-name")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getFleet(GetFleetArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:codebuild/getFleet:getFleet", TypeShape.of(GetFleetResult.class), args, Utilities.withVersion(options)); + } /** * Retrieve information about an CodeBuild Fleet. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/codecatalyst/CodecatalystFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/codecatalyst/CodecatalystFunctions.java index 3ca35c08068..6937c3e8059 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/codecatalyst/CodecatalystFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/codecatalyst/CodecatalystFunctions.java @@ -11,6 +11,7 @@ import com.pulumi.core.TypeShape; import com.pulumi.deployment.Deployment; import com.pulumi.deployment.InvokeOptions; +import com.pulumi.deployment.InvokeOutputOptions; import java.util.concurrent.CompletableFuture; public final class CodecatalystFunctions { @@ -152,6 +153,52 @@ public static CompletableFuture getDevEnvironmentPlain( public static Output getDevEnvironment(GetDevEnvironmentArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:codecatalyst/getDevEnvironment:getDevEnvironment", TypeShape.of(GetDevEnvironmentResult.class), args, Utilities.withVersion(options)); } + /** + * Data source for managing an AWS CodeCatalyst Dev Environment. + * + * ## Example Usage + * + * ### Basic Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.codecatalyst.CodecatalystFunctions;
+     * import com.pulumi.aws.codecatalyst.inputs.GetDevEnvironmentArgs;
+     * 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 = CodecatalystFunctions.getDevEnvironment(GetDevEnvironmentArgs.builder()
+     *             .spaceName("myspace")
+     *             .projectName("myproject")
+     *             .envId(exampleAwsCodecatalystDevEnvironment.id())
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getDevEnvironment(GetDevEnvironmentArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:codecatalyst/getDevEnvironment:getDevEnvironment", TypeShape.of(GetDevEnvironmentResult.class), args, Utilities.withVersion(options)); + } /** * Data source for managing an AWS CodeCatalyst Dev Environment. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/codecommit/CodecommitFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/codecommit/CodecommitFunctions.java index 4a90fd50eae..a640441e55b 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/codecommit/CodecommitFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/codecommit/CodecommitFunctions.java @@ -14,6 +14,7 @@ import com.pulumi.core.TypeShape; import com.pulumi.deployment.Deployment; import com.pulumi.deployment.InvokeOptions; +import com.pulumi.deployment.InvokeOutputOptions; import java.util.concurrent.CompletableFuture; public final class CodecommitFunctions { @@ -143,6 +144,48 @@ public static CompletableFuture getApprovalRuleTe public static Output getApprovalRuleTemplate(GetApprovalRuleTemplateArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:codecommit/getApprovalRuleTemplate:getApprovalRuleTemplate", TypeShape.of(GetApprovalRuleTemplateResult.class), args, Utilities.withVersion(options)); } + /** + * Provides details about a specific CodeCommit Approval Rule Template. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.codecommit.CodecommitFunctions;
+     * import com.pulumi.aws.codecommit.inputs.GetApprovalRuleTemplateArgs;
+     * 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 = CodecommitFunctions.getApprovalRuleTemplate(GetApprovalRuleTemplateArgs.builder()
+     *             .name("MyExampleApprovalRuleTemplate")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getApprovalRuleTemplate(GetApprovalRuleTemplateArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:codecommit/getApprovalRuleTemplate:getApprovalRuleTemplate", TypeShape.of(GetApprovalRuleTemplateResult.class), args, Utilities.withVersion(options)); + } /** * Provides details about a specific CodeCommit Approval Rule Template. * @@ -311,6 +354,48 @@ public static CompletableFuture getRepositoryPlain(GetRepos public static Output getRepository(GetRepositoryArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:codecommit/getRepository:getRepository", TypeShape.of(GetRepositoryResult.class), args, Utilities.withVersion(options)); } + /** + * The CodeCommit Repository data source allows the ARN, Repository ID, Repository URL for HTTP and Repository URL for SSH to be retrieved for an CodeCommit repository. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.codecommit.CodecommitFunctions;
+     * import com.pulumi.aws.codecommit.inputs.GetRepositoryArgs;
+     * 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 test = CodecommitFunctions.getRepository(GetRepositoryArgs.builder()
+     *             .repositoryName("MyTestRepository")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getRepository(GetRepositoryArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:codecommit/getRepository:getRepository", TypeShape.of(GetRepositoryResult.class), args, Utilities.withVersion(options)); + } /** * The CodeCommit Repository data source allows the ARN, Repository ID, Repository URL for HTTP and Repository URL for SSH to be retrieved for an CodeCommit repository. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/codeguruprofiler/CodeguruprofilerFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/codeguruprofiler/CodeguruprofilerFunctions.java index 1119a6cf1b6..ee69c078dbc 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/codeguruprofiler/CodeguruprofilerFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/codeguruprofiler/CodeguruprofilerFunctions.java @@ -11,6 +11,7 @@ import com.pulumi.core.TypeShape; import com.pulumi.deployment.Deployment; import com.pulumi.deployment.InvokeOptions; +import com.pulumi.deployment.InvokeOutputOptions; import java.util.concurrent.CompletableFuture; public final class CodeguruprofilerFunctions { @@ -146,6 +147,50 @@ public static CompletableFuture getProfilingGroupPlain( public static Output getProfilingGroup(GetProfilingGroupArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:codeguruprofiler/getProfilingGroup:getProfilingGroup", TypeShape.of(GetProfilingGroupResult.class), args, Utilities.withVersion(options)); } + /** + * Data source for managing an AWS CodeGuru Profiler Profiling Group. + * + * ## Example Usage + * + * ### Basic Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.codeguruprofiler.CodeguruprofilerFunctions;
+     * import com.pulumi.aws.codeguruprofiler.inputs.GetProfilingGroupArgs;
+     * 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 = CodeguruprofilerFunctions.getProfilingGroup(GetProfilingGroupArgs.builder()
+     *             .name("example")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getProfilingGroup(GetProfilingGroupArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:codeguruprofiler/getProfilingGroup:getProfilingGroup", TypeShape.of(GetProfilingGroupResult.class), args, Utilities.withVersion(options)); + } /** * Data source for managing an AWS CodeGuru Profiler Profiling Group. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/codestarconnections/CodestarconnectionsFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/codestarconnections/CodestarconnectionsFunctions.java index dc537550d75..eacaf09c4d7 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/codestarconnections/CodestarconnectionsFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/codestarconnections/CodestarconnectionsFunctions.java @@ -11,6 +11,7 @@ import com.pulumi.core.TypeShape; import com.pulumi.deployment.Deployment; import com.pulumi.deployment.InvokeOptions; +import com.pulumi.deployment.InvokeOutputOptions; import java.util.concurrent.CompletableFuture; public final class CodestarconnectionsFunctions { @@ -409,6 +410,85 @@ public static CompletableFuture getConnectionPlain(GetConne public static Output getConnection(GetConnectionArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:codestarconnections/getConnection:getConnection", TypeShape.of(GetConnectionResult.class), args, Utilities.withVersion(options)); } + /** + * Provides details about CodeStar Connection. + * + * ## Example Usage + * + * ### By ARN + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.codestarconnections.CodestarconnectionsFunctions;
+     * import com.pulumi.aws.codestarconnections.inputs.GetConnectionArgs;
+     * 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 = CodestarconnectionsFunctions.getConnection(GetConnectionArgs.builder()
+     *             .arn(exampleAwsCodestarconnectionsConnection.arn())
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + * ### By Name + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.codestarconnections.CodestarconnectionsFunctions;
+     * import com.pulumi.aws.codestarconnections.inputs.GetConnectionArgs;
+     * 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 = CodestarconnectionsFunctions.getConnection(GetConnectionArgs.builder()
+     *             .name(exampleAwsCodestarconnectionsConnection.name())
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getConnection(GetConnectionArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:codestarconnections/getConnection:getConnection", TypeShape.of(GetConnectionResult.class), args, Utilities.withVersion(options)); + } /** * Provides details about CodeStar Connection. * 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 add81a1157b..ba570073fe0 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 @@ -32,6 +32,7 @@ import com.pulumi.core.TypeShape; import com.pulumi.deployment.Deployment; import com.pulumi.deployment.InvokeOptions; +import com.pulumi.deployment.InvokeOutputOptions; import java.util.concurrent.CompletableFuture; public final class CognitoFunctions { @@ -167,6 +168,50 @@ public static CompletableFuture getIdentityPoolPlain(GetI 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 + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * 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());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getIdentityPool(GetIdentityPoolArgs args, InvokeOutputOptions 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. * @@ -346,6 +391,51 @@ public static CompletableFuture getUserGroupPlain(GetUserGro public static Output getUserGroup(GetUserGroupArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:cognito/getUserGroup:getUserGroup", TypeShape.of(GetUserGroupResult.class), args, Utilities.withVersion(options)); } + /** + * Data source for managing an AWS Cognito IDP (Identity Provider) User Group. + * + * ## Example Usage + * + * ### Basic Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.cognito.CognitoFunctions;
+     * import com.pulumi.aws.cognito.inputs.GetUserGroupArgs;
+     * 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.getUserGroup(GetUserGroupArgs.builder()
+     *             .userPoolId("us-west-2_aaaaaaaaa")
+     *             .name("example")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getUserGroup(GetUserGroupArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:cognito/getUserGroup:getUserGroup", TypeShape.of(GetUserGroupResult.class), args, Utilities.withVersion(options)); + } /** * Data source for managing an AWS Cognito IDP (Identity Provider) User Group. * @@ -523,6 +613,50 @@ public static CompletableFuture getUserGroupsPlain(GetUserG public static Output getUserGroups(GetUserGroupsArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:cognito/getUserGroups:getUserGroups", TypeShape.of(GetUserGroupsResult.class), args, Utilities.withVersion(options)); } + /** + * Data source for managing AWS Cognito IDP (Identity Provider) User Groups. + * + * ## Example Usage + * + * ### Basic Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.cognito.CognitoFunctions;
+     * import com.pulumi.aws.cognito.inputs.GetUserGroupsArgs;
+     * 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.getUserGroups(GetUserGroupsArgs.builder()
+     *             .userPoolId("us-west-2_aaaaaaaaa")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getUserGroups(GetUserGroupsArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:cognito/getUserGroups:getUserGroups", TypeShape.of(GetUserGroupsResult.class), args, Utilities.withVersion(options)); + } /** * Data source for managing AWS Cognito IDP (Identity Provider) User Groups. * @@ -699,6 +833,50 @@ public static CompletableFuture getUserPoolPlain(GetUserPoolP public static Output getUserPool(GetUserPoolArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:cognito/getUserPool:getUserPool", TypeShape.of(GetUserPoolResult.class), args, Utilities.withVersion(options)); } + /** + * Data source for managing an AWS Cognito User Pool. + * + * ## Example Usage + * + * ### Basic Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.cognito.CognitoFunctions;
+     * import com.pulumi.aws.cognito.inputs.GetUserPoolArgs;
+     * 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.getUserPool(GetUserPoolArgs.builder()
+     *             .userPoolId("us-west-2_aaaaaaaaa")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getUserPool(GetUserPoolArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:cognito/getUserPool:getUserPool", TypeShape.of(GetUserPoolResult.class), args, Utilities.withVersion(options)); + } /** * Data source for managing an AWS Cognito User Pool. * @@ -872,6 +1050,49 @@ public static CompletableFuture getUserPoolClientPlain( public static Output getUserPoolClient(GetUserPoolClientArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:cognito/getUserPoolClient:getUserPoolClient", TypeShape.of(GetUserPoolClientResult.class), args, Utilities.withVersion(options)); } + /** + * Provides a Cognito User Pool Client resource. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.cognito.CognitoFunctions;
+     * import com.pulumi.aws.cognito.inputs.GetUserPoolClientArgs;
+     * 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 client = CognitoFunctions.getUserPoolClient(GetUserPoolClientArgs.builder()
+     *             .clientId("38fjsnc484p94kpqsnet7mpld0")
+     *             .userPoolId("us-west-2_aaaaaaaaa")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getUserPoolClient(GetUserPoolClientArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:cognito/getUserPoolClient:getUserPoolClient", TypeShape.of(GetUserPoolClientResult.class), args, Utilities.withVersion(options)); + } /** * Provides a Cognito User Pool Client resource. * @@ -1041,6 +1262,48 @@ public static CompletableFuture getUserPoolClientsPlai public static Output getUserPoolClients(GetUserPoolClientsArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:cognito/getUserPoolClients:getUserPoolClients", TypeShape.of(GetUserPoolClientsResult.class), args, Utilities.withVersion(options)); } + /** + * Use this data source to get a list of Cognito user pools clients for a Cognito IdP user pool. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.cognito.CognitoFunctions;
+     * import com.pulumi.aws.cognito.inputs.GetUserPoolClientsArgs;
+     * 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 main = CognitoFunctions.getUserPoolClients(GetUserPoolClientsArgs.builder()
+     *             .userPoolId(mainAwsCognitoUserPool.id())
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getUserPoolClients(GetUserPoolClientsArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:cognito/getUserPoolClients:getUserPoolClients", TypeShape.of(GetUserPoolClientsResult.class), args, Utilities.withVersion(options)); + } /** * Use this data source to get a list of Cognito user pools clients for a Cognito IdP user pool. * @@ -1209,6 +1472,48 @@ public static CompletableFuture getUserPool public static Output getUserPoolSigningCertificate(GetUserPoolSigningCertificateArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:cognito/getUserPoolSigningCertificate:getUserPoolSigningCertificate", TypeShape.of(GetUserPoolSigningCertificateResult.class), args, Utilities.withVersion(options)); } + /** + * Use this data source to get the signing certificate for a Cognito IdP user pool. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.cognito.CognitoFunctions;
+     * import com.pulumi.aws.cognito.inputs.GetUserPoolSigningCertificateArgs;
+     * 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 sc = CognitoFunctions.getUserPoolSigningCertificate(GetUserPoolSigningCertificateArgs.builder()
+     *             .userPoolId(myPool.id())
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getUserPoolSigningCertificate(GetUserPoolSigningCertificateArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:cognito/getUserPoolSigningCertificate:getUserPoolSigningCertificate", TypeShape.of(GetUserPoolSigningCertificateResult.class), args, Utilities.withVersion(options)); + } /** * Use this data source to get the signing certificate for a Cognito IdP user pool. * @@ -1422,6 +1727,63 @@ public static CompletableFuture getUserPoolsPlain(GetUserPoo public static Output getUserPools(GetUserPoolsArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:cognito/getUserPools:getUserPools", TypeShape.of(GetUserPoolsResult.class), args, Utilities.withVersion(options)); } + /** + * Use this data source to get a list of cognito user pools. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.apigateway.ApigatewayFunctions;
+     * import com.pulumi.aws.apigateway.inputs.GetRestApiArgs;
+     * import com.pulumi.aws.cognito.CognitoFunctions;
+     * import com.pulumi.aws.cognito.inputs.GetUserPoolsArgs;
+     * import com.pulumi.aws.apigateway.Authorizer;
+     * import com.pulumi.aws.apigateway.AuthorizerArgs;
+     * 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 selected = ApigatewayFunctions.getRestApi(GetRestApiArgs.builder()
+     *             .name(apiGatewayName)
+     *             .build());
+     * 
+     *         final var selectedGetUserPools = CognitoFunctions.getUserPools(GetUserPoolsArgs.builder()
+     *             .name(cognitoUserPoolName)
+     *             .build());
+     * 
+     *         var cognito = new Authorizer("cognito", AuthorizerArgs.builder()
+     *             .name("cognito")
+     *             .type("COGNITO_USER_POOLS")
+     *             .restApi(selected.applyValue(getRestApiResult -> getRestApiResult.id()))
+     *             .providerArns(selectedGetUserPools.applyValue(getUserPoolsResult -> getUserPoolsResult.arns()))
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getUserPools(GetUserPoolsArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:cognito/getUserPools:getUserPools", TypeShape.of(GetUserPoolsResult.class), args, Utilities.withVersion(options)); + } /** * Use this data source to get a list of cognito user pools. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/cognito/UserPoolDomain.java b/sdk/java/src/main/java/com/pulumi/aws/cognito/UserPoolDomain.java index c3a0036c201..f830b51ebab 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/cognito/UserPoolDomain.java +++ b/sdk/java/src/main/java/com/pulumi/aws/cognito/UserPoolDomain.java @@ -98,7 +98,7 @@ * .build()); * * var main = new UserPoolDomain("main", UserPoolDomainArgs.builder() - * .domain("example-domain") + * .domain("auth.example.com") * .certificateArn(cert.arn()) * .userPoolId(exampleUserPool.id()) * .build()); diff --git a/sdk/java/src/main/java/com/pulumi/aws/connect/ConnectFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/connect/ConnectFunctions.java index 15679327068..b6520f75ce4 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/connect/ConnectFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/connect/ConnectFunctions.java @@ -56,6 +56,7 @@ import com.pulumi.core.TypeShape; import com.pulumi.deployment.Deployment; import com.pulumi.deployment.InvokeOptions; +import com.pulumi.deployment.InvokeOutputOptions; import java.util.concurrent.CompletableFuture; public final class ConnectFunctions { @@ -203,6 +204,54 @@ public static CompletableFuture getBotAssociationPlain( public static Output getBotAssociation(GetBotAssociationArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:connect/getBotAssociation:getBotAssociation", TypeShape.of(GetBotAssociationResult.class), args, Utilities.withVersion(options)); } + /** + * Provides details about a specific Lex (V1) Bot associated with an Amazon Connect instance. + * + * ## Example Usage + * + * ### By name + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.connect.ConnectFunctions;
+     * import com.pulumi.aws.connect.inputs.GetBotAssociationArgs;
+     * import com.pulumi.aws.connect.inputs.GetBotAssociationLexBotArgs;
+     * 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 = ConnectFunctions.getBotAssociation(GetBotAssociationArgs.builder()
+     *             .instanceId("aaaaaaaa-bbbb-cccc-dddd-111111111111")
+     *             .lexBot(GetBotAssociationLexBotArgs.builder()
+     *                 .name("Test")
+     *                 .build())
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getBotAssociation(GetBotAssociationArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:connect/getBotAssociation:getBotAssociation", TypeShape.of(GetBotAssociationResult.class), args, Utilities.withVersion(options)); + } /** * Provides details about a specific Lex (V1) Bot associated with an Amazon Connect instance. * @@ -494,6 +543,87 @@ public static CompletableFuture getContactFlowPlain(GetCon public static Output getContactFlow(GetContactFlowArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:connect/getContactFlow:getContactFlow", TypeShape.of(GetContactFlowResult.class), args, Utilities.withVersion(options)); } + /** + * Provides details about a specific Amazon Connect Contact Flow. + * + * ## Example Usage + * + * By name + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.connect.ConnectFunctions;
+     * import com.pulumi.aws.connect.inputs.GetContactFlowArgs;
+     * 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 test = ConnectFunctions.getContactFlow(GetContactFlowArgs.builder()
+     *             .instanceId("aaaaaaaa-bbbb-cccc-dddd-111111111111")
+     *             .name("Test")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + * By contact_flow_id + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.connect.ConnectFunctions;
+     * import com.pulumi.aws.connect.inputs.GetContactFlowArgs;
+     * 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 test = ConnectFunctions.getContactFlow(GetContactFlowArgs.builder()
+     *             .instanceId("aaaaaaaa-bbbb-cccc-dddd-111111111111")
+     *             .contactFlowId("cccccccc-bbbb-cccc-dddd-111111111111")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getContactFlow(GetContactFlowArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:connect/getContactFlow:getContactFlow", TypeShape.of(GetContactFlowResult.class), args, Utilities.withVersion(options)); + } /** * Provides details about a specific Amazon Connect Contact Flow. * @@ -896,11 +1026,11 @@ public static Output getContactFlowModule(GetContact * <!--End PulumiCodeChooser --> * */ - public static CompletableFuture getContactFlowModulePlain(GetContactFlowModulePlainArgs args, InvokeOptions options) { - return Deployment.getInstance().invokeAsync("aws:connect/getContactFlowModule:getContactFlowModule", TypeShape.of(GetContactFlowModuleResult.class), args, Utilities.withVersion(options)); + public static Output getContactFlowModule(GetContactFlowModuleArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:connect/getContactFlowModule:getContactFlowModule", TypeShape.of(GetContactFlowModuleResult.class), args, Utilities.withVersion(options)); } /** - * Provides details about a specific Amazon Connect Hours of Operation. + * Provides details about a specific Amazon Connect Contact Flow Module. * * ## Example Usage * @@ -915,7 +1045,7 @@ public static CompletableFuture getContactFlowModule * import com.pulumi.Pulumi; * import com.pulumi.core.Output; * import com.pulumi.aws.connect.ConnectFunctions; - * import com.pulumi.aws.connect.inputs.GetHoursOfOperationArgs; + * import com.pulumi.aws.connect.inputs.GetContactFlowModuleArgs; * import java.util.List; * import java.util.ArrayList; * import java.util.Map; @@ -929,9 +1059,9 @@ public static CompletableFuture getContactFlowModule * } * * public static void stack(Context ctx) { - * final var test = ConnectFunctions.getHoursOfOperation(GetHoursOfOperationArgs.builder() + * final var example = ConnectFunctions.getContactFlowModule(GetContactFlowModuleArgs.builder() * .instanceId("aaaaaaaa-bbbb-cccc-dddd-111111111111") - * .name("Test") + * .name("example") * .build()); * * } @@ -940,7 +1070,7 @@ public static CompletableFuture getContactFlowModule *
* <!--End PulumiCodeChooser --> * - * By `hours_of_operation_id` + * By `contact_flow_module_id` * * <!--Start PulumiCodeChooser --> *
@@ -951,7 +1081,7 @@ public static CompletableFuture getContactFlowModule
      * import com.pulumi.Pulumi;
      * import com.pulumi.core.Output;
      * import com.pulumi.aws.connect.ConnectFunctions;
-     * import com.pulumi.aws.connect.inputs.GetHoursOfOperationArgs;
+     * import com.pulumi.aws.connect.inputs.GetContactFlowModuleArgs;
      * import java.util.List;
      * import java.util.ArrayList;
      * import java.util.Map;
@@ -965,9 +1095,9 @@ public static CompletableFuture getContactFlowModule
      *     }
      * 
      *     public static void stack(Context ctx) {
-     *         final var test = ConnectFunctions.getHoursOfOperation(GetHoursOfOperationArgs.builder()
+     *         final var example = ConnectFunctions.getContactFlowModule(GetContactFlowModuleArgs.builder()
      *             .instanceId("aaaaaaaa-bbbb-cccc-dddd-111111111111")
-     *             .hoursOfOperationId("cccccccc-bbbb-cccc-dddd-111111111111")
+     *             .contactFlowModuleId("cccccccc-bbbb-cccc-dddd-111111111111")
      *             .build());
      * 
      *     }
@@ -977,8 +1107,8 @@ public static CompletableFuture getContactFlowModule
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static Output getHoursOfOperation(GetHoursOfOperationArgs args) {
-        return getHoursOfOperation(args, InvokeOptions.Empty);
+    public static CompletableFuture getContactFlowModulePlain(GetContactFlowModulePlainArgs args, InvokeOptions options) {
+        return Deployment.getInstance().invokeAsync("aws:connect/getContactFlowModule:getContactFlowModule", TypeShape.of(GetContactFlowModuleResult.class), args, Utilities.withVersion(options));
     }
     /**
      * Provides details about a specific Amazon Connect Hours of Operation.
@@ -1058,8 +1188,8 @@ public static Output getHoursOfOperation(GetHoursOfOp
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static CompletableFuture getHoursOfOperationPlain(GetHoursOfOperationPlainArgs args) {
-        return getHoursOfOperationPlain(args, InvokeOptions.Empty);
+    public static Output getHoursOfOperation(GetHoursOfOperationArgs args) {
+        return getHoursOfOperation(args, InvokeOptions.Empty);
     }
     /**
      * Provides details about a specific Amazon Connect Hours of Operation.
@@ -1139,8 +1269,8 @@ public static CompletableFuture getHoursOfOperationPl
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static Output getHoursOfOperation(GetHoursOfOperationArgs args, InvokeOptions options) {
-        return Deployment.getInstance().invoke("aws:connect/getHoursOfOperation:getHoursOfOperation", TypeShape.of(GetHoursOfOperationResult.class), args, Utilities.withVersion(options));
+    public static CompletableFuture getHoursOfOperationPlain(GetHoursOfOperationPlainArgs args) {
+        return getHoursOfOperationPlain(args, InvokeOptions.Empty);
     }
     /**
      * Provides details about a specific Amazon Connect Hours of Operation.
@@ -1220,15 +1350,15 @@ public static Output getHoursOfOperation(GetHoursOfOp
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static CompletableFuture getHoursOfOperationPlain(GetHoursOfOperationPlainArgs args, InvokeOptions options) {
-        return Deployment.getInstance().invokeAsync("aws:connect/getHoursOfOperation:getHoursOfOperation", TypeShape.of(GetHoursOfOperationResult.class), args, Utilities.withVersion(options));
+    public static Output getHoursOfOperation(GetHoursOfOperationArgs args, InvokeOptions options) {
+        return Deployment.getInstance().invoke("aws:connect/getHoursOfOperation:getHoursOfOperation", TypeShape.of(GetHoursOfOperationResult.class), args, Utilities.withVersion(options));
     }
     /**
-     * Provides details about a specific Amazon Connect Instance.
+     * Provides details about a specific Amazon Connect Hours of Operation.
      * 
      * ## Example Usage
      * 
-     * By instance_alias
+     * By `name`
      * 
      * <!--Start PulumiCodeChooser -->
      * 
@@ -1239,7 +1369,7 @@ public static CompletableFuture getHoursOfOperationPl
      * import com.pulumi.Pulumi;
      * import com.pulumi.core.Output;
      * import com.pulumi.aws.connect.ConnectFunctions;
-     * import com.pulumi.aws.connect.inputs.GetInstanceArgs;
+     * import com.pulumi.aws.connect.inputs.GetHoursOfOperationArgs;
      * import java.util.List;
      * import java.util.ArrayList;
      * import java.util.Map;
@@ -1253,8 +1383,9 @@ public static CompletableFuture getHoursOfOperationPl
      *     }
      * 
      *     public static void stack(Context ctx) {
-     *         final var foo = ConnectFunctions.getInstance(GetInstanceArgs.builder()
-     *             .instanceAlias("foo")
+     *         final var test = ConnectFunctions.getHoursOfOperation(GetHoursOfOperationArgs.builder()
+     *             .instanceId("aaaaaaaa-bbbb-cccc-dddd-111111111111")
+     *             .name("Test")
      *             .build());
      * 
      *     }
@@ -1263,7 +1394,7 @@ public static CompletableFuture getHoursOfOperationPl
      * 
* <!--End PulumiCodeChooser --> * - * By instance_id + * By `hours_of_operation_id` * * <!--Start PulumiCodeChooser --> *
@@ -1274,7 +1405,7 @@ public static CompletableFuture getHoursOfOperationPl
      * import com.pulumi.Pulumi;
      * import com.pulumi.core.Output;
      * import com.pulumi.aws.connect.ConnectFunctions;
-     * import com.pulumi.aws.connect.inputs.GetInstanceArgs;
+     * import com.pulumi.aws.connect.inputs.GetHoursOfOperationArgs;
      * import java.util.List;
      * import java.util.ArrayList;
      * import java.util.Map;
@@ -1288,8 +1419,9 @@ public static CompletableFuture getHoursOfOperationPl
      *     }
      * 
      *     public static void stack(Context ctx) {
-     *         final var foo = ConnectFunctions.getInstance(GetInstanceArgs.builder()
-     *             .instanceId("97afc98d-101a-ba98-ab97-ae114fc115ec")
+     *         final var test = ConnectFunctions.getHoursOfOperation(GetHoursOfOperationArgs.builder()
+     *             .instanceId("aaaaaaaa-bbbb-cccc-dddd-111111111111")
+     *             .hoursOfOperationId("cccccccc-bbbb-cccc-dddd-111111111111")
      *             .build());
      * 
      *     }
@@ -1299,15 +1431,15 @@ public static CompletableFuture getHoursOfOperationPl
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static Output getInstance() {
-        return getInstance(GetInstanceArgs.Empty, InvokeOptions.Empty);
+    public static Output getHoursOfOperation(GetHoursOfOperationArgs args, InvokeOutputOptions options) {
+        return Deployment.getInstance().invoke("aws:connect/getHoursOfOperation:getHoursOfOperation", TypeShape.of(GetHoursOfOperationResult.class), args, Utilities.withVersion(options));
     }
     /**
-     * Provides details about a specific Amazon Connect Instance.
+     * Provides details about a specific Amazon Connect Hours of Operation.
      * 
      * ## Example Usage
      * 
-     * By instance_alias
+     * By `name`
      * 
      * <!--Start PulumiCodeChooser -->
      * 
@@ -1318,7 +1450,7 @@ public static Output getInstance() {
      * import com.pulumi.Pulumi;
      * import com.pulumi.core.Output;
      * import com.pulumi.aws.connect.ConnectFunctions;
-     * import com.pulumi.aws.connect.inputs.GetInstanceArgs;
+     * import com.pulumi.aws.connect.inputs.GetHoursOfOperationArgs;
      * import java.util.List;
      * import java.util.ArrayList;
      * import java.util.Map;
@@ -1332,8 +1464,9 @@ public static Output getInstance() {
      *     }
      * 
      *     public static void stack(Context ctx) {
-     *         final var foo = ConnectFunctions.getInstance(GetInstanceArgs.builder()
-     *             .instanceAlias("foo")
+     *         final var test = ConnectFunctions.getHoursOfOperation(GetHoursOfOperationArgs.builder()
+     *             .instanceId("aaaaaaaa-bbbb-cccc-dddd-111111111111")
+     *             .name("Test")
      *             .build());
      * 
      *     }
@@ -1342,7 +1475,7 @@ public static Output getInstance() {
      * 
* <!--End PulumiCodeChooser --> * - * By instance_id + * By `hours_of_operation_id` * * <!--Start PulumiCodeChooser --> *
@@ -1353,7 +1486,7 @@ public static Output getInstance() {
      * import com.pulumi.Pulumi;
      * import com.pulumi.core.Output;
      * import com.pulumi.aws.connect.ConnectFunctions;
-     * import com.pulumi.aws.connect.inputs.GetInstanceArgs;
+     * import com.pulumi.aws.connect.inputs.GetHoursOfOperationArgs;
      * import java.util.List;
      * import java.util.ArrayList;
      * import java.util.Map;
@@ -1367,8 +1500,9 @@ public static Output getInstance() {
      *     }
      * 
      *     public static void stack(Context ctx) {
-     *         final var foo = ConnectFunctions.getInstance(GetInstanceArgs.builder()
-     *             .instanceId("97afc98d-101a-ba98-ab97-ae114fc115ec")
+     *         final var test = ConnectFunctions.getHoursOfOperation(GetHoursOfOperationArgs.builder()
+     *             .instanceId("aaaaaaaa-bbbb-cccc-dddd-111111111111")
+     *             .hoursOfOperationId("cccccccc-bbbb-cccc-dddd-111111111111")
      *             .build());
      * 
      *     }
@@ -1378,8 +1512,8 @@ public static Output getInstance() {
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static CompletableFuture getInstancePlain() {
-        return getInstancePlain(GetInstancePlainArgs.Empty, InvokeOptions.Empty);
+    public static CompletableFuture getHoursOfOperationPlain(GetHoursOfOperationPlainArgs args, InvokeOptions options) {
+        return Deployment.getInstance().invokeAsync("aws:connect/getHoursOfOperation:getHoursOfOperation", TypeShape.of(GetHoursOfOperationResult.class), args, Utilities.withVersion(options));
     }
     /**
      * Provides details about a specific Amazon Connect Instance.
@@ -1457,8 +1591,8 @@ public static CompletableFuture getInstancePlain() {
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static Output getInstance(GetInstanceArgs args) {
-        return getInstance(args, InvokeOptions.Empty);
+    public static Output getInstance() {
+        return getInstance(GetInstanceArgs.Empty, InvokeOptions.Empty);
     }
     /**
      * Provides details about a specific Amazon Connect Instance.
@@ -1536,8 +1670,8 @@ public static Output getInstance(GetInstanceArgs args) {
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static CompletableFuture getInstancePlain(GetInstancePlainArgs args) {
-        return getInstancePlain(args, InvokeOptions.Empty);
+    public static CompletableFuture getInstancePlain() {
+        return getInstancePlain(GetInstancePlainArgs.Empty, InvokeOptions.Empty);
     }
     /**
      * Provides details about a specific Amazon Connect Instance.
@@ -1615,8 +1749,8 @@ public static CompletableFuture getInstancePlain(GetInstanceP
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static Output getInstance(GetInstanceArgs args, InvokeOptions options) {
-        return Deployment.getInstance().invoke("aws:connect/getInstance:getInstance", TypeShape.of(GetInstanceResult.class), args, Utilities.withVersion(options));
+    public static Output getInstance(GetInstanceArgs args) {
+        return getInstance(args, InvokeOptions.Empty);
     }
     /**
      * Provides details about a specific Amazon Connect Instance.
@@ -1694,14 +1828,16 @@ public static Output getInstance(GetInstanceArgs args, Invoke
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static CompletableFuture getInstancePlain(GetInstancePlainArgs args, InvokeOptions options) {
-        return Deployment.getInstance().invokeAsync("aws:connect/getInstance:getInstance", TypeShape.of(GetInstanceResult.class), args, Utilities.withVersion(options));
+    public static CompletableFuture getInstancePlain(GetInstancePlainArgs args) {
+        return getInstancePlain(args, InvokeOptions.Empty);
     }
     /**
-     * Provides details about a specific Amazon Connect Instance Storage Config.
+     * Provides details about a specific Amazon Connect Instance.
      * 
      * ## Example Usage
      * 
+     * By instance_alias
+     * 
      * <!--Start PulumiCodeChooser -->
      * 
      * {@code
@@ -1711,7 +1847,7 @@ public static CompletableFuture getInstancePlain(GetInstanceP
      * import com.pulumi.Pulumi;
      * import com.pulumi.core.Output;
      * import com.pulumi.aws.connect.ConnectFunctions;
-     * import com.pulumi.aws.connect.inputs.GetInstanceStorageConfigArgs;
+     * import com.pulumi.aws.connect.inputs.GetInstanceArgs;
      * import java.util.List;
      * import java.util.ArrayList;
      * import java.util.Map;
@@ -1725,10 +1861,8 @@ public static CompletableFuture getInstancePlain(GetInstanceP
      *     }
      * 
      *     public static void stack(Context ctx) {
-     *         final var example = ConnectFunctions.getInstanceStorageConfig(GetInstanceStorageConfigArgs.builder()
-     *             .associationId("1234567891234567890122345678912345678901223456789123456789012234")
-     *             .instanceId("aaaaaaaa-bbbb-cccc-dddd-111111111111")
-     *             .resourceType("CONTACT_TRACE_RECORDS")
+     *         final var foo = ConnectFunctions.getInstance(GetInstanceArgs.builder()
+     *             .instanceAlias("foo")
      *             .build());
      * 
      *     }
@@ -1737,14 +1871,7 @@ public static CompletableFuture getInstancePlain(GetInstanceP
      * 
* <!--End PulumiCodeChooser --> * - */ - public static Output getInstanceStorageConfig(GetInstanceStorageConfigArgs args) { - return getInstanceStorageConfig(args, InvokeOptions.Empty); - } - /** - * Provides details about a specific Amazon Connect Instance Storage Config. - * - * ## Example Usage + * By instance_id * * <!--Start PulumiCodeChooser --> *
@@ -1755,7 +1882,7 @@ public static Output getInstanceStorageConfig(Ge
      * import com.pulumi.Pulumi;
      * import com.pulumi.core.Output;
      * import com.pulumi.aws.connect.ConnectFunctions;
-     * import com.pulumi.aws.connect.inputs.GetInstanceStorageConfigArgs;
+     * import com.pulumi.aws.connect.inputs.GetInstanceArgs;
      * import java.util.List;
      * import java.util.ArrayList;
      * import java.util.Map;
@@ -1769,10 +1896,8 @@ public static Output getInstanceStorageConfig(Ge
      *     }
      * 
      *     public static void stack(Context ctx) {
-     *         final var example = ConnectFunctions.getInstanceStorageConfig(GetInstanceStorageConfigArgs.builder()
-     *             .associationId("1234567891234567890122345678912345678901223456789123456789012234")
-     *             .instanceId("aaaaaaaa-bbbb-cccc-dddd-111111111111")
-     *             .resourceType("CONTACT_TRACE_RECORDS")
+     *         final var foo = ConnectFunctions.getInstance(GetInstanceArgs.builder()
+     *             .instanceId("97afc98d-101a-ba98-ab97-ae114fc115ec")
      *             .build());
      * 
      *     }
@@ -1782,8 +1907,254 @@ public static Output getInstanceStorageConfig(Ge
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static CompletableFuture getInstanceStorageConfigPlain(GetInstanceStorageConfigPlainArgs args) {
-        return getInstanceStorageConfigPlain(args, InvokeOptions.Empty);
+    public static Output getInstance(GetInstanceArgs args, InvokeOptions options) {
+        return Deployment.getInstance().invoke("aws:connect/getInstance:getInstance", TypeShape.of(GetInstanceResult.class), args, Utilities.withVersion(options));
+    }
+    /**
+     * Provides details about a specific Amazon Connect Instance.
+     * 
+     * ## Example Usage
+     * 
+     * By instance_alias
+     * 
+     * <!--Start PulumiCodeChooser -->
+     * 
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.connect.ConnectFunctions;
+     * import com.pulumi.aws.connect.inputs.GetInstanceArgs;
+     * 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 foo = ConnectFunctions.getInstance(GetInstanceArgs.builder()
+     *             .instanceAlias("foo")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + * By instance_id + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.connect.ConnectFunctions;
+     * import com.pulumi.aws.connect.inputs.GetInstanceArgs;
+     * 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 foo = ConnectFunctions.getInstance(GetInstanceArgs.builder()
+     *             .instanceId("97afc98d-101a-ba98-ab97-ae114fc115ec")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getInstance(GetInstanceArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:connect/getInstance:getInstance", TypeShape.of(GetInstanceResult.class), args, Utilities.withVersion(options)); + } + /** + * Provides details about a specific Amazon Connect Instance. + * + * ## Example Usage + * + * By instance_alias + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.connect.ConnectFunctions;
+     * import com.pulumi.aws.connect.inputs.GetInstanceArgs;
+     * 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 foo = ConnectFunctions.getInstance(GetInstanceArgs.builder()
+     *             .instanceAlias("foo")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + * By instance_id + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.connect.ConnectFunctions;
+     * import com.pulumi.aws.connect.inputs.GetInstanceArgs;
+     * 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 foo = ConnectFunctions.getInstance(GetInstanceArgs.builder()
+     *             .instanceId("97afc98d-101a-ba98-ab97-ae114fc115ec")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static CompletableFuture getInstancePlain(GetInstancePlainArgs args, InvokeOptions options) { + return Deployment.getInstance().invokeAsync("aws:connect/getInstance:getInstance", TypeShape.of(GetInstanceResult.class), args, Utilities.withVersion(options)); + } + /** + * Provides details about a specific Amazon Connect Instance Storage Config. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.connect.ConnectFunctions;
+     * import com.pulumi.aws.connect.inputs.GetInstanceStorageConfigArgs;
+     * 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 = ConnectFunctions.getInstanceStorageConfig(GetInstanceStorageConfigArgs.builder()
+     *             .associationId("1234567891234567890122345678912345678901223456789123456789012234")
+     *             .instanceId("aaaaaaaa-bbbb-cccc-dddd-111111111111")
+     *             .resourceType("CONTACT_TRACE_RECORDS")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getInstanceStorageConfig(GetInstanceStorageConfigArgs args) { + return getInstanceStorageConfig(args, InvokeOptions.Empty); + } + /** + * Provides details about a specific Amazon Connect Instance Storage Config. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.connect.ConnectFunctions;
+     * import com.pulumi.aws.connect.inputs.GetInstanceStorageConfigArgs;
+     * 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 = ConnectFunctions.getInstanceStorageConfig(GetInstanceStorageConfigArgs.builder()
+     *             .associationId("1234567891234567890122345678912345678901223456789123456789012234")
+     *             .instanceId("aaaaaaaa-bbbb-cccc-dddd-111111111111")
+     *             .resourceType("CONTACT_TRACE_RECORDS")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static CompletableFuture getInstanceStorageConfigPlain(GetInstanceStorageConfigPlainArgs args) { + return getInstanceStorageConfigPlain(args, InvokeOptions.Empty); } /** * Provides details about a specific Amazon Connect Instance Storage Config. @@ -1870,11 +2241,11 @@ public static Output getInstanceStorageConfig(Ge * <!--End PulumiCodeChooser --> * */ - public static CompletableFuture getInstanceStorageConfigPlain(GetInstanceStorageConfigPlainArgs args, InvokeOptions options) { - return Deployment.getInstance().invokeAsync("aws:connect/getInstanceStorageConfig:getInstanceStorageConfig", TypeShape.of(GetInstanceStorageConfigResult.class), args, Utilities.withVersion(options)); + public static Output getInstanceStorageConfig(GetInstanceStorageConfigArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:connect/getInstanceStorageConfig:getInstanceStorageConfig", TypeShape.of(GetInstanceStorageConfigResult.class), args, Utilities.withVersion(options)); } /** - * Provides details about a specific Connect Lambda Function Association. + * Provides details about a specific Amazon Connect Instance Storage Config. * * ## Example Usage * @@ -1887,7 +2258,655 @@ public static CompletableFuture getInstanceStora * import com.pulumi.Pulumi; * import com.pulumi.core.Output; * import com.pulumi.aws.connect.ConnectFunctions; - * import com.pulumi.aws.connect.inputs.GetLambdaFunctionAssociationArgs; + * import com.pulumi.aws.connect.inputs.GetInstanceStorageConfigArgs; + * 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 = ConnectFunctions.getInstanceStorageConfig(GetInstanceStorageConfigArgs.builder() + * .associationId("1234567891234567890122345678912345678901223456789123456789012234") + * .instanceId("aaaaaaaa-bbbb-cccc-dddd-111111111111") + * .resourceType("CONTACT_TRACE_RECORDS") + * .build()); + * + * } + * } + * } + *
+ * <!--End PulumiCodeChooser --> + * + */ + public static CompletableFuture getInstanceStorageConfigPlain(GetInstanceStorageConfigPlainArgs args, InvokeOptions options) { + return Deployment.getInstance().invokeAsync("aws:connect/getInstanceStorageConfig:getInstanceStorageConfig", TypeShape.of(GetInstanceStorageConfigResult.class), args, Utilities.withVersion(options)); + } + /** + * Provides details about a specific Connect Lambda Function Association. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.connect.ConnectFunctions;
+     * import com.pulumi.aws.connect.inputs.GetLambdaFunctionAssociationArgs;
+     * 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 = ConnectFunctions.getLambdaFunctionAssociation(GetLambdaFunctionAssociationArgs.builder()
+     *             .functionArn("arn:aws:lambda:us-west-2:123456789123:function:abcdefg")
+     *             .instanceId("aaaaaaaa-bbbb-cccc-dddd-111111111111")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getLambdaFunctionAssociation(GetLambdaFunctionAssociationArgs args) { + return getLambdaFunctionAssociation(args, InvokeOptions.Empty); + } + /** + * Provides details about a specific Connect Lambda Function Association. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.connect.ConnectFunctions;
+     * import com.pulumi.aws.connect.inputs.GetLambdaFunctionAssociationArgs;
+     * 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 = ConnectFunctions.getLambdaFunctionAssociation(GetLambdaFunctionAssociationArgs.builder()
+     *             .functionArn("arn:aws:lambda:us-west-2:123456789123:function:abcdefg")
+     *             .instanceId("aaaaaaaa-bbbb-cccc-dddd-111111111111")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static CompletableFuture getLambdaFunctionAssociationPlain(GetLambdaFunctionAssociationPlainArgs args) { + return getLambdaFunctionAssociationPlain(args, InvokeOptions.Empty); + } + /** + * Provides details about a specific Connect Lambda Function Association. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.connect.ConnectFunctions;
+     * import com.pulumi.aws.connect.inputs.GetLambdaFunctionAssociationArgs;
+     * 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 = ConnectFunctions.getLambdaFunctionAssociation(GetLambdaFunctionAssociationArgs.builder()
+     *             .functionArn("arn:aws:lambda:us-west-2:123456789123:function:abcdefg")
+     *             .instanceId("aaaaaaaa-bbbb-cccc-dddd-111111111111")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getLambdaFunctionAssociation(GetLambdaFunctionAssociationArgs args, InvokeOptions options) { + return Deployment.getInstance().invoke("aws:connect/getLambdaFunctionAssociation:getLambdaFunctionAssociation", TypeShape.of(GetLambdaFunctionAssociationResult.class), args, Utilities.withVersion(options)); + } + /** + * Provides details about a specific Connect Lambda Function Association. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.connect.ConnectFunctions;
+     * import com.pulumi.aws.connect.inputs.GetLambdaFunctionAssociationArgs;
+     * 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 = ConnectFunctions.getLambdaFunctionAssociation(GetLambdaFunctionAssociationArgs.builder()
+     *             .functionArn("arn:aws:lambda:us-west-2:123456789123:function:abcdefg")
+     *             .instanceId("aaaaaaaa-bbbb-cccc-dddd-111111111111")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getLambdaFunctionAssociation(GetLambdaFunctionAssociationArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:connect/getLambdaFunctionAssociation:getLambdaFunctionAssociation", TypeShape.of(GetLambdaFunctionAssociationResult.class), args, Utilities.withVersion(options)); + } + /** + * Provides details about a specific Connect Lambda Function Association. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.connect.ConnectFunctions;
+     * import com.pulumi.aws.connect.inputs.GetLambdaFunctionAssociationArgs;
+     * 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 = ConnectFunctions.getLambdaFunctionAssociation(GetLambdaFunctionAssociationArgs.builder()
+     *             .functionArn("arn:aws:lambda:us-west-2:123456789123:function:abcdefg")
+     *             .instanceId("aaaaaaaa-bbbb-cccc-dddd-111111111111")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static CompletableFuture getLambdaFunctionAssociationPlain(GetLambdaFunctionAssociationPlainArgs args, InvokeOptions options) { + return Deployment.getInstance().invokeAsync("aws:connect/getLambdaFunctionAssociation:getLambdaFunctionAssociation", TypeShape.of(GetLambdaFunctionAssociationResult.class), args, Utilities.withVersion(options)); + } + /** + * Provides details about a specific Amazon Connect Prompt. + * + * ## Example Usage + * + * By `name` + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.connect.ConnectFunctions;
+     * import com.pulumi.aws.connect.inputs.GetPromptArgs;
+     * 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 = ConnectFunctions.getPrompt(GetPromptArgs.builder()
+     *             .instanceId("aaaaaaaa-bbbb-cccc-dddd-111111111111")
+     *             .name("Beep.wav")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getPrompt(GetPromptArgs args) { + return getPrompt(args, InvokeOptions.Empty); + } + /** + * Provides details about a specific Amazon Connect Prompt. + * + * ## Example Usage + * + * By `name` + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.connect.ConnectFunctions;
+     * import com.pulumi.aws.connect.inputs.GetPromptArgs;
+     * 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 = ConnectFunctions.getPrompt(GetPromptArgs.builder()
+     *             .instanceId("aaaaaaaa-bbbb-cccc-dddd-111111111111")
+     *             .name("Beep.wav")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static CompletableFuture getPromptPlain(GetPromptPlainArgs args) { + return getPromptPlain(args, InvokeOptions.Empty); + } + /** + * Provides details about a specific Amazon Connect Prompt. + * + * ## Example Usage + * + * By `name` + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.connect.ConnectFunctions;
+     * import com.pulumi.aws.connect.inputs.GetPromptArgs;
+     * 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 = ConnectFunctions.getPrompt(GetPromptArgs.builder()
+     *             .instanceId("aaaaaaaa-bbbb-cccc-dddd-111111111111")
+     *             .name("Beep.wav")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getPrompt(GetPromptArgs args, InvokeOptions options) { + return Deployment.getInstance().invoke("aws:connect/getPrompt:getPrompt", TypeShape.of(GetPromptResult.class), args, Utilities.withVersion(options)); + } + /** + * Provides details about a specific Amazon Connect Prompt. + * + * ## Example Usage + * + * By `name` + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.connect.ConnectFunctions;
+     * import com.pulumi.aws.connect.inputs.GetPromptArgs;
+     * 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 = ConnectFunctions.getPrompt(GetPromptArgs.builder()
+     *             .instanceId("aaaaaaaa-bbbb-cccc-dddd-111111111111")
+     *             .name("Beep.wav")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getPrompt(GetPromptArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:connect/getPrompt:getPrompt", TypeShape.of(GetPromptResult.class), args, Utilities.withVersion(options)); + } + /** + * Provides details about a specific Amazon Connect Prompt. + * + * ## Example Usage + * + * By `name` + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.connect.ConnectFunctions;
+     * import com.pulumi.aws.connect.inputs.GetPromptArgs;
+     * 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 = ConnectFunctions.getPrompt(GetPromptArgs.builder()
+     *             .instanceId("aaaaaaaa-bbbb-cccc-dddd-111111111111")
+     *             .name("Beep.wav")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static CompletableFuture getPromptPlain(GetPromptPlainArgs args, InvokeOptions options) { + return Deployment.getInstance().invokeAsync("aws:connect/getPrompt:getPrompt", TypeShape.of(GetPromptResult.class), args, Utilities.withVersion(options)); + } + /** + * Provides details about a specific Amazon Connect Queue. + * + * ## Example Usage + * + * By `name` + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.connect.ConnectFunctions;
+     * import com.pulumi.aws.connect.inputs.GetQueueArgs;
+     * 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 = ConnectFunctions.getQueue(GetQueueArgs.builder()
+     *             .instanceId("aaaaaaaa-bbbb-cccc-dddd-111111111111")
+     *             .name("Example")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + * By `queue_id` + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.connect.ConnectFunctions;
+     * import com.pulumi.aws.connect.inputs.GetQueueArgs;
+     * 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 = ConnectFunctions.getQueue(GetQueueArgs.builder()
+     *             .instanceId("aaaaaaaa-bbbb-cccc-dddd-111111111111")
+     *             .queueId("cccccccc-bbbb-cccc-dddd-111111111111")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getQueue(GetQueueArgs args) { + return getQueue(args, InvokeOptions.Empty); + } + /** + * Provides details about a specific Amazon Connect Queue. + * + * ## Example Usage + * + * By `name` + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.connect.ConnectFunctions;
+     * import com.pulumi.aws.connect.inputs.GetQueueArgs;
+     * 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 = ConnectFunctions.getQueue(GetQueueArgs.builder()
+     *             .instanceId("aaaaaaaa-bbbb-cccc-dddd-111111111111")
+     *             .name("Example")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + * By `queue_id` + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.connect.ConnectFunctions;
+     * import com.pulumi.aws.connect.inputs.GetQueueArgs;
+     * 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 = ConnectFunctions.getQueue(GetQueueArgs.builder()
+     *             .instanceId("aaaaaaaa-bbbb-cccc-dddd-111111111111")
+     *             .queueId("cccccccc-bbbb-cccc-dddd-111111111111")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static CompletableFuture getQueuePlain(GetQueuePlainArgs args) { + return getQueuePlain(args, InvokeOptions.Empty); + } + /** + * Provides details about a specific Amazon Connect Queue. + * + * ## Example Usage + * + * By `name` + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.connect.ConnectFunctions;
+     * import com.pulumi.aws.connect.inputs.GetQueueArgs;
      * import java.util.List;
      * import java.util.ArrayList;
      * import java.util.Map;
@@ -1901,9 +2920,9 @@ public static CompletableFuture getInstanceStora
      *     }
      * 
      *     public static void stack(Context ctx) {
-     *         final var example = ConnectFunctions.getLambdaFunctionAssociation(GetLambdaFunctionAssociationArgs.builder()
-     *             .functionArn("arn:aws:lambda:us-west-2:123456789123:function:abcdefg")
+     *         final var example = ConnectFunctions.getQueue(GetQueueArgs.builder()
      *             .instanceId("aaaaaaaa-bbbb-cccc-dddd-111111111111")
+     *             .name("Example")
      *             .build());
      * 
      *     }
@@ -1912,14 +2931,7 @@ public static CompletableFuture getInstanceStora
      * 
* <!--End PulumiCodeChooser --> * - */ - public static Output getLambdaFunctionAssociation(GetLambdaFunctionAssociationArgs args) { - return getLambdaFunctionAssociation(args, InvokeOptions.Empty); - } - /** - * Provides details about a specific Connect Lambda Function Association. - * - * ## Example Usage + * By `queue_id` * * <!--Start PulumiCodeChooser --> *
@@ -1930,7 +2942,7 @@ public static Output getLambdaFunctionAssoci
      * import com.pulumi.Pulumi;
      * import com.pulumi.core.Output;
      * import com.pulumi.aws.connect.ConnectFunctions;
-     * import com.pulumi.aws.connect.inputs.GetLambdaFunctionAssociationArgs;
+     * import com.pulumi.aws.connect.inputs.GetQueueArgs;
      * import java.util.List;
      * import java.util.ArrayList;
      * import java.util.Map;
@@ -1944,9 +2956,9 @@ public static Output getLambdaFunctionAssoci
      *     }
      * 
      *     public static void stack(Context ctx) {
-     *         final var example = ConnectFunctions.getLambdaFunctionAssociation(GetLambdaFunctionAssociationArgs.builder()
-     *             .functionArn("arn:aws:lambda:us-west-2:123456789123:function:abcdefg")
+     *         final var example = ConnectFunctions.getQueue(GetQueueArgs.builder()
      *             .instanceId("aaaaaaaa-bbbb-cccc-dddd-111111111111")
+     *             .queueId("cccccccc-bbbb-cccc-dddd-111111111111")
      *             .build());
      * 
      *     }
@@ -1956,14 +2968,16 @@ public static Output getLambdaFunctionAssoci
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static CompletableFuture getLambdaFunctionAssociationPlain(GetLambdaFunctionAssociationPlainArgs args) {
-        return getLambdaFunctionAssociationPlain(args, InvokeOptions.Empty);
+    public static Output getQueue(GetQueueArgs args, InvokeOptions options) {
+        return Deployment.getInstance().invoke("aws:connect/getQueue:getQueue", TypeShape.of(GetQueueResult.class), args, Utilities.withVersion(options));
     }
     /**
-     * Provides details about a specific Connect Lambda Function Association.
+     * Provides details about a specific Amazon Connect Queue.
      * 
      * ## Example Usage
      * 
+     * By `name`
+     * 
      * <!--Start PulumiCodeChooser -->
      * 
      * {@code
@@ -1973,7 +2987,7 @@ public static CompletableFuture getLambdaFun
      * import com.pulumi.Pulumi;
      * import com.pulumi.core.Output;
      * import com.pulumi.aws.connect.ConnectFunctions;
-     * import com.pulumi.aws.connect.inputs.GetLambdaFunctionAssociationArgs;
+     * import com.pulumi.aws.connect.inputs.GetQueueArgs;
      * import java.util.List;
      * import java.util.ArrayList;
      * import java.util.Map;
@@ -1987,9 +3001,9 @@ public static CompletableFuture getLambdaFun
      *     }
      * 
      *     public static void stack(Context ctx) {
-     *         final var example = ConnectFunctions.getLambdaFunctionAssociation(GetLambdaFunctionAssociationArgs.builder()
-     *             .functionArn("arn:aws:lambda:us-west-2:123456789123:function:abcdefg")
+     *         final var example = ConnectFunctions.getQueue(GetQueueArgs.builder()
      *             .instanceId("aaaaaaaa-bbbb-cccc-dddd-111111111111")
+     *             .name("Example")
      *             .build());
      * 
      *     }
@@ -1998,14 +3012,7 @@ public static CompletableFuture getLambdaFun
      * 
* <!--End PulumiCodeChooser --> * - */ - public static Output getLambdaFunctionAssociation(GetLambdaFunctionAssociationArgs args, InvokeOptions options) { - return Deployment.getInstance().invoke("aws:connect/getLambdaFunctionAssociation:getLambdaFunctionAssociation", TypeShape.of(GetLambdaFunctionAssociationResult.class), args, Utilities.withVersion(options)); - } - /** - * Provides details about a specific Connect Lambda Function Association. - * - * ## Example Usage + * By `queue_id` * * <!--Start PulumiCodeChooser --> *
@@ -2016,7 +3023,7 @@ public static Output getLambdaFunctionAssoci
      * import com.pulumi.Pulumi;
      * import com.pulumi.core.Output;
      * import com.pulumi.aws.connect.ConnectFunctions;
-     * import com.pulumi.aws.connect.inputs.GetLambdaFunctionAssociationArgs;
+     * import com.pulumi.aws.connect.inputs.GetQueueArgs;
      * import java.util.List;
      * import java.util.ArrayList;
      * import java.util.Map;
@@ -2030,9 +3037,9 @@ public static Output getLambdaFunctionAssoci
      *     }
      * 
      *     public static void stack(Context ctx) {
-     *         final var example = ConnectFunctions.getLambdaFunctionAssociation(GetLambdaFunctionAssociationArgs.builder()
-     *             .functionArn("arn:aws:lambda:us-west-2:123456789123:function:abcdefg")
+     *         final var example = ConnectFunctions.getQueue(GetQueueArgs.builder()
      *             .instanceId("aaaaaaaa-bbbb-cccc-dddd-111111111111")
+     *             .queueId("cccccccc-bbbb-cccc-dddd-111111111111")
      *             .build());
      * 
      *     }
@@ -2042,11 +3049,11 @@ public static Output getLambdaFunctionAssoci
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static CompletableFuture getLambdaFunctionAssociationPlain(GetLambdaFunctionAssociationPlainArgs args, InvokeOptions options) {
-        return Deployment.getInstance().invokeAsync("aws:connect/getLambdaFunctionAssociation:getLambdaFunctionAssociation", TypeShape.of(GetLambdaFunctionAssociationResult.class), args, Utilities.withVersion(options));
+    public static Output getQueue(GetQueueArgs args, InvokeOutputOptions options) {
+        return Deployment.getInstance().invoke("aws:connect/getQueue:getQueue", TypeShape.of(GetQueueResult.class), args, Utilities.withVersion(options));
     }
     /**
-     * Provides details about a specific Amazon Connect Prompt.
+     * Provides details about a specific Amazon Connect Queue.
      * 
      * ## Example Usage
      * 
@@ -2061,7 +3068,7 @@ public static CompletableFuture getLambdaFun
      * import com.pulumi.Pulumi;
      * import com.pulumi.core.Output;
      * import com.pulumi.aws.connect.ConnectFunctions;
-     * import com.pulumi.aws.connect.inputs.GetPromptArgs;
+     * import com.pulumi.aws.connect.inputs.GetQueueArgs;
      * import java.util.List;
      * import java.util.ArrayList;
      * import java.util.Map;
@@ -2075,9 +3082,9 @@ public static CompletableFuture getLambdaFun
      *     }
      * 
      *     public static void stack(Context ctx) {
-     *         final var example = ConnectFunctions.getPrompt(GetPromptArgs.builder()
+     *         final var example = ConnectFunctions.getQueue(GetQueueArgs.builder()
      *             .instanceId("aaaaaaaa-bbbb-cccc-dddd-111111111111")
-     *             .name("Beep.wav")
+     *             .name("Example")
      *             .build());
      * 
      *     }
@@ -2086,16 +3093,7 @@ public static CompletableFuture getLambdaFun
      * 
* <!--End PulumiCodeChooser --> * - */ - public static Output getPrompt(GetPromptArgs args) { - return getPrompt(args, InvokeOptions.Empty); - } - /** - * Provides details about a specific Amazon Connect Prompt. - * - * ## Example Usage - * - * By `name` + * By `queue_id` * * <!--Start PulumiCodeChooser --> *
@@ -2106,7 +3104,7 @@ public static Output getPrompt(GetPromptArgs args) {
      * import com.pulumi.Pulumi;
      * import com.pulumi.core.Output;
      * import com.pulumi.aws.connect.ConnectFunctions;
-     * import com.pulumi.aws.connect.inputs.GetPromptArgs;
+     * import com.pulumi.aws.connect.inputs.GetQueueArgs;
      * import java.util.List;
      * import java.util.ArrayList;
      * import java.util.Map;
@@ -2120,9 +3118,9 @@ public static Output getPrompt(GetPromptArgs args) {
      *     }
      * 
      *     public static void stack(Context ctx) {
-     *         final var example = ConnectFunctions.getPrompt(GetPromptArgs.builder()
+     *         final var example = ConnectFunctions.getQueue(GetQueueArgs.builder()
      *             .instanceId("aaaaaaaa-bbbb-cccc-dddd-111111111111")
-     *             .name("Beep.wav")
+     *             .queueId("cccccccc-bbbb-cccc-dddd-111111111111")
      *             .build());
      * 
      *     }
@@ -2132,11 +3130,11 @@ public static Output getPrompt(GetPromptArgs args) {
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static CompletableFuture getPromptPlain(GetPromptPlainArgs args) {
-        return getPromptPlain(args, InvokeOptions.Empty);
+    public static CompletableFuture getQueuePlain(GetQueuePlainArgs args, InvokeOptions options) {
+        return Deployment.getInstance().invokeAsync("aws:connect/getQueue:getQueue", TypeShape.of(GetQueueResult.class), args, Utilities.withVersion(options));
     }
     /**
-     * Provides details about a specific Amazon Connect Prompt.
+     * Provides details about a specific Amazon Connect Quick Connect.
      * 
      * ## Example Usage
      * 
@@ -2151,7 +3149,7 @@ public static CompletableFuture getPromptPlain(GetPromptPlainAr
      * import com.pulumi.Pulumi;
      * import com.pulumi.core.Output;
      * import com.pulumi.aws.connect.ConnectFunctions;
-     * import com.pulumi.aws.connect.inputs.GetPromptArgs;
+     * import com.pulumi.aws.connect.inputs.GetQuickConnectArgs;
      * import java.util.List;
      * import java.util.ArrayList;
      * import java.util.Map;
@@ -2165,9 +3163,9 @@ public static CompletableFuture getPromptPlain(GetPromptPlainAr
      *     }
      * 
      *     public static void stack(Context ctx) {
-     *         final var example = ConnectFunctions.getPrompt(GetPromptArgs.builder()
+     *         final var example = ConnectFunctions.getQuickConnect(GetQuickConnectArgs.builder()
      *             .instanceId("aaaaaaaa-bbbb-cccc-dddd-111111111111")
-     *             .name("Beep.wav")
+     *             .name("Example")
      *             .build());
      * 
      *     }
@@ -2176,16 +3174,7 @@ public static CompletableFuture getPromptPlain(GetPromptPlainAr
      * 
* <!--End PulumiCodeChooser --> * - */ - public static Output getPrompt(GetPromptArgs args, InvokeOptions options) { - return Deployment.getInstance().invoke("aws:connect/getPrompt:getPrompt", TypeShape.of(GetPromptResult.class), args, Utilities.withVersion(options)); - } - /** - * Provides details about a specific Amazon Connect Prompt. - * - * ## Example Usage - * - * By `name` + * By `quick_connect_id` * * <!--Start PulumiCodeChooser --> *
@@ -2196,7 +3185,7 @@ public static Output getPrompt(GetPromptArgs args, InvokeOption
      * import com.pulumi.Pulumi;
      * import com.pulumi.core.Output;
      * import com.pulumi.aws.connect.ConnectFunctions;
-     * import com.pulumi.aws.connect.inputs.GetPromptArgs;
+     * import com.pulumi.aws.connect.inputs.GetQuickConnectArgs;
      * import java.util.List;
      * import java.util.ArrayList;
      * import java.util.Map;
@@ -2210,9 +3199,9 @@ public static Output getPrompt(GetPromptArgs args, InvokeOption
      *     }
      * 
      *     public static void stack(Context ctx) {
-     *         final var example = ConnectFunctions.getPrompt(GetPromptArgs.builder()
+     *         final var example = ConnectFunctions.getQuickConnect(GetQuickConnectArgs.builder()
      *             .instanceId("aaaaaaaa-bbbb-cccc-dddd-111111111111")
-     *             .name("Beep.wav")
+     *             .quickConnectId("cccccccc-bbbb-cccc-dddd-111111111111")
      *             .build());
      * 
      *     }
@@ -2222,11 +3211,11 @@ public static Output getPrompt(GetPromptArgs args, InvokeOption
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static CompletableFuture getPromptPlain(GetPromptPlainArgs args, InvokeOptions options) {
-        return Deployment.getInstance().invokeAsync("aws:connect/getPrompt:getPrompt", TypeShape.of(GetPromptResult.class), args, Utilities.withVersion(options));
+    public static Output getQuickConnect(GetQuickConnectArgs args) {
+        return getQuickConnect(args, InvokeOptions.Empty);
     }
     /**
-     * Provides details about a specific Amazon Connect Queue.
+     * Provides details about a specific Amazon Connect Quick Connect.
      * 
      * ## Example Usage
      * 
@@ -2241,7 +3230,7 @@ public static CompletableFuture getPromptPlain(GetPromptPlainAr
      * import com.pulumi.Pulumi;
      * import com.pulumi.core.Output;
      * import com.pulumi.aws.connect.ConnectFunctions;
-     * import com.pulumi.aws.connect.inputs.GetQueueArgs;
+     * import com.pulumi.aws.connect.inputs.GetQuickConnectArgs;
      * import java.util.List;
      * import java.util.ArrayList;
      * import java.util.Map;
@@ -2255,7 +3244,7 @@ public static CompletableFuture getPromptPlain(GetPromptPlainAr
      *     }
      * 
      *     public static void stack(Context ctx) {
-     *         final var example = ConnectFunctions.getQueue(GetQueueArgs.builder()
+     *         final var example = ConnectFunctions.getQuickConnect(GetQuickConnectArgs.builder()
      *             .instanceId("aaaaaaaa-bbbb-cccc-dddd-111111111111")
      *             .name("Example")
      *             .build());
@@ -2266,7 +3255,7 @@ public static CompletableFuture getPromptPlain(GetPromptPlainAr
      * 
* <!--End PulumiCodeChooser --> * - * By `queue_id` + * By `quick_connect_id` * * <!--Start PulumiCodeChooser --> *
@@ -2277,7 +3266,7 @@ public static CompletableFuture getPromptPlain(GetPromptPlainAr
      * import com.pulumi.Pulumi;
      * import com.pulumi.core.Output;
      * import com.pulumi.aws.connect.ConnectFunctions;
-     * import com.pulumi.aws.connect.inputs.GetQueueArgs;
+     * import com.pulumi.aws.connect.inputs.GetQuickConnectArgs;
      * import java.util.List;
      * import java.util.ArrayList;
      * import java.util.Map;
@@ -2291,9 +3280,9 @@ public static CompletableFuture getPromptPlain(GetPromptPlainAr
      *     }
      * 
      *     public static void stack(Context ctx) {
-     *         final var example = ConnectFunctions.getQueue(GetQueueArgs.builder()
+     *         final var example = ConnectFunctions.getQuickConnect(GetQuickConnectArgs.builder()
      *             .instanceId("aaaaaaaa-bbbb-cccc-dddd-111111111111")
-     *             .queueId("cccccccc-bbbb-cccc-dddd-111111111111")
+     *             .quickConnectId("cccccccc-bbbb-cccc-dddd-111111111111")
      *             .build());
      * 
      *     }
@@ -2303,11 +3292,11 @@ public static CompletableFuture getPromptPlain(GetPromptPlainAr
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static Output getQueue(GetQueueArgs args) {
-        return getQueue(args, InvokeOptions.Empty);
+    public static CompletableFuture getQuickConnectPlain(GetQuickConnectPlainArgs args) {
+        return getQuickConnectPlain(args, InvokeOptions.Empty);
     }
     /**
-     * Provides details about a specific Amazon Connect Queue.
+     * Provides details about a specific Amazon Connect Quick Connect.
      * 
      * ## Example Usage
      * 
@@ -2322,7 +3311,7 @@ public static Output getQueue(GetQueueArgs args) {
      * import com.pulumi.Pulumi;
      * import com.pulumi.core.Output;
      * import com.pulumi.aws.connect.ConnectFunctions;
-     * import com.pulumi.aws.connect.inputs.GetQueueArgs;
+     * import com.pulumi.aws.connect.inputs.GetQuickConnectArgs;
      * import java.util.List;
      * import java.util.ArrayList;
      * import java.util.Map;
@@ -2336,7 +3325,7 @@ public static Output getQueue(GetQueueArgs args) {
      *     }
      * 
      *     public static void stack(Context ctx) {
-     *         final var example = ConnectFunctions.getQueue(GetQueueArgs.builder()
+     *         final var example = ConnectFunctions.getQuickConnect(GetQuickConnectArgs.builder()
      *             .instanceId("aaaaaaaa-bbbb-cccc-dddd-111111111111")
      *             .name("Example")
      *             .build());
@@ -2347,7 +3336,7 @@ public static Output getQueue(GetQueueArgs args) {
      * 
* <!--End PulumiCodeChooser --> * - * By `queue_id` + * By `quick_connect_id` * * <!--Start PulumiCodeChooser --> *
@@ -2358,7 +3347,7 @@ public static Output getQueue(GetQueueArgs args) {
      * import com.pulumi.Pulumi;
      * import com.pulumi.core.Output;
      * import com.pulumi.aws.connect.ConnectFunctions;
-     * import com.pulumi.aws.connect.inputs.GetQueueArgs;
+     * import com.pulumi.aws.connect.inputs.GetQuickConnectArgs;
      * import java.util.List;
      * import java.util.ArrayList;
      * import java.util.Map;
@@ -2372,9 +3361,9 @@ public static Output getQueue(GetQueueArgs args) {
      *     }
      * 
      *     public static void stack(Context ctx) {
-     *         final var example = ConnectFunctions.getQueue(GetQueueArgs.builder()
+     *         final var example = ConnectFunctions.getQuickConnect(GetQuickConnectArgs.builder()
      *             .instanceId("aaaaaaaa-bbbb-cccc-dddd-111111111111")
-     *             .queueId("cccccccc-bbbb-cccc-dddd-111111111111")
+     *             .quickConnectId("cccccccc-bbbb-cccc-dddd-111111111111")
      *             .build());
      * 
      *     }
@@ -2384,11 +3373,11 @@ public static Output getQueue(GetQueueArgs args) {
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static CompletableFuture getQueuePlain(GetQueuePlainArgs args) {
-        return getQueuePlain(args, InvokeOptions.Empty);
+    public static Output getQuickConnect(GetQuickConnectArgs args, InvokeOptions options) {
+        return Deployment.getInstance().invoke("aws:connect/getQuickConnect:getQuickConnect", TypeShape.of(GetQuickConnectResult.class), args, Utilities.withVersion(options));
     }
     /**
-     * Provides details about a specific Amazon Connect Queue.
+     * Provides details about a specific Amazon Connect Quick Connect.
      * 
      * ## Example Usage
      * 
@@ -2403,7 +3392,7 @@ public static CompletableFuture getQueuePlain(GetQueuePlainArgs
      * import com.pulumi.Pulumi;
      * import com.pulumi.core.Output;
      * import com.pulumi.aws.connect.ConnectFunctions;
-     * import com.pulumi.aws.connect.inputs.GetQueueArgs;
+     * import com.pulumi.aws.connect.inputs.GetQuickConnectArgs;
      * import java.util.List;
      * import java.util.ArrayList;
      * import java.util.Map;
@@ -2417,7 +3406,7 @@ public static CompletableFuture getQueuePlain(GetQueuePlainArgs
      *     }
      * 
      *     public static void stack(Context ctx) {
-     *         final var example = ConnectFunctions.getQueue(GetQueueArgs.builder()
+     *         final var example = ConnectFunctions.getQuickConnect(GetQuickConnectArgs.builder()
      *             .instanceId("aaaaaaaa-bbbb-cccc-dddd-111111111111")
      *             .name("Example")
      *             .build());
@@ -2428,7 +3417,7 @@ public static CompletableFuture getQueuePlain(GetQueuePlainArgs
      * 
* <!--End PulumiCodeChooser --> * - * By `queue_id` + * By `quick_connect_id` * * <!--Start PulumiCodeChooser --> *
@@ -2439,7 +3428,7 @@ public static CompletableFuture getQueuePlain(GetQueuePlainArgs
      * import com.pulumi.Pulumi;
      * import com.pulumi.core.Output;
      * import com.pulumi.aws.connect.ConnectFunctions;
-     * import com.pulumi.aws.connect.inputs.GetQueueArgs;
+     * import com.pulumi.aws.connect.inputs.GetQuickConnectArgs;
      * import java.util.List;
      * import java.util.ArrayList;
      * import java.util.Map;
@@ -2453,9 +3442,9 @@ public static CompletableFuture getQueuePlain(GetQueuePlainArgs
      *     }
      * 
      *     public static void stack(Context ctx) {
-     *         final var example = ConnectFunctions.getQueue(GetQueueArgs.builder()
+     *         final var example = ConnectFunctions.getQuickConnect(GetQuickConnectArgs.builder()
      *             .instanceId("aaaaaaaa-bbbb-cccc-dddd-111111111111")
-     *             .queueId("cccccccc-bbbb-cccc-dddd-111111111111")
+     *             .quickConnectId("cccccccc-bbbb-cccc-dddd-111111111111")
      *             .build());
      * 
      *     }
@@ -2465,11 +3454,11 @@ public static CompletableFuture getQueuePlain(GetQueuePlainArgs
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static Output getQueue(GetQueueArgs args, InvokeOptions options) {
-        return Deployment.getInstance().invoke("aws:connect/getQueue:getQueue", TypeShape.of(GetQueueResult.class), args, Utilities.withVersion(options));
+    public static Output getQuickConnect(GetQuickConnectArgs args, InvokeOutputOptions options) {
+        return Deployment.getInstance().invoke("aws:connect/getQuickConnect:getQuickConnect", TypeShape.of(GetQuickConnectResult.class), args, Utilities.withVersion(options));
     }
     /**
-     * Provides details about a specific Amazon Connect Queue.
+     * Provides details about a specific Amazon Connect Quick Connect.
      * 
      * ## Example Usage
      * 
@@ -2484,7 +3473,7 @@ public static Output getQueue(GetQueueArgs args, InvokeOptions o
      * import com.pulumi.Pulumi;
      * import com.pulumi.core.Output;
      * import com.pulumi.aws.connect.ConnectFunctions;
-     * import com.pulumi.aws.connect.inputs.GetQueueArgs;
+     * import com.pulumi.aws.connect.inputs.GetQuickConnectArgs;
      * import java.util.List;
      * import java.util.ArrayList;
      * import java.util.Map;
@@ -2498,7 +3487,7 @@ public static Output getQueue(GetQueueArgs args, InvokeOptions o
      *     }
      * 
      *     public static void stack(Context ctx) {
-     *         final var example = ConnectFunctions.getQueue(GetQueueArgs.builder()
+     *         final var example = ConnectFunctions.getQuickConnect(GetQuickConnectArgs.builder()
      *             .instanceId("aaaaaaaa-bbbb-cccc-dddd-111111111111")
      *             .name("Example")
      *             .build());
@@ -2509,7 +3498,7 @@ public static Output getQueue(GetQueueArgs args, InvokeOptions o
      * 
* <!--End PulumiCodeChooser --> * - * By `queue_id` + * By `quick_connect_id` * * <!--Start PulumiCodeChooser --> *
@@ -2520,7 +3509,7 @@ public static Output getQueue(GetQueueArgs args, InvokeOptions o
      * import com.pulumi.Pulumi;
      * import com.pulumi.core.Output;
      * import com.pulumi.aws.connect.ConnectFunctions;
-     * import com.pulumi.aws.connect.inputs.GetQueueArgs;
+     * import com.pulumi.aws.connect.inputs.GetQuickConnectArgs;
      * import java.util.List;
      * import java.util.ArrayList;
      * import java.util.Map;
@@ -2534,9 +3523,9 @@ public static Output getQueue(GetQueueArgs args, InvokeOptions o
      *     }
      * 
      *     public static void stack(Context ctx) {
-     *         final var example = ConnectFunctions.getQueue(GetQueueArgs.builder()
+     *         final var example = ConnectFunctions.getQuickConnect(GetQuickConnectArgs.builder()
      *             .instanceId("aaaaaaaa-bbbb-cccc-dddd-111111111111")
-     *             .queueId("cccccccc-bbbb-cccc-dddd-111111111111")
+     *             .quickConnectId("cccccccc-bbbb-cccc-dddd-111111111111")
      *             .build());
      * 
      *     }
@@ -2546,11 +3535,11 @@ public static Output getQueue(GetQueueArgs args, InvokeOptions o
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static CompletableFuture getQueuePlain(GetQueuePlainArgs args, InvokeOptions options) {
-        return Deployment.getInstance().invokeAsync("aws:connect/getQueue:getQueue", TypeShape.of(GetQueueResult.class), args, Utilities.withVersion(options));
+    public static CompletableFuture getQuickConnectPlain(GetQuickConnectPlainArgs args, InvokeOptions options) {
+        return Deployment.getInstance().invokeAsync("aws:connect/getQuickConnect:getQuickConnect", TypeShape.of(GetQuickConnectResult.class), args, Utilities.withVersion(options));
     }
     /**
-     * Provides details about a specific Amazon Connect Quick Connect.
+     * Provides details about a specific Amazon Connect Routing Profile.
      * 
      * ## Example Usage
      * 
@@ -2565,7 +3554,7 @@ public static CompletableFuture getQueuePlain(GetQueuePlainArgs
      * import com.pulumi.Pulumi;
      * import com.pulumi.core.Output;
      * import com.pulumi.aws.connect.ConnectFunctions;
-     * import com.pulumi.aws.connect.inputs.GetQuickConnectArgs;
+     * import com.pulumi.aws.connect.inputs.GetRoutingProfileArgs;
      * import java.util.List;
      * import java.util.ArrayList;
      * import java.util.Map;
@@ -2579,7 +3568,7 @@ public static CompletableFuture getQueuePlain(GetQueuePlainArgs
      *     }
      * 
      *     public static void stack(Context ctx) {
-     *         final var example = ConnectFunctions.getQuickConnect(GetQuickConnectArgs.builder()
+     *         final var example = ConnectFunctions.getRoutingProfile(GetRoutingProfileArgs.builder()
      *             .instanceId("aaaaaaaa-bbbb-cccc-dddd-111111111111")
      *             .name("Example")
      *             .build());
@@ -2590,7 +3579,7 @@ public static CompletableFuture getQueuePlain(GetQueuePlainArgs
      * 
* <!--End PulumiCodeChooser --> * - * By `quick_connect_id` + * By `routing_profile_id` * * <!--Start PulumiCodeChooser --> *
@@ -2601,7 +3590,7 @@ public static CompletableFuture getQueuePlain(GetQueuePlainArgs
      * import com.pulumi.Pulumi;
      * import com.pulumi.core.Output;
      * import com.pulumi.aws.connect.ConnectFunctions;
-     * import com.pulumi.aws.connect.inputs.GetQuickConnectArgs;
+     * import com.pulumi.aws.connect.inputs.GetRoutingProfileArgs;
      * import java.util.List;
      * import java.util.ArrayList;
      * import java.util.Map;
@@ -2615,9 +3604,9 @@ public static CompletableFuture getQueuePlain(GetQueuePlainArgs
      *     }
      * 
      *     public static void stack(Context ctx) {
-     *         final var example = ConnectFunctions.getQuickConnect(GetQuickConnectArgs.builder()
+     *         final var example = ConnectFunctions.getRoutingProfile(GetRoutingProfileArgs.builder()
      *             .instanceId("aaaaaaaa-bbbb-cccc-dddd-111111111111")
-     *             .quickConnectId("cccccccc-bbbb-cccc-dddd-111111111111")
+     *             .routingProfileId("cccccccc-bbbb-cccc-dddd-111111111111")
      *             .build());
      * 
      *     }
@@ -2627,11 +3616,11 @@ public static CompletableFuture getQueuePlain(GetQueuePlainArgs
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static Output getQuickConnect(GetQuickConnectArgs args) {
-        return getQuickConnect(args, InvokeOptions.Empty);
+    public static Output getRoutingProfile(GetRoutingProfileArgs args) {
+        return getRoutingProfile(args, InvokeOptions.Empty);
     }
     /**
-     * Provides details about a specific Amazon Connect Quick Connect.
+     * Provides details about a specific Amazon Connect Routing Profile.
      * 
      * ## Example Usage
      * 
@@ -2646,7 +3635,7 @@ public static Output getQuickConnect(GetQuickConnectArgs
      * import com.pulumi.Pulumi;
      * import com.pulumi.core.Output;
      * import com.pulumi.aws.connect.ConnectFunctions;
-     * import com.pulumi.aws.connect.inputs.GetQuickConnectArgs;
+     * import com.pulumi.aws.connect.inputs.GetRoutingProfileArgs;
      * import java.util.List;
      * import java.util.ArrayList;
      * import java.util.Map;
@@ -2660,7 +3649,7 @@ public static Output getQuickConnect(GetQuickConnectArgs
      *     }
      * 
      *     public static void stack(Context ctx) {
-     *         final var example = ConnectFunctions.getQuickConnect(GetQuickConnectArgs.builder()
+     *         final var example = ConnectFunctions.getRoutingProfile(GetRoutingProfileArgs.builder()
      *             .instanceId("aaaaaaaa-bbbb-cccc-dddd-111111111111")
      *             .name("Example")
      *             .build());
@@ -2671,7 +3660,7 @@ public static Output getQuickConnect(GetQuickConnectArgs
      * 
* <!--End PulumiCodeChooser --> * - * By `quick_connect_id` + * By `routing_profile_id` * * <!--Start PulumiCodeChooser --> *
@@ -2682,7 +3671,7 @@ public static Output getQuickConnect(GetQuickConnectArgs
      * import com.pulumi.Pulumi;
      * import com.pulumi.core.Output;
      * import com.pulumi.aws.connect.ConnectFunctions;
-     * import com.pulumi.aws.connect.inputs.GetQuickConnectArgs;
+     * import com.pulumi.aws.connect.inputs.GetRoutingProfileArgs;
      * import java.util.List;
      * import java.util.ArrayList;
      * import java.util.Map;
@@ -2696,9 +3685,9 @@ public static Output getQuickConnect(GetQuickConnectArgs
      *     }
      * 
      *     public static void stack(Context ctx) {
-     *         final var example = ConnectFunctions.getQuickConnect(GetQuickConnectArgs.builder()
+     *         final var example = ConnectFunctions.getRoutingProfile(GetRoutingProfileArgs.builder()
      *             .instanceId("aaaaaaaa-bbbb-cccc-dddd-111111111111")
-     *             .quickConnectId("cccccccc-bbbb-cccc-dddd-111111111111")
+     *             .routingProfileId("cccccccc-bbbb-cccc-dddd-111111111111")
      *             .build());
      * 
      *     }
@@ -2708,11 +3697,11 @@ public static Output getQuickConnect(GetQuickConnectArgs
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static CompletableFuture getQuickConnectPlain(GetQuickConnectPlainArgs args) {
-        return getQuickConnectPlain(args, InvokeOptions.Empty);
+    public static CompletableFuture getRoutingProfilePlain(GetRoutingProfilePlainArgs args) {
+        return getRoutingProfilePlain(args, InvokeOptions.Empty);
     }
     /**
-     * Provides details about a specific Amazon Connect Quick Connect.
+     * Provides details about a specific Amazon Connect Routing Profile.
      * 
      * ## Example Usage
      * 
@@ -2727,7 +3716,7 @@ public static CompletableFuture getQuickConnectPlain(GetQ
      * import com.pulumi.Pulumi;
      * import com.pulumi.core.Output;
      * import com.pulumi.aws.connect.ConnectFunctions;
-     * import com.pulumi.aws.connect.inputs.GetQuickConnectArgs;
+     * import com.pulumi.aws.connect.inputs.GetRoutingProfileArgs;
      * import java.util.List;
      * import java.util.ArrayList;
      * import java.util.Map;
@@ -2741,7 +3730,7 @@ public static CompletableFuture getQuickConnectPlain(GetQ
      *     }
      * 
      *     public static void stack(Context ctx) {
-     *         final var example = ConnectFunctions.getQuickConnect(GetQuickConnectArgs.builder()
+     *         final var example = ConnectFunctions.getRoutingProfile(GetRoutingProfileArgs.builder()
      *             .instanceId("aaaaaaaa-bbbb-cccc-dddd-111111111111")
      *             .name("Example")
      *             .build());
@@ -2752,7 +3741,7 @@ public static CompletableFuture getQuickConnectPlain(GetQ
      * 
* <!--End PulumiCodeChooser --> * - * By `quick_connect_id` + * By `routing_profile_id` * * <!--Start PulumiCodeChooser --> *
@@ -2763,7 +3752,7 @@ public static CompletableFuture getQuickConnectPlain(GetQ
      * import com.pulumi.Pulumi;
      * import com.pulumi.core.Output;
      * import com.pulumi.aws.connect.ConnectFunctions;
-     * import com.pulumi.aws.connect.inputs.GetQuickConnectArgs;
+     * import com.pulumi.aws.connect.inputs.GetRoutingProfileArgs;
      * import java.util.List;
      * import java.util.ArrayList;
      * import java.util.Map;
@@ -2777,9 +3766,9 @@ public static CompletableFuture getQuickConnectPlain(GetQ
      *     }
      * 
      *     public static void stack(Context ctx) {
-     *         final var example = ConnectFunctions.getQuickConnect(GetQuickConnectArgs.builder()
+     *         final var example = ConnectFunctions.getRoutingProfile(GetRoutingProfileArgs.builder()
      *             .instanceId("aaaaaaaa-bbbb-cccc-dddd-111111111111")
-     *             .quickConnectId("cccccccc-bbbb-cccc-dddd-111111111111")
+     *             .routingProfileId("cccccccc-bbbb-cccc-dddd-111111111111")
      *             .build());
      * 
      *     }
@@ -2789,11 +3778,11 @@ public static CompletableFuture getQuickConnectPlain(GetQ
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static Output getQuickConnect(GetQuickConnectArgs args, InvokeOptions options) {
-        return Deployment.getInstance().invoke("aws:connect/getQuickConnect:getQuickConnect", TypeShape.of(GetQuickConnectResult.class), args, Utilities.withVersion(options));
+    public static Output getRoutingProfile(GetRoutingProfileArgs args, InvokeOptions options) {
+        return Deployment.getInstance().invoke("aws:connect/getRoutingProfile:getRoutingProfile", TypeShape.of(GetRoutingProfileResult.class), args, Utilities.withVersion(options));
     }
     /**
-     * Provides details about a specific Amazon Connect Quick Connect.
+     * Provides details about a specific Amazon Connect Routing Profile.
      * 
      * ## Example Usage
      * 
@@ -2808,7 +3797,7 @@ public static Output getQuickConnect(GetQuickConnectArgs
      * import com.pulumi.Pulumi;
      * import com.pulumi.core.Output;
      * import com.pulumi.aws.connect.ConnectFunctions;
-     * import com.pulumi.aws.connect.inputs.GetQuickConnectArgs;
+     * import com.pulumi.aws.connect.inputs.GetRoutingProfileArgs;
      * import java.util.List;
      * import java.util.ArrayList;
      * import java.util.Map;
@@ -2822,7 +3811,7 @@ public static Output getQuickConnect(GetQuickConnectArgs
      *     }
      * 
      *     public static void stack(Context ctx) {
-     *         final var example = ConnectFunctions.getQuickConnect(GetQuickConnectArgs.builder()
+     *         final var example = ConnectFunctions.getRoutingProfile(GetRoutingProfileArgs.builder()
      *             .instanceId("aaaaaaaa-bbbb-cccc-dddd-111111111111")
      *             .name("Example")
      *             .build());
@@ -2833,7 +3822,7 @@ public static Output getQuickConnect(GetQuickConnectArgs
      * 
* <!--End PulumiCodeChooser --> * - * By `quick_connect_id` + * By `routing_profile_id` * * <!--Start PulumiCodeChooser --> *
@@ -2844,7 +3833,7 @@ public static Output getQuickConnect(GetQuickConnectArgs
      * import com.pulumi.Pulumi;
      * import com.pulumi.core.Output;
      * import com.pulumi.aws.connect.ConnectFunctions;
-     * import com.pulumi.aws.connect.inputs.GetQuickConnectArgs;
+     * import com.pulumi.aws.connect.inputs.GetRoutingProfileArgs;
      * import java.util.List;
      * import java.util.ArrayList;
      * import java.util.Map;
@@ -2858,9 +3847,9 @@ public static Output getQuickConnect(GetQuickConnectArgs
      *     }
      * 
      *     public static void stack(Context ctx) {
-     *         final var example = ConnectFunctions.getQuickConnect(GetQuickConnectArgs.builder()
+     *         final var example = ConnectFunctions.getRoutingProfile(GetRoutingProfileArgs.builder()
      *             .instanceId("aaaaaaaa-bbbb-cccc-dddd-111111111111")
-     *             .quickConnectId("cccccccc-bbbb-cccc-dddd-111111111111")
+     *             .routingProfileId("cccccccc-bbbb-cccc-dddd-111111111111")
      *             .build());
      * 
      *     }
@@ -2870,8 +3859,8 @@ public static Output getQuickConnect(GetQuickConnectArgs
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static CompletableFuture getQuickConnectPlain(GetQuickConnectPlainArgs args, InvokeOptions options) {
-        return Deployment.getInstance().invokeAsync("aws:connect/getQuickConnect:getQuickConnect", TypeShape.of(GetQuickConnectResult.class), args, Utilities.withVersion(options));
+    public static Output getRoutingProfile(GetRoutingProfileArgs args, InvokeOutputOptions options) {
+        return Deployment.getInstance().invoke("aws:connect/getRoutingProfile:getRoutingProfile", TypeShape.of(GetRoutingProfileResult.class), args, Utilities.withVersion(options));
     }
     /**
      * Provides details about a specific Amazon Connect Routing Profile.
@@ -2951,11 +3940,11 @@ public static CompletableFuture getQuickConnectPlain(GetQ
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static Output getRoutingProfile(GetRoutingProfileArgs args) {
-        return getRoutingProfile(args, InvokeOptions.Empty);
+    public static CompletableFuture getRoutingProfilePlain(GetRoutingProfilePlainArgs args, InvokeOptions options) {
+        return Deployment.getInstance().invokeAsync("aws:connect/getRoutingProfile:getRoutingProfile", TypeShape.of(GetRoutingProfileResult.class), args, Utilities.withVersion(options));
     }
     /**
-     * Provides details about a specific Amazon Connect Routing Profile.
+     * Provides details about a specific Amazon Connect Security Profile.
      * 
      * ## Example Usage
      * 
@@ -2970,7 +3959,7 @@ public static Output getRoutingProfile(GetRoutingProfil
      * import com.pulumi.Pulumi;
      * import com.pulumi.core.Output;
      * import com.pulumi.aws.connect.ConnectFunctions;
-     * import com.pulumi.aws.connect.inputs.GetRoutingProfileArgs;
+     * import com.pulumi.aws.connect.inputs.GetSecurityProfileArgs;
      * import java.util.List;
      * import java.util.ArrayList;
      * import java.util.Map;
@@ -2984,7 +3973,7 @@ public static Output getRoutingProfile(GetRoutingProfil
      *     }
      * 
      *     public static void stack(Context ctx) {
-     *         final var example = ConnectFunctions.getRoutingProfile(GetRoutingProfileArgs.builder()
+     *         final var example = ConnectFunctions.getSecurityProfile(GetSecurityProfileArgs.builder()
      *             .instanceId("aaaaaaaa-bbbb-cccc-dddd-111111111111")
      *             .name("Example")
      *             .build());
@@ -2995,7 +3984,7 @@ public static Output getRoutingProfile(GetRoutingProfil
      * 
* <!--End PulumiCodeChooser --> * - * By `routing_profile_id` + * By `security_profile_id` * * <!--Start PulumiCodeChooser --> *
@@ -3006,7 +3995,7 @@ public static Output getRoutingProfile(GetRoutingProfil
      * import com.pulumi.Pulumi;
      * import com.pulumi.core.Output;
      * import com.pulumi.aws.connect.ConnectFunctions;
-     * import com.pulumi.aws.connect.inputs.GetRoutingProfileArgs;
+     * import com.pulumi.aws.connect.inputs.GetSecurityProfileArgs;
      * import java.util.List;
      * import java.util.ArrayList;
      * import java.util.Map;
@@ -3020,9 +4009,9 @@ public static Output getRoutingProfile(GetRoutingProfil
      *     }
      * 
      *     public static void stack(Context ctx) {
-     *         final var example = ConnectFunctions.getRoutingProfile(GetRoutingProfileArgs.builder()
+     *         final var example = ConnectFunctions.getSecurityProfile(GetSecurityProfileArgs.builder()
      *             .instanceId("aaaaaaaa-bbbb-cccc-dddd-111111111111")
-     *             .routingProfileId("cccccccc-bbbb-cccc-dddd-111111111111")
+     *             .securityProfileId("cccccccc-bbbb-cccc-dddd-111111111111")
      *             .build());
      * 
      *     }
@@ -3032,11 +4021,11 @@ public static Output getRoutingProfile(GetRoutingProfil
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static CompletableFuture getRoutingProfilePlain(GetRoutingProfilePlainArgs args) {
-        return getRoutingProfilePlain(args, InvokeOptions.Empty);
+    public static Output getSecurityProfile(GetSecurityProfileArgs args) {
+        return getSecurityProfile(args, InvokeOptions.Empty);
     }
     /**
-     * Provides details about a specific Amazon Connect Routing Profile.
+     * Provides details about a specific Amazon Connect Security Profile.
      * 
      * ## Example Usage
      * 
@@ -3051,7 +4040,7 @@ public static CompletableFuture getRoutingProfilePlain(
      * import com.pulumi.Pulumi;
      * import com.pulumi.core.Output;
      * import com.pulumi.aws.connect.ConnectFunctions;
-     * import com.pulumi.aws.connect.inputs.GetRoutingProfileArgs;
+     * import com.pulumi.aws.connect.inputs.GetSecurityProfileArgs;
      * import java.util.List;
      * import java.util.ArrayList;
      * import java.util.Map;
@@ -3065,7 +4054,7 @@ public static CompletableFuture getRoutingProfilePlain(
      *     }
      * 
      *     public static void stack(Context ctx) {
-     *         final var example = ConnectFunctions.getRoutingProfile(GetRoutingProfileArgs.builder()
+     *         final var example = ConnectFunctions.getSecurityProfile(GetSecurityProfileArgs.builder()
      *             .instanceId("aaaaaaaa-bbbb-cccc-dddd-111111111111")
      *             .name("Example")
      *             .build());
@@ -3076,7 +4065,7 @@ public static CompletableFuture getRoutingProfilePlain(
      * 
* <!--End PulumiCodeChooser --> * - * By `routing_profile_id` + * By `security_profile_id` * * <!--Start PulumiCodeChooser --> *
@@ -3087,7 +4076,7 @@ public static CompletableFuture getRoutingProfilePlain(
      * import com.pulumi.Pulumi;
      * import com.pulumi.core.Output;
      * import com.pulumi.aws.connect.ConnectFunctions;
-     * import com.pulumi.aws.connect.inputs.GetRoutingProfileArgs;
+     * import com.pulumi.aws.connect.inputs.GetSecurityProfileArgs;
      * import java.util.List;
      * import java.util.ArrayList;
      * import java.util.Map;
@@ -3101,9 +4090,9 @@ public static CompletableFuture getRoutingProfilePlain(
      *     }
      * 
      *     public static void stack(Context ctx) {
-     *         final var example = ConnectFunctions.getRoutingProfile(GetRoutingProfileArgs.builder()
+     *         final var example = ConnectFunctions.getSecurityProfile(GetSecurityProfileArgs.builder()
      *             .instanceId("aaaaaaaa-bbbb-cccc-dddd-111111111111")
-     *             .routingProfileId("cccccccc-bbbb-cccc-dddd-111111111111")
+     *             .securityProfileId("cccccccc-bbbb-cccc-dddd-111111111111")
      *             .build());
      * 
      *     }
@@ -3113,11 +4102,11 @@ public static CompletableFuture getRoutingProfilePlain(
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static Output getRoutingProfile(GetRoutingProfileArgs args, InvokeOptions options) {
-        return Deployment.getInstance().invoke("aws:connect/getRoutingProfile:getRoutingProfile", TypeShape.of(GetRoutingProfileResult.class), args, Utilities.withVersion(options));
+    public static CompletableFuture getSecurityProfilePlain(GetSecurityProfilePlainArgs args) {
+        return getSecurityProfilePlain(args, InvokeOptions.Empty);
     }
     /**
-     * Provides details about a specific Amazon Connect Routing Profile.
+     * Provides details about a specific Amazon Connect Security Profile.
      * 
      * ## Example Usage
      * 
@@ -3132,7 +4121,7 @@ public static Output getRoutingProfile(GetRoutingProfil
      * import com.pulumi.Pulumi;
      * import com.pulumi.core.Output;
      * import com.pulumi.aws.connect.ConnectFunctions;
-     * import com.pulumi.aws.connect.inputs.GetRoutingProfileArgs;
+     * import com.pulumi.aws.connect.inputs.GetSecurityProfileArgs;
      * import java.util.List;
      * import java.util.ArrayList;
      * import java.util.Map;
@@ -3146,7 +4135,7 @@ public static Output getRoutingProfile(GetRoutingProfil
      *     }
      * 
      *     public static void stack(Context ctx) {
-     *         final var example = ConnectFunctions.getRoutingProfile(GetRoutingProfileArgs.builder()
+     *         final var example = ConnectFunctions.getSecurityProfile(GetSecurityProfileArgs.builder()
      *             .instanceId("aaaaaaaa-bbbb-cccc-dddd-111111111111")
      *             .name("Example")
      *             .build());
@@ -3157,7 +4146,7 @@ public static Output getRoutingProfile(GetRoutingProfil
      * 
* <!--End PulumiCodeChooser --> * - * By `routing_profile_id` + * By `security_profile_id` * * <!--Start PulumiCodeChooser --> *
@@ -3168,7 +4157,7 @@ public static Output getRoutingProfile(GetRoutingProfil
      * import com.pulumi.Pulumi;
      * import com.pulumi.core.Output;
      * import com.pulumi.aws.connect.ConnectFunctions;
-     * import com.pulumi.aws.connect.inputs.GetRoutingProfileArgs;
+     * import com.pulumi.aws.connect.inputs.GetSecurityProfileArgs;
      * import java.util.List;
      * import java.util.ArrayList;
      * import java.util.Map;
@@ -3182,9 +4171,9 @@ public static Output getRoutingProfile(GetRoutingProfil
      *     }
      * 
      *     public static void stack(Context ctx) {
-     *         final var example = ConnectFunctions.getRoutingProfile(GetRoutingProfileArgs.builder()
+     *         final var example = ConnectFunctions.getSecurityProfile(GetSecurityProfileArgs.builder()
      *             .instanceId("aaaaaaaa-bbbb-cccc-dddd-111111111111")
-     *             .routingProfileId("cccccccc-bbbb-cccc-dddd-111111111111")
+     *             .securityProfileId("cccccccc-bbbb-cccc-dddd-111111111111")
      *             .build());
      * 
      *     }
@@ -3194,8 +4183,8 @@ public static Output getRoutingProfile(GetRoutingProfil
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static CompletableFuture getRoutingProfilePlain(GetRoutingProfilePlainArgs args, InvokeOptions options) {
-        return Deployment.getInstance().invokeAsync("aws:connect/getRoutingProfile:getRoutingProfile", TypeShape.of(GetRoutingProfileResult.class), args, Utilities.withVersion(options));
+    public static Output getSecurityProfile(GetSecurityProfileArgs args, InvokeOptions options) {
+        return Deployment.getInstance().invoke("aws:connect/getSecurityProfile:getSecurityProfile", TypeShape.of(GetSecurityProfileResult.class), args, Utilities.withVersion(options));
     }
     /**
      * Provides details about a specific Amazon Connect Security Profile.
@@ -3275,8 +4264,8 @@ public static CompletableFuture getRoutingProfilePlain(
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static Output getSecurityProfile(GetSecurityProfileArgs args) {
-        return getSecurityProfile(args, InvokeOptions.Empty);
+    public static Output getSecurityProfile(GetSecurityProfileArgs args, InvokeOutputOptions options) {
+        return Deployment.getInstance().invoke("aws:connect/getSecurityProfile:getSecurityProfile", TypeShape.of(GetSecurityProfileResult.class), args, Utilities.withVersion(options));
     }
     /**
      * Provides details about a specific Amazon Connect Security Profile.
@@ -3356,11 +4345,11 @@ public static Output getSecurityProfile(GetSecurityPro
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static CompletableFuture getSecurityProfilePlain(GetSecurityProfilePlainArgs args) {
-        return getSecurityProfilePlain(args, InvokeOptions.Empty);
+    public static CompletableFuture getSecurityProfilePlain(GetSecurityProfilePlainArgs args, InvokeOptions options) {
+        return Deployment.getInstance().invokeAsync("aws:connect/getSecurityProfile:getSecurityProfile", TypeShape.of(GetSecurityProfileResult.class), args, Utilities.withVersion(options));
     }
     /**
-     * Provides details about a specific Amazon Connect Security Profile.
+     * Provides details about a specific Amazon Connect User.
      * 
      * ## Example Usage
      * 
@@ -3375,7 +4364,7 @@ public static CompletableFuture getSecurityProfilePlai
      * import com.pulumi.Pulumi;
      * import com.pulumi.core.Output;
      * import com.pulumi.aws.connect.ConnectFunctions;
-     * import com.pulumi.aws.connect.inputs.GetSecurityProfileArgs;
+     * import com.pulumi.aws.connect.inputs.GetUserArgs;
      * import java.util.List;
      * import java.util.ArrayList;
      * import java.util.Map;
@@ -3389,7 +4378,7 @@ public static CompletableFuture getSecurityProfilePlai
      *     }
      * 
      *     public static void stack(Context ctx) {
-     *         final var example = ConnectFunctions.getSecurityProfile(GetSecurityProfileArgs.builder()
+     *         final var example = ConnectFunctions.getUser(GetUserArgs.builder()
      *             .instanceId("aaaaaaaa-bbbb-cccc-dddd-111111111111")
      *             .name("Example")
      *             .build());
@@ -3400,7 +4389,7 @@ public static CompletableFuture getSecurityProfilePlai
      * 
* <!--End PulumiCodeChooser --> * - * By `security_profile_id` + * By `user_id` * * <!--Start PulumiCodeChooser --> *
@@ -3411,7 +4400,7 @@ public static CompletableFuture getSecurityProfilePlai
      * import com.pulumi.Pulumi;
      * import com.pulumi.core.Output;
      * import com.pulumi.aws.connect.ConnectFunctions;
-     * import com.pulumi.aws.connect.inputs.GetSecurityProfileArgs;
+     * import com.pulumi.aws.connect.inputs.GetUserArgs;
      * import java.util.List;
      * import java.util.ArrayList;
      * import java.util.Map;
@@ -3425,9 +4414,9 @@ public static CompletableFuture getSecurityProfilePlai
      *     }
      * 
      *     public static void stack(Context ctx) {
-     *         final var example = ConnectFunctions.getSecurityProfile(GetSecurityProfileArgs.builder()
+     *         final var example = ConnectFunctions.getUser(GetUserArgs.builder()
      *             .instanceId("aaaaaaaa-bbbb-cccc-dddd-111111111111")
-     *             .securityProfileId("cccccccc-bbbb-cccc-dddd-111111111111")
+     *             .userId("cccccccc-bbbb-cccc-dddd-111111111111")
      *             .build());
      * 
      *     }
@@ -3437,11 +4426,11 @@ public static CompletableFuture getSecurityProfilePlai
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static Output getSecurityProfile(GetSecurityProfileArgs args, InvokeOptions options) {
-        return Deployment.getInstance().invoke("aws:connect/getSecurityProfile:getSecurityProfile", TypeShape.of(GetSecurityProfileResult.class), args, Utilities.withVersion(options));
+    public static Output getUser(GetUserArgs args) {
+        return getUser(args, InvokeOptions.Empty);
     }
     /**
-     * Provides details about a specific Amazon Connect Security Profile.
+     * Provides details about a specific Amazon Connect User.
      * 
      * ## Example Usage
      * 
@@ -3456,7 +4445,7 @@ public static Output getSecurityProfile(GetSecurityPro
      * import com.pulumi.Pulumi;
      * import com.pulumi.core.Output;
      * import com.pulumi.aws.connect.ConnectFunctions;
-     * import com.pulumi.aws.connect.inputs.GetSecurityProfileArgs;
+     * import com.pulumi.aws.connect.inputs.GetUserArgs;
      * import java.util.List;
      * import java.util.ArrayList;
      * import java.util.Map;
@@ -3470,7 +4459,7 @@ public static Output getSecurityProfile(GetSecurityPro
      *     }
      * 
      *     public static void stack(Context ctx) {
-     *         final var example = ConnectFunctions.getSecurityProfile(GetSecurityProfileArgs.builder()
+     *         final var example = ConnectFunctions.getUser(GetUserArgs.builder()
      *             .instanceId("aaaaaaaa-bbbb-cccc-dddd-111111111111")
      *             .name("Example")
      *             .build());
@@ -3481,7 +4470,7 @@ public static Output getSecurityProfile(GetSecurityPro
      * 
* <!--End PulumiCodeChooser --> * - * By `security_profile_id` + * By `user_id` * * <!--Start PulumiCodeChooser --> *
@@ -3492,7 +4481,7 @@ public static Output getSecurityProfile(GetSecurityPro
      * import com.pulumi.Pulumi;
      * import com.pulumi.core.Output;
      * import com.pulumi.aws.connect.ConnectFunctions;
-     * import com.pulumi.aws.connect.inputs.GetSecurityProfileArgs;
+     * import com.pulumi.aws.connect.inputs.GetUserArgs;
      * import java.util.List;
      * import java.util.ArrayList;
      * import java.util.Map;
@@ -3506,9 +4495,9 @@ public static Output getSecurityProfile(GetSecurityPro
      *     }
      * 
      *     public static void stack(Context ctx) {
-     *         final var example = ConnectFunctions.getSecurityProfile(GetSecurityProfileArgs.builder()
+     *         final var example = ConnectFunctions.getUser(GetUserArgs.builder()
      *             .instanceId("aaaaaaaa-bbbb-cccc-dddd-111111111111")
-     *             .securityProfileId("cccccccc-bbbb-cccc-dddd-111111111111")
+     *             .userId("cccccccc-bbbb-cccc-dddd-111111111111")
      *             .build());
      * 
      *     }
@@ -3518,8 +4507,8 @@ public static Output getSecurityProfile(GetSecurityPro
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static CompletableFuture getSecurityProfilePlain(GetSecurityProfilePlainArgs args, InvokeOptions options) {
-        return Deployment.getInstance().invokeAsync("aws:connect/getSecurityProfile:getSecurityProfile", TypeShape.of(GetSecurityProfileResult.class), args, Utilities.withVersion(options));
+    public static CompletableFuture getUserPlain(GetUserPlainArgs args) {
+        return getUserPlain(args, InvokeOptions.Empty);
     }
     /**
      * Provides details about a specific Amazon Connect User.
@@ -3599,8 +4588,8 @@ public static CompletableFuture getSecurityProfilePlai
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static Output getUser(GetUserArgs args) {
-        return getUser(args, InvokeOptions.Empty);
+    public static Output getUser(GetUserArgs args, InvokeOptions options) {
+        return Deployment.getInstance().invoke("aws:connect/getUser:getUser", TypeShape.of(GetUserResult.class), args, Utilities.withVersion(options));
     }
     /**
      * Provides details about a specific Amazon Connect User.
@@ -3680,8 +4669,8 @@ public static Output getUser(GetUserArgs args) {
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static CompletableFuture getUserPlain(GetUserPlainArgs args) {
-        return getUserPlain(args, InvokeOptions.Empty);
+    public static Output getUser(GetUserArgs args, InvokeOutputOptions options) {
+        return Deployment.getInstance().invoke("aws:connect/getUser:getUser", TypeShape.of(GetUserResult.class), args, Utilities.withVersion(options));
     }
     /**
      * Provides details about a specific Amazon Connect User.
@@ -3761,11 +4750,11 @@ public static CompletableFuture getUserPlain(GetUserPlainArgs arg
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static Output getUser(GetUserArgs args, InvokeOptions options) {
-        return Deployment.getInstance().invoke("aws:connect/getUser:getUser", TypeShape.of(GetUserResult.class), args, Utilities.withVersion(options));
+    public static CompletableFuture getUserPlain(GetUserPlainArgs args, InvokeOptions options) {
+        return Deployment.getInstance().invokeAsync("aws:connect/getUser:getUser", TypeShape.of(GetUserResult.class), args, Utilities.withVersion(options));
     }
     /**
-     * Provides details about a specific Amazon Connect User.
+     * Provides details about a specific Amazon Connect User Hierarchy Group.
      * 
      * ## Example Usage
      * 
@@ -3780,7 +4769,7 @@ public static Output getUser(GetUserArgs args, InvokeOptions opti
      * import com.pulumi.Pulumi;
      * import com.pulumi.core.Output;
      * import com.pulumi.aws.connect.ConnectFunctions;
-     * import com.pulumi.aws.connect.inputs.GetUserArgs;
+     * import com.pulumi.aws.connect.inputs.GetUserHierarchyGroupArgs;
      * import java.util.List;
      * import java.util.ArrayList;
      * import java.util.Map;
@@ -3794,7 +4783,7 @@ public static Output getUser(GetUserArgs args, InvokeOptions opti
      *     }
      * 
      *     public static void stack(Context ctx) {
-     *         final var example = ConnectFunctions.getUser(GetUserArgs.builder()
+     *         final var example = ConnectFunctions.getUserHierarchyGroup(GetUserHierarchyGroupArgs.builder()
      *             .instanceId("aaaaaaaa-bbbb-cccc-dddd-111111111111")
      *             .name("Example")
      *             .build());
@@ -3805,7 +4794,7 @@ public static Output getUser(GetUserArgs args, InvokeOptions opti
      * 
* <!--End PulumiCodeChooser --> * - * By `user_id` + * By `hierarchy_group_id` * * <!--Start PulumiCodeChooser --> *
@@ -3816,7 +4805,7 @@ public static Output getUser(GetUserArgs args, InvokeOptions opti
      * import com.pulumi.Pulumi;
      * import com.pulumi.core.Output;
      * import com.pulumi.aws.connect.ConnectFunctions;
-     * import com.pulumi.aws.connect.inputs.GetUserArgs;
+     * import com.pulumi.aws.connect.inputs.GetUserHierarchyGroupArgs;
      * import java.util.List;
      * import java.util.ArrayList;
      * import java.util.Map;
@@ -3830,9 +4819,9 @@ public static Output getUser(GetUserArgs args, InvokeOptions opti
      *     }
      * 
      *     public static void stack(Context ctx) {
-     *         final var example = ConnectFunctions.getUser(GetUserArgs.builder()
+     *         final var example = ConnectFunctions.getUserHierarchyGroup(GetUserHierarchyGroupArgs.builder()
      *             .instanceId("aaaaaaaa-bbbb-cccc-dddd-111111111111")
-     *             .userId("cccccccc-bbbb-cccc-dddd-111111111111")
+     *             .hierarchyGroupId("cccccccc-bbbb-cccc-dddd-111111111111")
      *             .build());
      * 
      *     }
@@ -3842,8 +4831,8 @@ public static Output getUser(GetUserArgs args, InvokeOptions opti
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static CompletableFuture getUserPlain(GetUserPlainArgs args, InvokeOptions options) {
-        return Deployment.getInstance().invokeAsync("aws:connect/getUser:getUser", TypeShape.of(GetUserResult.class), args, Utilities.withVersion(options));
+    public static Output getUserHierarchyGroup(GetUserHierarchyGroupArgs args) {
+        return getUserHierarchyGroup(args, InvokeOptions.Empty);
     }
     /**
      * Provides details about a specific Amazon Connect User Hierarchy Group.
@@ -3923,8 +4912,8 @@ public static CompletableFuture getUserPlain(GetUserPlainArgs arg
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static Output getUserHierarchyGroup(GetUserHierarchyGroupArgs args) {
-        return getUserHierarchyGroup(args, InvokeOptions.Empty);
+    public static CompletableFuture getUserHierarchyGroupPlain(GetUserHierarchyGroupPlainArgs args) {
+        return getUserHierarchyGroupPlain(args, InvokeOptions.Empty);
     }
     /**
      * Provides details about a specific Amazon Connect User Hierarchy Group.
@@ -4004,8 +4993,8 @@ public static Output getUserHierarchyGroup(GetUserH
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static CompletableFuture getUserHierarchyGroupPlain(GetUserHierarchyGroupPlainArgs args) {
-        return getUserHierarchyGroupPlain(args, InvokeOptions.Empty);
+    public static Output getUserHierarchyGroup(GetUserHierarchyGroupArgs args, InvokeOptions options) {
+        return Deployment.getInstance().invoke("aws:connect/getUserHierarchyGroup:getUserHierarchyGroup", TypeShape.of(GetUserHierarchyGroupResult.class), args, Utilities.withVersion(options));
     }
     /**
      * Provides details about a specific Amazon Connect User Hierarchy Group.
@@ -4085,7 +5074,7 @@ public static CompletableFuture getUserHierarchyGro
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static Output getUserHierarchyGroup(GetUserHierarchyGroupArgs args, InvokeOptions options) {
+    public static Output getUserHierarchyGroup(GetUserHierarchyGroupArgs args, InvokeOutputOptions options) {
         return Deployment.getInstance().invoke("aws:connect/getUserHierarchyGroup:getUserHierarchyGroup", TypeShape.of(GetUserHierarchyGroupResult.class), args, Utilities.withVersion(options));
     }
     /**
@@ -4295,6 +5284,48 @@ public static CompletableFuture getUserHierarch
     public static Output getUserHierarchyStructure(GetUserHierarchyStructureArgs args, InvokeOptions options) {
         return Deployment.getInstance().invoke("aws:connect/getUserHierarchyStructure:getUserHierarchyStructure", TypeShape.of(GetUserHierarchyStructureResult.class), args, Utilities.withVersion(options));
     }
+    /**
+     * Provides details about a specific Amazon Connect User Hierarchy Structure
+     * 
+     * ## Example Usage
+     * 
+     * <!--Start PulumiCodeChooser -->
+     * 
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.connect.ConnectFunctions;
+     * import com.pulumi.aws.connect.inputs.GetUserHierarchyStructureArgs;
+     * 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 test = ConnectFunctions.getUserHierarchyStructure(GetUserHierarchyStructureArgs.builder()
+     *             .instanceId(testAwsConnectInstance.id())
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getUserHierarchyStructure(GetUserHierarchyStructureArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:connect/getUserHierarchyStructure:getUserHierarchyStructure", TypeShape.of(GetUserHierarchyStructureResult.class), args, Utilities.withVersion(options)); + } /** * Provides details about a specific Amazon Connect User Hierarchy Structure * @@ -4580,6 +5611,87 @@ public static CompletableFuture getVocabularyPlain(GetVocab public static Output getVocabulary(GetVocabularyArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:connect/getVocabulary:getVocabulary", TypeShape.of(GetVocabularyResult.class), args, Utilities.withVersion(options)); } + /** + * Provides details about a specific Amazon Connect Vocabulary. + * + * ## Example Usage + * + * By `name` + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.connect.ConnectFunctions;
+     * import com.pulumi.aws.connect.inputs.GetVocabularyArgs;
+     * 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 = ConnectFunctions.getVocabulary(GetVocabularyArgs.builder()
+     *             .instanceId("aaaaaaaa-bbbb-cccc-dddd-111111111111")
+     *             .name("Example")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + * By `vocabulary_id` + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.connect.ConnectFunctions;
+     * import com.pulumi.aws.connect.inputs.GetVocabularyArgs;
+     * 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 = ConnectFunctions.getVocabulary(GetVocabularyArgs.builder()
+     *             .instanceId("aaaaaaaa-bbbb-cccc-dddd-111111111111")
+     *             .vocabularyId("cccccccc-bbbb-cccc-dddd-111111111111")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getVocabulary(GetVocabularyArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:connect/getVocabulary:getVocabulary", TypeShape.of(GetVocabularyResult.class), args, Utilities.withVersion(options)); + } /** * Provides details about a specific Amazon Connect Vocabulary. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/controltower/ControltowerFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/controltower/ControltowerFunctions.java index 37fe9bcae55..6658524e35e 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/controltower/ControltowerFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/controltower/ControltowerFunctions.java @@ -11,6 +11,7 @@ import com.pulumi.core.TypeShape; import com.pulumi.deployment.Deployment; import com.pulumi.deployment.InvokeOptions; +import com.pulumi.deployment.InvokeOutputOptions; import java.util.concurrent.CompletableFuture; public final class ControltowerFunctions { @@ -50,6 +51,18 @@ public static CompletableFuture getControlsPlain(GetControlsP public static Output getControls(GetControlsArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:controltower/getControls:getControls", TypeShape.of(GetControlsResult.class), args, Utilities.withVersion(options)); } + /** + * List of Control Tower controls applied to an OU. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + * <!--End PulumiCodeChooser --> + * + */ + public static Output getControls(GetControlsArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:controltower/getControls:getControls", TypeShape.of(GetControlsResult.class), args, Utilities.withVersion(options)); + } /** * List of Control Tower controls applied to an OU. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/costexplorer/CostexplorerFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/CostexplorerFunctions.java index b041d81776f..a5a33cd61aa 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/costexplorer/CostexplorerFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/CostexplorerFunctions.java @@ -14,6 +14,7 @@ import com.pulumi.core.TypeShape; import com.pulumi.deployment.Deployment; import com.pulumi.deployment.InvokeOptions; +import com.pulumi.deployment.InvokeOutputOptions; import java.util.concurrent.CompletableFuture; public final class CostexplorerFunctions { @@ -143,6 +144,48 @@ public static CompletableFuture getCostCategoryPlain(GetC public static Output getCostCategory(GetCostCategoryArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:costexplorer/getCostCategory:getCostCategory", TypeShape.of(GetCostCategoryResult.class), args, Utilities.withVersion(options)); } + /** + * Provides details about a specific CostExplorer Cost Category. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.costexplorer.CostexplorerFunctions;
+     * import com.pulumi.aws.costexplorer.inputs.GetCostCategoryArgs;
+     * 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 = CostexplorerFunctions.getCostCategory(GetCostCategoryArgs.builder()
+     *             .costCategoryArn("costCategoryARN")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getCostCategory(GetCostCategoryArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:costexplorer/getCostCategory:getCostCategory", TypeShape.of(GetCostCategoryResult.class), args, Utilities.withVersion(options)); + } /** * Provides details about a specific CostExplorer Cost Category. * @@ -323,6 +366,52 @@ public static CompletableFuture getTagsPlain(GetTagsPlainArgs arg public static Output getTags(GetTagsArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:costexplorer/getTags:getTags", TypeShape.of(GetTagsResult.class), args, Utilities.withVersion(options)); } + /** + * Provides the available cost allocation tag keys and tag values for a specified period. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.costexplorer.CostexplorerFunctions;
+     * import com.pulumi.aws.costexplorer.inputs.GetTagsArgs;
+     * import com.pulumi.aws.costexplorer.inputs.GetTagsTimePeriodArgs;
+     * 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 test = CostexplorerFunctions.getTags(GetTagsArgs.builder()
+     *             .timePeriod(GetTagsTimePeriodArgs.builder()
+     *                 .start("2021-01-01")
+     *                 .end("2022-12-01")
+     *                 .build())
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getTags(GetTagsArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:costexplorer/getTags:getTags", TypeShape.of(GetTagsResult.class), args, Utilities.withVersion(options)); + } /** * Provides the available cost allocation tag keys and tag values for a specified period. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/cur/CurFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/cur/CurFunctions.java index a5fc70d5499..60879c5d403 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/cur/CurFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/cur/CurFunctions.java @@ -11,6 +11,7 @@ import com.pulumi.core.TypeShape; import com.pulumi.deployment.Deployment; import com.pulumi.deployment.InvokeOptions; +import com.pulumi.deployment.InvokeOutputOptions; import java.util.concurrent.CompletableFuture; public final class CurFunctions { @@ -152,6 +153,52 @@ public static CompletableFuture getReportDefinitionPl public static Output getReportDefinition(GetReportDefinitionArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:cur/getReportDefinition:getReportDefinition", TypeShape.of(GetReportDefinitionResult.class), args, Utilities.withVersion(options)); } + /** + * Use this data source to get information on an AWS Cost and Usage Report Definition. + * + * > *NOTE:* The AWS Cost and Usage Report service is only available in `us-east-1` currently. + * + * > *NOTE:* If AWS Organizations is enabled, only the master account can use this resource. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.cur.CurFunctions;
+     * import com.pulumi.aws.cur.inputs.GetReportDefinitionArgs;
+     * 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 reportDefinition = CurFunctions.getReportDefinition(GetReportDefinitionArgs.builder()
+     *             .reportName("example")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getReportDefinition(GetReportDefinitionArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:cur/getReportDefinition:getReportDefinition", TypeShape.of(GetReportDefinitionResult.class), args, Utilities.withVersion(options)); + } /** * Use this data source to get information on an AWS Cost and Usage Report Definition. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/datapipeline/DatapipelineFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/datapipeline/DatapipelineFunctions.java index c2ff92ee9aa..e139cf4d508 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/datapipeline/DatapipelineFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/datapipeline/DatapipelineFunctions.java @@ -14,6 +14,7 @@ import com.pulumi.core.TypeShape; import com.pulumi.deployment.Deployment; import com.pulumi.deployment.InvokeOptions; +import com.pulumi.deployment.InvokeOutputOptions; import java.util.concurrent.CompletableFuture; public final class DatapipelineFunctions { @@ -143,6 +144,48 @@ public static CompletableFuture getPipelinePlain(GetPipelineP public static Output getPipeline(GetPipelineArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:datapipeline/getPipeline:getPipeline", TypeShape.of(GetPipelineResult.class), args, Utilities.withVersion(options)); } + /** + * Provides details about a specific DataPipeline Pipeline. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.datapipeline.DatapipelineFunctions;
+     * import com.pulumi.aws.datapipeline.inputs.GetPipelineArgs;
+     * 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 = DatapipelineFunctions.getPipeline(GetPipelineArgs.builder()
+     *             .pipelineId("pipelineID")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getPipeline(GetPipelineArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:datapipeline/getPipeline:getPipeline", TypeShape.of(GetPipelineResult.class), args, Utilities.withVersion(options)); + } /** * Provides details about a specific DataPipeline Pipeline. * @@ -311,6 +354,48 @@ public static CompletableFuture getPipelineDefiniti public static Output getPipelineDefinition(GetPipelineDefinitionArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:datapipeline/getPipelineDefinition:getPipelineDefinition", TypeShape.of(GetPipelineDefinitionResult.class), args, Utilities.withVersion(options)); } + /** + * Provides details about a specific DataPipeline Pipeline Definition. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.datapipeline.DatapipelineFunctions;
+     * import com.pulumi.aws.datapipeline.inputs.GetPipelineDefinitionArgs;
+     * 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 = DatapipelineFunctions.getPipelineDefinition(GetPipelineDefinitionArgs.builder()
+     *             .pipelineId("pipelineID")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getPipelineDefinition(GetPipelineDefinitionArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:datapipeline/getPipelineDefinition:getPipelineDefinition", TypeShape.of(GetPipelineDefinitionResult.class), args, Utilities.withVersion(options)); + } /** * Provides details about a specific DataPipeline Pipeline Definition. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/datazone/DatazoneFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/datazone/DatazoneFunctions.java index 71699915892..c24ce5d1dec 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/datazone/DatazoneFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/datazone/DatazoneFunctions.java @@ -11,6 +11,7 @@ import com.pulumi.core.TypeShape; import com.pulumi.deployment.Deployment; import com.pulumi.deployment.InvokeOptions; +import com.pulumi.deployment.InvokeOutputOptions; import java.util.concurrent.CompletableFuture; public final class DatazoneFunctions { @@ -173,6 +174,59 @@ public static CompletableFuture getEnvironmentBlu public static Output getEnvironmentBlueprint(GetEnvironmentBlueprintArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:datazone/getEnvironmentBlueprint:getEnvironmentBlueprint", TypeShape.of(GetEnvironmentBlueprintResult.class), args, Utilities.withVersion(options)); } + /** + * Data source for managing an AWS DataZone Environment Blueprint. + * + * ## Example Usage + * + * ### Basic Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.datazone.Domain;
+     * import com.pulumi.aws.datazone.DomainArgs;
+     * import com.pulumi.aws.datazone.DatazoneFunctions;
+     * import com.pulumi.aws.datazone.inputs.GetEnvironmentBlueprintArgs;
+     * 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 exampleDomain = new Domain("exampleDomain", DomainArgs.builder()
+     *             .name("example_domain")
+     *             .domainExecutionRole(domainExecutionRole.arn())
+     *             .build());
+     * 
+     *         final var example = DatazoneFunctions.getEnvironmentBlueprint(GetEnvironmentBlueprintArgs.builder()
+     *             .domainId(exampleDomain.id())
+     *             .name("DefaultDataLake")
+     *             .managed(true)
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getEnvironmentBlueprint(GetEnvironmentBlueprintArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:datazone/getEnvironmentBlueprint:getEnvironmentBlueprint", TypeShape.of(GetEnvironmentBlueprintResult.class), args, Utilities.withVersion(options)); + } /** * Data source for managing an AWS DataZone Environment Blueprint. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/devopsguru/DevopsguruFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/devopsguru/DevopsguruFunctions.java index 138efd1b1b8..831e1f200ea 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/devopsguru/DevopsguruFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/devopsguru/DevopsguruFunctions.java @@ -14,6 +14,7 @@ import com.pulumi.core.TypeShape; import com.pulumi.deployment.Deployment; import com.pulumi.deployment.InvokeOptions; +import com.pulumi.deployment.InvokeOutputOptions; import java.util.concurrent.CompletableFuture; public final class DevopsguruFunctions { @@ -149,6 +150,50 @@ public static CompletableFuture getNotificationCha public static Output getNotificationChannel(GetNotificationChannelArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:devopsguru/getNotificationChannel:getNotificationChannel", TypeShape.of(GetNotificationChannelResult.class), args, Utilities.withVersion(options)); } + /** + * Data source for managing an AWS DevOps Guru Notification Channel. + * + * ## Example Usage + * + * ### Basic Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.devopsguru.DevopsguruFunctions;
+     * import com.pulumi.aws.devopsguru.inputs.GetNotificationChannelArgs;
+     * 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 = DevopsguruFunctions.getNotificationChannel(GetNotificationChannelArgs.builder()
+     *             .id("channel-1234")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getNotificationChannel(GetNotificationChannelArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:devopsguru/getNotificationChannel:getNotificationChannel", TypeShape.of(GetNotificationChannelResult.class), args, Utilities.withVersion(options)); + } /** * Data source for managing an AWS DevOps Guru Notification Channel. * @@ -325,6 +370,50 @@ public static CompletableFuture getResourceCollecti public static Output getResourceCollection(GetResourceCollectionArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:devopsguru/getResourceCollection:getResourceCollection", TypeShape.of(GetResourceCollectionResult.class), args, Utilities.withVersion(options)); } + /** + * Data source for managing an AWS DevOps Guru Resource Collection. + * + * ## Example Usage + * + * ### Basic Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.devopsguru.DevopsguruFunctions;
+     * import com.pulumi.aws.devopsguru.inputs.GetResourceCollectionArgs;
+     * 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 = DevopsguruFunctions.getResourceCollection(GetResourceCollectionArgs.builder()
+     *             .type("AWS_SERVICE")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getResourceCollection(GetResourceCollectionArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:devopsguru/getResourceCollection:getResourceCollection", TypeShape.of(GetResourceCollectionResult.class), args, Utilities.withVersion(options)); + } /** * Data source for managing an AWS DevOps Guru Resource Collection. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/directconnect/DirectconnectFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/directconnect/DirectconnectFunctions.java index ce86c7084b6..1bbb35fac78 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/directconnect/DirectconnectFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/directconnect/DirectconnectFunctions.java @@ -21,6 +21,7 @@ import com.pulumi.core.TypeShape; import com.pulumi.deployment.Deployment; import com.pulumi.deployment.InvokeOptions; +import com.pulumi.deployment.InvokeOutputOptions; import com.pulumi.resources.InvokeArgs; import java.util.concurrent.CompletableFuture; @@ -151,6 +152,48 @@ public static CompletableFuture getConnectionPlain(GetConne public static Output getConnection(GetConnectionArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:directconnect/getConnection:getConnection", TypeShape.of(GetConnectionResult.class), args, Utilities.withVersion(options)); } + /** + * Retrieve information about a Direct Connect Connection. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.directconnect.DirectconnectFunctions;
+     * import com.pulumi.aws.directconnect.inputs.GetConnectionArgs;
+     * 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 = DirectconnectFunctions.getConnection(GetConnectionArgs.builder()
+     *             .name("tf-dx-connection")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getConnection(GetConnectionArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:directconnect/getConnection:getConnection", TypeShape.of(GetConnectionResult.class), args, Utilities.withVersion(options)); + } /** * Retrieve information about a Direct Connect Connection. * @@ -319,6 +362,48 @@ public static CompletableFuture getGatewayPlain(GetGatewayPlai public static Output getGateway(GetGatewayArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:directconnect/getGateway:getGateway", TypeShape.of(GetGatewayResult.class), args, Utilities.withVersion(options)); } + /** + * Retrieve information about a Direct Connect Gateway. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.directconnect.DirectconnectFunctions;
+     * import com.pulumi.aws.directconnect.inputs.GetGatewayArgs;
+     * 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 = DirectconnectFunctions.getGateway(GetGatewayArgs.builder()
+     *             .name("example")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getGateway(GetGatewayArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:directconnect/getGateway:getGateway", TypeShape.of(GetGatewayResult.class), args, Utilities.withVersion(options)); + } /** * Retrieve information about a Direct Connect Gateway. * @@ -496,6 +581,51 @@ public static CompletableFuture getLocationPlain(GetLocationP public static Output getLocation(GetLocationArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:directconnect/getLocation:getLocation", TypeShape.of(GetLocationResult.class), args, Utilities.withVersion(options)); } + /** + * Retrieve information about a specific AWS Direct Connect location in the current AWS Region. + * These are the locations that can be specified when configuring `aws.directconnect.Connection` or `aws.directconnect.LinkAggregationGroup` resources. + * + * > **Note:** This data source is different from the `aws.directconnect.getLocations` data source which retrieves information about all the AWS Direct Connect locations in the current AWS Region. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.directconnect.DirectconnectFunctions;
+     * import com.pulumi.aws.directconnect.inputs.GetLocationArgs;
+     * 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 = DirectconnectFunctions.getLocation(GetLocationArgs.builder()
+     *             .locationCode("CS32A-24FL")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getLocation(GetLocationArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:directconnect/getLocation:getLocation", TypeShape.of(GetLocationResult.class), args, Utilities.withVersion(options)); + } /** * Retrieve information about a specific AWS Direct Connect location in the current AWS Region. * These are the locations that can be specified when configuring `aws.directconnect.Connection` or `aws.directconnect.LinkAggregationGroup` resources. @@ -751,6 +881,48 @@ public static CompletableFuture getLocationsPlain(InvokeArgs public static Output getLocations(InvokeArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:directconnect/getLocations:getLocations", TypeShape.of(GetLocationsResult.class), args, Utilities.withVersion(options)); } + /** + * Retrieve information about the AWS Direct Connect locations in the current AWS Region. + * These are the locations that can be specified when configuring `aws.directconnect.Connection` or `aws.directconnect.LinkAggregationGroup` resources. + * + * > **Note:** This data source is different from the `aws.directconnect.getLocation` data source which retrieves information about a specific AWS Direct Connect location in the current AWS Region. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.directconnect.DirectconnectFunctions;
+     * 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 available = DirectconnectFunctions.getLocations();
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getLocations(InvokeArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:directconnect/getLocations:getLocations", TypeShape.of(GetLocationsResult.class), args, Utilities.withVersion(options)); + } /** * Retrieve information about the AWS Direct Connect locations in the current AWS Region. * These are the locations that can be specified when configuring `aws.directconnect.Connection` or `aws.directconnect.LinkAggregationGroup` resources. @@ -928,6 +1100,51 @@ public static CompletableFuture getRouterConfigura public static Output getRouterConfiguration(GetRouterConfigurationArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:directconnect/getRouterConfiguration:getRouterConfiguration", TypeShape.of(GetRouterConfigurationResult.class), args, Utilities.withVersion(options)); } + /** + * Data source for retrieving Router Configuration instructions for a given AWS Direct Connect Virtual Interface and Router Type. + * + * ## Example Usage + * + * ### Basic Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.directconnect.DirectconnectFunctions;
+     * import com.pulumi.aws.directconnect.inputs.GetRouterConfigurationArgs;
+     * 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 = DirectconnectFunctions.getRouterConfiguration(GetRouterConfigurationArgs.builder()
+     *             .virtualInterfaceId("dxvif-abcde123")
+     *             .routerTypeIdentifier("CiscoSystemsInc-2900SeriesRouters-IOS124")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getRouterConfiguration(GetRouterConfigurationArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:directconnect/getRouterConfiguration:getRouterConfiguration", TypeShape.of(GetRouterConfigurationResult.class), args, Utilities.withVersion(options)); + } /** * Data source for retrieving Router Configuration instructions for a given AWS Direct Connect Virtual Interface and Router Type. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/directoryservice/DirectoryserviceFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/directoryservice/DirectoryserviceFunctions.java index 0ce23541105..ebafa522c41 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/directoryservice/DirectoryserviceFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/directoryservice/DirectoryserviceFunctions.java @@ -11,6 +11,7 @@ import com.pulumi.core.TypeShape; import com.pulumi.deployment.Deployment; import com.pulumi.deployment.InvokeOptions; +import com.pulumi.deployment.InvokeOutputOptions; import java.util.concurrent.CompletableFuture; public final class DirectoryserviceFunctions { @@ -140,6 +141,48 @@ public static CompletableFuture getDirectoryPlain(GetDirecto public static Output getDirectory(GetDirectoryArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:directoryservice/getDirectory:getDirectory", TypeShape.of(GetDirectoryResult.class), args, Utilities.withVersion(options)); } + /** + * Get attributes of AWS Directory Service directory (SimpleAD, Managed AD, AD Connector). It's especially useful to refer AWS Managed AD or on-premise AD in AD Connector configuration. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.directoryservice.DirectoryserviceFunctions;
+     * import com.pulumi.aws.directoryservice.inputs.GetDirectoryArgs;
+     * 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 = DirectoryserviceFunctions.getDirectory(GetDirectoryArgs.builder()
+     *             .directoryId(main.id())
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getDirectory(GetDirectoryArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:directoryservice/getDirectory:getDirectory", TypeShape.of(GetDirectoryResult.class), args, Utilities.withVersion(options)); + } /** * Get attributes of AWS Directory Service directory (SimpleAD, Managed AD, AD Connector). It's especially useful to refer AWS Managed AD or on-premise AD in AD Connector configuration. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/dms/DmsFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/dms/DmsFunctions.java index 4a9a7e8712c..c50b8fefcb9 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/dms/DmsFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/dms/DmsFunctions.java @@ -23,6 +23,7 @@ import com.pulumi.core.TypeShape; import com.pulumi.deployment.Deployment; import com.pulumi.deployment.InvokeOptions; +import com.pulumi.deployment.InvokeOutputOptions; import java.util.concurrent.CompletableFuture; public final class DmsFunctions { @@ -158,6 +159,50 @@ public static CompletableFuture getCertificatePlain(GetCer public static Output getCertificate(GetCertificateArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:dms/getCertificate:getCertificate", TypeShape.of(GetCertificateResult.class), args, Utilities.withVersion(options)); } + /** + * Data source for managing an AWS DMS (Database Migration) Certificate. + * + * ## Example Usage + * + * ### Basic Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.dms.DmsFunctions;
+     * import com.pulumi.aws.dms.inputs.GetCertificateArgs;
+     * 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 = DmsFunctions.getCertificate(GetCertificateArgs.builder()
+     *             .certificateId(test.certificateId())
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getCertificate(GetCertificateArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:dms/getCertificate:getCertificate", TypeShape.of(GetCertificateResult.class), args, Utilities.withVersion(options)); + } /** * Data source for managing an AWS DMS (Database Migration) Certificate. * @@ -334,6 +379,50 @@ public static CompletableFuture getEndpointPlain(GetEndpointP public static Output getEndpoint(GetEndpointArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:dms/getEndpoint:getEndpoint", TypeShape.of(GetEndpointResult.class), args, Utilities.withVersion(options)); } + /** + * Data source for managing an AWS DMS (Database Migration) Endpoint. + * + * ## Example Usage + * + * ### Basic Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.dms.DmsFunctions;
+     * import com.pulumi.aws.dms.inputs.GetEndpointArgs;
+     * 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 test = DmsFunctions.getEndpoint(GetEndpointArgs.builder()
+     *             .endpointId("test_id")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getEndpoint(GetEndpointArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:dms/getEndpoint:getEndpoint", TypeShape.of(GetEndpointResult.class), args, Utilities.withVersion(options)); + } /** * Data source for managing an AWS DMS (Database Migration) Endpoint. * @@ -504,6 +593,48 @@ public static CompletableFuture getReplicationInst public static Output getReplicationInstance(GetReplicationInstanceArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:dms/getReplicationInstance:getReplicationInstance", TypeShape.of(GetReplicationInstanceResult.class), args, Utilities.withVersion(options)); } + /** + * Data source for managing an AWS DMS (Database Migration) Replication Instance. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.dms.DmsFunctions;
+     * import com.pulumi.aws.dms.inputs.GetReplicationInstanceArgs;
+     * 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 test = DmsFunctions.getReplicationInstance(GetReplicationInstanceArgs.builder()
+     *             .replicationInstanceId(testAwsDmsReplicationInstance.replicationInstanceId())
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getReplicationInstance(GetReplicationInstanceArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:dms/getReplicationInstance:getReplicationInstance", TypeShape.of(GetReplicationInstanceResult.class), args, Utilities.withVersion(options)); + } /** * Data source for managing an AWS DMS (Database Migration) Replication Instance. * @@ -678,6 +809,50 @@ public static CompletableFuture getReplicationS public static Output getReplicationSubnetGroup(GetReplicationSubnetGroupArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:dms/getReplicationSubnetGroup:getReplicationSubnetGroup", TypeShape.of(GetReplicationSubnetGroupResult.class), args, Utilities.withVersion(options)); } + /** + * Data source for managing an AWS DMS (Database Migration) Replication Subnet Group. + * + * ## Example Usage + * + * ### Basic Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.dms.DmsFunctions;
+     * import com.pulumi.aws.dms.inputs.GetReplicationSubnetGroupArgs;
+     * 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 test = DmsFunctions.getReplicationSubnetGroup(GetReplicationSubnetGroupArgs.builder()
+     *             .replicationSubnetGroupId(testAwsDmsReplicationSubnetGroup.replicationSubnetGroupId())
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getReplicationSubnetGroup(GetReplicationSubnetGroupArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:dms/getReplicationSubnetGroup:getReplicationSubnetGroup", TypeShape.of(GetReplicationSubnetGroupResult.class), args, Utilities.withVersion(options)); + } /** * Data source for managing an AWS DMS (Database Migration) Replication Subnet Group. * @@ -854,6 +1029,50 @@ public static CompletableFuture getReplicationTaskPlai public static Output getReplicationTask(GetReplicationTaskArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:dms/getReplicationTask:getReplicationTask", TypeShape.of(GetReplicationTaskResult.class), args, Utilities.withVersion(options)); } + /** + * Data source for managing an AWS DMS (Database Migration) Replication Task. + * + * ## Example Usage + * + * ### Basic Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.dms.DmsFunctions;
+     * import com.pulumi.aws.dms.inputs.GetReplicationTaskArgs;
+     * 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 test = DmsFunctions.getReplicationTask(GetReplicationTaskArgs.builder()
+     *             .replicationTaskId(testAwsDmsReplicationTask.replicationTaskId())
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getReplicationTask(GetReplicationTaskArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:dms/getReplicationTask:getReplicationTask", TypeShape.of(GetReplicationTaskResult.class), args, Utilities.withVersion(options)); + } /** * Data source for managing an AWS DMS (Database Migration) Replication Task. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/docdb/DocdbFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/docdb/DocdbFunctions.java index 4658f153dd2..fbb5eb5fdc7 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/docdb/DocdbFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/docdb/DocdbFunctions.java @@ -14,6 +14,7 @@ import com.pulumi.core.TypeShape; import com.pulumi.deployment.Deployment; import com.pulumi.deployment.InvokeOptions; +import com.pulumi.deployment.InvokeOutputOptions; import java.util.concurrent.CompletableFuture; public final class DocdbFunctions { @@ -227,6 +228,48 @@ public static CompletableFuture getEngineVersionPlain(Ge public static Output getEngineVersion(GetEngineVersionArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:docdb/getEngineVersion:getEngineVersion", TypeShape.of(GetEngineVersionResult.class), args, Utilities.withVersion(options)); } + /** + * Information about a DocumentDB engine version. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.docdb.DocdbFunctions;
+     * import com.pulumi.aws.docdb.inputs.GetEngineVersionArgs;
+     * 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 test = DocdbFunctions.getEngineVersion(GetEngineVersionArgs.builder()
+     *             .version("3.6.0")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getEngineVersion(GetEngineVersionArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:docdb/getEngineVersion:getEngineVersion", TypeShape.of(GetEngineVersionResult.class), args, Utilities.withVersion(options)); + } /** * Information about a DocumentDB engine version. * @@ -509,6 +552,54 @@ public static CompletableFuture getOrderableDbInst public static Output getOrderableDbInstance(GetOrderableDbInstanceArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:docdb/getOrderableDbInstance:getOrderableDbInstance", TypeShape.of(GetOrderableDbInstanceResult.class), args, Utilities.withVersion(options)); } + /** + * Information about DocumentDB orderable DB instances. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.docdb.DocdbFunctions;
+     * import com.pulumi.aws.docdb.inputs.GetOrderableDbInstanceArgs;
+     * 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 test = DocdbFunctions.getOrderableDbInstance(GetOrderableDbInstanceArgs.builder()
+     *             .engine("docdb")
+     *             .engineVersion("3.6.0")
+     *             .licenseModel("na")
+     *             .preferredInstanceClasses(            
+     *                 "db.r5.large",
+     *                 "db.r4.large",
+     *                 "db.t3.medium")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getOrderableDbInstance(GetOrderableDbInstanceArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:docdb/getOrderableDbInstance:getOrderableDbInstance", TypeShape.of(GetOrderableDbInstanceResult.class), args, Utilities.withVersion(options)); + } /** * Information about DocumentDB orderable DB instances. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/dynamodb/DynamodbFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/dynamodb/DynamodbFunctions.java index f36ffee7ee4..ee66b6ff247 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/dynamodb/DynamodbFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/dynamodb/DynamodbFunctions.java @@ -14,6 +14,7 @@ import com.pulumi.core.TypeShape; import com.pulumi.deployment.Deployment; import com.pulumi.deployment.InvokeOptions; +import com.pulumi.deployment.InvokeOutputOptions; import java.util.concurrent.CompletableFuture; public final class DynamodbFunctions { @@ -143,6 +144,48 @@ public static CompletableFuture getTablePlain(GetTablePlainArgs public static Output getTable(GetTableArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:dynamodb/getTable:getTable", TypeShape.of(GetTableResult.class), args, Utilities.withVersion(options)); } + /** + * Provides information about a DynamoDB table. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.dynamodb.DynamodbFunctions;
+     * import com.pulumi.aws.dynamodb.inputs.GetTableArgs;
+     * 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 tableName = DynamodbFunctions.getTable(GetTableArgs.builder()
+     *             .name("tableName")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getTable(GetTableArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:dynamodb/getTable:getTable", TypeShape.of(GetTableResult.class), args, Utilities.withVersion(options)); + } /** * Provides information about a DynamoDB table. * @@ -338,6 +381,57 @@ public static CompletableFuture getTableItemPlain(GetTableIt public static Output getTableItem(GetTableItemArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:dynamodb/getTableItem:getTableItem", TypeShape.of(GetTableItemResult.class), args, Utilities.withVersion(options)); } + /** + * Data source for retrieving a value from an AWS DynamoDB table. + * + * ## Example Usage + * + * ### Basic Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.dynamodb.DynamodbFunctions;
+     * import com.pulumi.aws.dynamodb.inputs.GetTableItemArgs;
+     * 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 test = DynamodbFunctions.getTableItem(GetTableItemArgs.builder()
+     *             .tableName(example.name())
+     *             .expressionAttributeNames(Map.of("#P", "Percentile"))
+     *             .projectionExpression("#P")
+     *             .key("""
+     * {
+     * 	"hashKey": {"S": "example"}
+     * }
+     *             """)
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getTableItem(GetTableItemArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:dynamodb/getTableItem:getTableItem", TypeShape.of(GetTableItemResult.class), args, Utilities.withVersion(options)); + } /** * Data source for retrieving a value from an AWS DynamoDB table. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/ebs/EbsFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/ebs/EbsFunctions.java index df8c5a6d074..e9876d66845 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ebs/EbsFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ebs/EbsFunctions.java @@ -22,6 +22,7 @@ import com.pulumi.core.TypeShape; import com.pulumi.deployment.Deployment; import com.pulumi.deployment.InvokeOptions; +import com.pulumi.deployment.InvokeOutputOptions; import com.pulumi.resources.InvokeArgs; import java.util.concurrent.CompletableFuture; @@ -261,6 +262,53 @@ public static CompletableFuture getDefaultKmsKeyPlain(In public static Output getDefaultKmsKey(InvokeArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:ebs/getDefaultKmsKey:getDefaultKmsKey", TypeShape.of(GetDefaultKmsKeyResult.class), args, Utilities.withVersion(options)); } + /** + * Use this data source to get the default EBS encryption KMS key in the current region. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.ebs.EbsFunctions;
+     * import com.pulumi.aws.ebs.Volume;
+     * import com.pulumi.aws.ebs.VolumeArgs;
+     * 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 current = EbsFunctions.getDefaultKmsKey();
+     * 
+     *         var example = new Volume("example", VolumeArgs.builder()
+     *             .availabilityZone("us-west-2a")
+     *             .encrypted(true)
+     *             .kmsKeyId(current.applyValue(getDefaultKmsKeyResult -> getDefaultKmsKeyResult.keyArn()))
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getDefaultKmsKey(InvokeArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:ebs/getDefaultKmsKey:getDefaultKmsKey", TypeShape.of(GetDefaultKmsKeyResult.class), args, Utilities.withVersion(options)); + } /** * Use this data source to get the default EBS encryption KMS key in the current region. * @@ -388,6 +436,22 @@ public static CompletableFuture getEbsVolumesPlain(GetEbsVo public static Output getEbsVolumes(GetEbsVolumesArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:ebs/getEbsVolumes:getEbsVolumes", TypeShape.of(GetEbsVolumesResult.class), args, Utilities.withVersion(options)); } + /** + * `aws.ebs.getEbsVolumes` provides identifying information for EBS volumes matching given criteria. + * + * This data source can be useful for getting a list of volume IDs with (for example) matching tags. + * + * ## Example Usage + * + * The following demonstrates obtaining a map of availability zone to EBS volume ID for volumes with a given tag value. + * + * <!--Start PulumiCodeChooser --> + * <!--End PulumiCodeChooser --> + * + */ + public static Output getEbsVolumes(GetEbsVolumesArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:ebs/getEbsVolumes:getEbsVolumes", TypeShape.of(GetEbsVolumesResult.class), args, Utilities.withVersion(options)); + } /** * `aws.ebs.getEbsVolumes` provides identifying information for EBS volumes matching given criteria. * @@ -599,6 +663,45 @@ public static CompletableFuture getEncryptionByDef public static Output getEncryptionByDefault(InvokeArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:ebs/getEncryptionByDefault:getEncryptionByDefault", TypeShape.of(GetEncryptionByDefaultResult.class), args, Utilities.withVersion(options)); } + /** + * Provides a way to check whether default EBS encryption is enabled for your AWS account in the current AWS region. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.ebs.EbsFunctions;
+     * 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 current = EbsFunctions.getEncryptionByDefault();
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getEncryptionByDefault(InvokeArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:ebs/getEncryptionByDefault:getEncryptionByDefault", TypeShape.of(GetEncryptionByDefaultResult.class), args, Utilities.withVersion(options)); + } /** * Provides a way to check whether default EBS encryption is enabled for your AWS account in the current AWS region. * @@ -898,6 +1001,58 @@ public static CompletableFuture getSnapshotPlain(GetSnapshotP public static Output getSnapshot(GetSnapshotArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:ebs/getSnapshot:getSnapshot", TypeShape.of(GetSnapshotResult.class), args, Utilities.withVersion(options)); } + /** + * Use this data source to get information about an EBS Snapshot for use when provisioning EBS Volumes + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.ebs.EbsFunctions;
+     * import com.pulumi.aws.ebs.inputs.GetSnapshotArgs;
+     * 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 ebsVolume = EbsFunctions.getSnapshot(GetSnapshotArgs.builder()
+     *             .mostRecent(true)
+     *             .owners("self")
+     *             .filters(            
+     *                 GetSnapshotFilterArgs.builder()
+     *                     .name("volume-size")
+     *                     .values("40")
+     *                     .build(),
+     *                 GetSnapshotFilterArgs.builder()
+     *                     .name("tag:Name")
+     *                     .values("Example")
+     *                     .build())
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getSnapshot(GetSnapshotArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:ebs/getSnapshot:getSnapshot", TypeShape.of(GetSnapshotResult.class), args, Utilities.withVersion(options)); + } /** * Use this data source to get information about an EBS Snapshot for use when provisioning EBS Volumes * @@ -1210,6 +1365,58 @@ public static CompletableFuture getSnapshotIdsPlain(GetSna public static Output getSnapshotIds(GetSnapshotIdsArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:ebs/getSnapshotIds:getSnapshotIds", TypeShape.of(GetSnapshotIdsResult.class), args, Utilities.withVersion(options)); } + /** + * Use this data source to get a list of EBS Snapshot IDs matching the specified + * criteria. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.ebs.EbsFunctions;
+     * import com.pulumi.aws.ebs.inputs.GetSnapshotIdsArgs;
+     * 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 ebsVolumes = EbsFunctions.getSnapshotIds(GetSnapshotIdsArgs.builder()
+     *             .owners("self")
+     *             .filters(            
+     *                 GetSnapshotIdsFilterArgs.builder()
+     *                     .name("volume-size")
+     *                     .values("40")
+     *                     .build(),
+     *                 GetSnapshotIdsFilterArgs.builder()
+     *                     .name("tag:Name")
+     *                     .values("Example")
+     *                     .build())
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getSnapshotIds(GetSnapshotIdsArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:ebs/getSnapshotIds:getSnapshotIds", TypeShape.of(GetSnapshotIdsResult.class), args, Utilities.withVersion(options)); + } /** * Use this data source to get a list of EBS Snapshot IDs matching the specified * criteria. @@ -1522,6 +1729,58 @@ public static CompletableFuture getVolumePlain(GetVolumePlainAr public static Output getVolume(GetVolumeArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:ebs/getVolume:getVolume", TypeShape.of(GetVolumeResult.class), args, Utilities.withVersion(options)); } + /** + * Use this data source to get information about an EBS volume for use in other + * resources. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.ebs.EbsFunctions;
+     * import com.pulumi.aws.ebs.inputs.GetVolumeArgs;
+     * 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 ebsVolume = EbsFunctions.getVolume(GetVolumeArgs.builder()
+     *             .mostRecent(true)
+     *             .filters(            
+     *                 GetVolumeFilterArgs.builder()
+     *                     .name("volume-type")
+     *                     .values("gp2")
+     *                     .build(),
+     *                 GetVolumeFilterArgs.builder()
+     *                     .name("tag:Name")
+     *                     .values("Example")
+     *                     .build())
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getVolume(GetVolumeArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:ebs/getVolume:getVolume", TypeShape.of(GetVolumeResult.class), args, Utilities.withVersion(options)); + } /** * Use this data source to get information about an EBS volume for use in other * resources. diff --git a/sdk/java/src/main/java/com/pulumi/aws/ebs/SnapshotCopy.java b/sdk/java/src/main/java/com/pulumi/aws/ebs/SnapshotCopy.java index 3c429a361ea..59259e9af4f 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ebs/SnapshotCopy.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ebs/SnapshotCopy.java @@ -89,6 +89,20 @@ public class SnapshotCopy extends com.pulumi.resources.CustomResource { public Output arn() { return this.arn; } + /** + * Specifies a completion duration to initiate a time-based snapshot copy. Time-based snapshot copy operations complete within the specified duration. Value must be between 15 and 2880 minutes, in 15 minute increments only. + * + */ + @Export(name="completionDurationMinutes", refs={Integer.class}, tree="[0]") + private Output completionDurationMinutes; + + /** + * @return Specifies a completion duration to initiate a time-based snapshot copy. Time-based snapshot copy operations complete within the specified duration. Value must be between 15 and 2880 minutes, in 15 minute increments only. + * + */ + public Output> completionDurationMinutes() { + return Codegen.optional(this.completionDurationMinutes); + } /** * The data encryption key identifier for the snapshot. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/ebs/SnapshotCopyArgs.java b/sdk/java/src/main/java/com/pulumi/aws/ebs/SnapshotCopyArgs.java index cf19ec66195..505b8b126ec 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ebs/SnapshotCopyArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ebs/SnapshotCopyArgs.java @@ -19,6 +19,21 @@ public final class SnapshotCopyArgs extends com.pulumi.resources.ResourceArgs { public static final SnapshotCopyArgs Empty = new SnapshotCopyArgs(); + /** + * Specifies a completion duration to initiate a time-based snapshot copy. Time-based snapshot copy operations complete within the specified duration. Value must be between 15 and 2880 minutes, in 15 minute increments only. + * + */ + @Import(name="completionDurationMinutes") + private @Nullable Output completionDurationMinutes; + + /** + * @return Specifies a completion duration to initiate a time-based snapshot copy. Time-based snapshot copy operations complete within the specified duration. Value must be between 15 and 2880 minutes, in 15 minute increments only. + * + */ + public Optional> completionDurationMinutes() { + return Optional.ofNullable(this.completionDurationMinutes); + } + /** * A description of what the snapshot is. * @@ -157,6 +172,7 @@ public Optional> temporaryRestoreDays() { private SnapshotCopyArgs() {} private SnapshotCopyArgs(SnapshotCopyArgs $) { + this.completionDurationMinutes = $.completionDurationMinutes; this.description = $.description; this.encrypted = $.encrypted; this.kmsKeyId = $.kmsKeyId; @@ -186,6 +202,27 @@ public Builder(SnapshotCopyArgs defaults) { $ = new SnapshotCopyArgs(Objects.requireNonNull(defaults)); } + /** + * @param completionDurationMinutes Specifies a completion duration to initiate a time-based snapshot copy. Time-based snapshot copy operations complete within the specified duration. Value must be between 15 and 2880 minutes, in 15 minute increments only. + * + * @return builder + * + */ + public Builder completionDurationMinutes(@Nullable Output completionDurationMinutes) { + $.completionDurationMinutes = completionDurationMinutes; + return this; + } + + /** + * @param completionDurationMinutes Specifies a completion duration to initiate a time-based snapshot copy. Time-based snapshot copy operations complete within the specified duration. Value must be between 15 and 2880 minutes, in 15 minute increments only. + * + * @return builder + * + */ + public Builder completionDurationMinutes(Integer completionDurationMinutes) { + return completionDurationMinutes(Output.of(completionDurationMinutes)); + } + /** * @param description A description of what the snapshot is. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/ebs/inputs/SnapshotCopyState.java b/sdk/java/src/main/java/com/pulumi/aws/ebs/inputs/SnapshotCopyState.java index 569de4df78a..e71204c4324 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ebs/inputs/SnapshotCopyState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ebs/inputs/SnapshotCopyState.java @@ -33,6 +33,21 @@ public Optional> arn() { return Optional.ofNullable(this.arn); } + /** + * Specifies a completion duration to initiate a time-based snapshot copy. Time-based snapshot copy operations complete within the specified duration. Value must be between 15 and 2880 minutes, in 15 minute increments only. + * + */ + @Import(name="completionDurationMinutes") + private @Nullable Output completionDurationMinutes; + + /** + * @return Specifies a completion duration to initiate a time-based snapshot copy. Time-based snapshot copy operations complete within the specified duration. Value must be between 15 and 2880 minutes, in 15 minute increments only. + * + */ + public Optional> completionDurationMinutes() { + return Optional.ofNullable(this.completionDurationMinutes); + } + /** * The data encryption key identifier for the snapshot. * @@ -269,6 +284,7 @@ private SnapshotCopyState() {} private SnapshotCopyState(SnapshotCopyState $) { this.arn = $.arn; + this.completionDurationMinutes = $.completionDurationMinutes; this.dataEncryptionKeyId = $.dataEncryptionKeyId; this.description = $.description; this.encrypted = $.encrypted; @@ -326,6 +342,27 @@ public Builder arn(String arn) { return arn(Output.of(arn)); } + /** + * @param completionDurationMinutes Specifies a completion duration to initiate a time-based snapshot copy. Time-based snapshot copy operations complete within the specified duration. Value must be between 15 and 2880 minutes, in 15 minute increments only. + * + * @return builder + * + */ + public Builder completionDurationMinutes(@Nullable Output completionDurationMinutes) { + $.completionDurationMinutes = completionDurationMinutes; + return this; + } + + /** + * @param completionDurationMinutes Specifies a completion duration to initiate a time-based snapshot copy. Time-based snapshot copy operations complete within the specified duration. Value must be between 15 and 2880 minutes, in 15 minute increments only. + * + * @return builder + * + */ + public Builder completionDurationMinutes(Integer completionDurationMinutes) { + return completionDurationMinutes(Output.of(completionDurationMinutes)); + } + /** * @param dataEncryptionKeyId The data encryption key identifier for the snapshot. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/Ec2Functions.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/Ec2Functions.java index 1ea914da636..bb6e7ca42f6 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/Ec2Functions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/Ec2Functions.java @@ -196,6 +196,7 @@ import com.pulumi.core.TypeShape; import com.pulumi.deployment.Deployment; import com.pulumi.deployment.InvokeOptions; +import com.pulumi.deployment.InvokeOutputOptions; import com.pulumi.resources.InvokeArgs; import java.util.concurrent.CompletableFuture; @@ -495,6 +496,65 @@ public static CompletableFuture getAmiPlain(GetAmiPlainArgs args) public static Output getAmi(GetAmiArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:ec2/getAmi:getAmi", TypeShape.of(GetAmiResult.class), args, Utilities.withVersion(options)); } + /** + * Use this data source to get the ID of a registered AMI for use in other + * resources. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.ec2.Ec2Functions;
+     * import com.pulumi.aws.ec2.inputs.GetAmiArgs;
+     * import java.util.List;
+     * import java.util.ArrayList;
+     * import java.util.Map;
+     * import java.io.File;
+     * import java.nio.file.Files;
+     * import java.nio.file.Paths;
+     * 
+     * public class App {
+     *     public static void main(String[] args) {
+     *         Pulumi.run(App::stack);
+     *     }
+     * 
+     *     public static void stack(Context ctx) {
+     *         final var example = Ec2Functions.getAmi(GetAmiArgs.builder()
+     *             .executableUsers("self")
+     *             .mostRecent(true)
+     *             .nameRegex("^myami-[0-9]{3}")
+     *             .owners("self")
+     *             .filters(            
+     *                 GetAmiFilterArgs.builder()
+     *                     .name("name")
+     *                     .values("myami-*")
+     *                     .build(),
+     *                 GetAmiFilterArgs.builder()
+     *                     .name("root-device-type")
+     *                     .values("ebs")
+     *                     .build(),
+     *                 GetAmiFilterArgs.builder()
+     *                     .name("virtualization-type")
+     *                     .values("hvm")
+     *                     .build())
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getAmi(GetAmiArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:ec2/getAmi:getAmi", TypeShape.of(GetAmiResult.class), args, Utilities.withVersion(options)); + } /** * Use this data source to get the ID of a registered AMI for use in other * resources. @@ -692,6 +752,52 @@ public static CompletableFuture getAmiIdsPlain(GetAmiIdsPlainAr public static Output getAmiIds(GetAmiIdsArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:ec2/getAmiIds:getAmiIds", TypeShape.of(GetAmiIdsResult.class), args, Utilities.withVersion(options)); } + /** + * Use this data source to get a list of AMI IDs matching the specified criteria. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.ec2.Ec2Functions;
+     * import com.pulumi.aws.ec2.inputs.GetAmiIdsArgs;
+     * 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 ubuntu = Ec2Functions.getAmiIds(GetAmiIdsArgs.builder()
+     *             .owners("099720109477")
+     *             .filters(GetAmiIdsFilterArgs.builder()
+     *                 .name("name")
+     *                 .values("ubuntu/images/ubuntu-*-*-amd64-server-*")
+     *                 .build())
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getAmiIds(GetAmiIdsArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:ec2/getAmiIds:getAmiIds", TypeShape.of(GetAmiIdsResult.class), args, Utilities.withVersion(options)); + } /** * Use this data source to get a list of AMI IDs matching the specified criteria. * @@ -876,6 +982,52 @@ public static CompletableFuture getCapacityBlock public static Output getCapacityBlockOffering(GetCapacityBlockOfferingArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:ec2/getCapacityBlockOffering:getCapacityBlockOffering", TypeShape.of(GetCapacityBlockOfferingResult.class), args, Utilities.withVersion(options)); } + /** + * Information about a single EC2 Capacity Block Offering. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.ec2.Ec2Functions;
+     * import com.pulumi.aws.ec2.inputs.GetCapacityBlockOfferingArgs;
+     * import java.util.List;
+     * import java.util.ArrayList;
+     * import java.util.Map;
+     * import java.io.File;
+     * import java.nio.file.Files;
+     * import java.nio.file.Paths;
+     * 
+     * public class App {
+     *     public static void main(String[] args) {
+     *         Pulumi.run(App::stack);
+     *     }
+     * 
+     *     public static void stack(Context ctx) {
+     *         final var example = Ec2Functions.getCapacityBlockOffering(GetCapacityBlockOfferingArgs.builder()
+     *             .capacityDurationHours(24)
+     *             .endDateRange("2024-05-30T15:04:05Z")
+     *             .instanceCount(1)
+     *             .instanceType("p4d.24xlarge")
+     *             .startDateRange("2024-04-28T15:04:05Z")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getCapacityBlockOffering(GetCapacityBlockOfferingArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:ec2/getCapacityBlockOffering:getCapacityBlockOffering", TypeShape.of(GetCapacityBlockOfferingResult.class), args, Utilities.withVersion(options)); + } /** * Information about a single EC2 Capacity Block Offering. * @@ -1172,6 +1324,56 @@ public static CompletableFuture getCoipPoolPlain(GetCoipPoolP public static Output getCoipPool(GetCoipPoolArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:ec2/getCoipPool:getCoipPool", TypeShape.of(GetCoipPoolResult.class), args, Utilities.withVersion(options)); } + /** + * Provides details about a specific EC2 Customer-Owned IP Pool. + * + * This data source can prove useful when a module accepts a coip pool id as + * an input variable and needs to, for example, determine the CIDR block of that + * COIP Pool. + * + * ## Example Usage + * + * The following example returns a specific coip pool ID + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.ec2.Ec2Functions;
+     * import com.pulumi.aws.ec2.inputs.GetCoipPoolArgs;
+     * import java.util.List;
+     * import java.util.ArrayList;
+     * import java.util.Map;
+     * import java.io.File;
+     * import java.nio.file.Files;
+     * import java.nio.file.Paths;
+     * 
+     * public class App {
+     *     public static void main(String[] args) {
+     *         Pulumi.run(App::stack);
+     *     }
+     * 
+     *     public static void stack(Context ctx) {
+     *         final var config = ctx.config();
+     *         final var coipPoolId = config.get("coipPoolId");
+     *         final var selected = Ec2Functions.getCoipPool(GetCoipPoolArgs.builder()
+     *             .id(coipPoolId)
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getCoipPool(GetCoipPoolArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:ec2/getCoipPool:getCoipPool", TypeShape.of(GetCoipPoolResult.class), args, Utilities.withVersion(options)); + } /** * Provides details about a specific EC2 Customer-Owned IP Pool. * @@ -1257,6 +1459,13 @@ public static CompletableFuture getCoipPoolsPlain(GetCoipPoo public static Output getCoipPools(GetCoipPoolsArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:ec2/getCoipPools:getCoipPools", TypeShape.of(GetCoipPoolsResult.class), args, Utilities.withVersion(options)); } + /** + * Provides information for multiple EC2 Customer-Owned IP Pools, such as their identifiers. + * + */ + public static Output getCoipPools(GetCoipPoolsArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:ec2/getCoipPools:getCoipPools", TypeShape.of(GetCoipPoolsResult.class), args, Utilities.withVersion(options)); + } /** * Provides information for multiple EC2 Customer-Owned IP Pools, such as their identifiers. * @@ -1627,11 +1836,11 @@ public static Output getCustomerGateway(GetCustomerGat * <!--End PulumiCodeChooser --> * */ - public static CompletableFuture getCustomerGatewayPlain(GetCustomerGatewayPlainArgs args, InvokeOptions options) { - return Deployment.getInstance().invokeAsync("aws:ec2/getCustomerGateway:getCustomerGateway", TypeShape.of(GetCustomerGatewayResult.class), args, Utilities.withVersion(options)); + public static Output getCustomerGateway(GetCustomerGatewayArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:ec2/getCustomerGateway:getCustomerGateway", TypeShape.of(GetCustomerGatewayResult.class), args, Utilities.withVersion(options)); } /** - * Use this data source to get information about an EC2 Dedicated Host. + * Get an existing AWS Customer Gateway. * * ## Example Usage * @@ -1643,10 +1852,12 @@ public static CompletableFuture getCustomerGatewayPlai * import com.pulumi.Context; * import com.pulumi.Pulumi; * import com.pulumi.core.Output; - * import com.pulumi.aws.ec2.DedicatedHost; - * import com.pulumi.aws.ec2.DedicatedHostArgs; * import com.pulumi.aws.ec2.Ec2Functions; - * import com.pulumi.aws.ec2.inputs.GetDedicatedHostArgs; + * import com.pulumi.aws.ec2.inputs.GetCustomerGatewayArgs; + * import com.pulumi.aws.ec2.VpnGateway; + * import com.pulumi.aws.ec2.VpnGatewayArgs; + * import com.pulumi.aws.ec2.VpnConnection; + * import com.pulumi.aws.ec2.VpnConnectionArgs; * import java.util.List; * import java.util.ArrayList; * import java.util.Map; @@ -1660,13 +1871,23 @@ public static CompletableFuture getCustomerGatewayPlai * } * * public static void stack(Context ctx) { - * var testDedicatedHost = new DedicatedHost("testDedicatedHost", DedicatedHostArgs.builder() - * .instanceType("c5.18xlarge") - * .availabilityZone("us-west-2a") + * final var foo = Ec2Functions.getCustomerGateway(GetCustomerGatewayArgs.builder() + * .filters(GetCustomerGatewayFilterArgs.builder() + * .name("tag:Name") + * .values("foo-prod") + * .build()) * .build()); * - * final var test = Ec2Functions.getDedicatedHost(GetDedicatedHostArgs.builder() - * .hostId(testDedicatedHost.id()) + * var main = new VpnGateway("main", VpnGatewayArgs.builder() + * .vpcId(mainAwsVpc.id()) + * .amazonSideAsn(7224) + * .build()); + * + * var transit = new VpnConnection("transit", VpnConnectionArgs.builder() + * .vpnGatewayId(main.id()) + * .customerGatewayId(foo.applyValue(getCustomerGatewayResult -> getCustomerGatewayResult.id())) + * .type(foo.applyValue(getCustomerGatewayResult -> getCustomerGatewayResult.type())) + * .staticRoutesOnly(false) * .build()); * * } @@ -1675,7 +1896,14 @@ public static CompletableFuture getCustomerGatewayPlai *
* <!--End PulumiCodeChooser --> * - * ### Filter Example + */ + public static CompletableFuture getCustomerGatewayPlain(GetCustomerGatewayPlainArgs args, InvokeOptions options) { + return Deployment.getInstance().invokeAsync("aws:ec2/getCustomerGateway:getCustomerGateway", TypeShape.of(GetCustomerGatewayResult.class), args, Utilities.withVersion(options)); + } + /** + * Use this data source to get information about an EC2 Dedicated Host. + * + * ## Example Usage * * <!--Start PulumiCodeChooser --> *
@@ -1685,6 +1913,8 @@ public static CompletableFuture getCustomerGatewayPlai
      * import com.pulumi.Context;
      * import com.pulumi.Pulumi;
      * import com.pulumi.core.Output;
+     * import com.pulumi.aws.ec2.DedicatedHost;
+     * import com.pulumi.aws.ec2.DedicatedHostArgs;
      * import com.pulumi.aws.ec2.Ec2Functions;
      * import com.pulumi.aws.ec2.inputs.GetDedicatedHostArgs;
      * import java.util.List;
@@ -1700,14 +1930,54 @@ public static CompletableFuture getCustomerGatewayPlai
      *     }
      * 
      *     public static void stack(Context ctx) {
-     *         final var test = Ec2Functions.getDedicatedHost(GetDedicatedHostArgs.builder()
-     *             .filters(GetDedicatedHostFilterArgs.builder()
-     *                 .name("instance-type")
-     *                 .values("c5.18xlarge")
-     *                 .build())
+     *         var testDedicatedHost = new DedicatedHost("testDedicatedHost", DedicatedHostArgs.builder()
+     *             .instanceType("c5.18xlarge")
+     *             .availabilityZone("us-west-2a")
      *             .build());
      * 
-     *     }
+     *         final var test = Ec2Functions.getDedicatedHost(GetDedicatedHostArgs.builder()
+     *             .hostId(testDedicatedHost.id())
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + * ### Filter Example + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.ec2.Ec2Functions;
+     * import com.pulumi.aws.ec2.inputs.GetDedicatedHostArgs;
+     * 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 test = Ec2Functions.getDedicatedHost(GetDedicatedHostArgs.builder()
+     *             .filters(GetDedicatedHostFilterArgs.builder()
+     *                 .name("instance-type")
+     *                 .values("c5.18xlarge")
+     *                 .build())
+     *             .build());
+     * 
+     *     }
      * }
      * }
      * 
@@ -2065,6 +2335,93 @@ public static CompletableFuture getDedicatedHostPlain(Ge public static Output getDedicatedHost(GetDedicatedHostArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:ec2/getDedicatedHost:getDedicatedHost", TypeShape.of(GetDedicatedHostResult.class), args, Utilities.withVersion(options)); } + /** + * Use this data source to get information about an EC2 Dedicated Host. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.ec2.DedicatedHost;
+     * import com.pulumi.aws.ec2.DedicatedHostArgs;
+     * import com.pulumi.aws.ec2.Ec2Functions;
+     * import com.pulumi.aws.ec2.inputs.GetDedicatedHostArgs;
+     * 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 testDedicatedHost = new DedicatedHost("testDedicatedHost", DedicatedHostArgs.builder()
+     *             .instanceType("c5.18xlarge")
+     *             .availabilityZone("us-west-2a")
+     *             .build());
+     * 
+     *         final var test = Ec2Functions.getDedicatedHost(GetDedicatedHostArgs.builder()
+     *             .hostId(testDedicatedHost.id())
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + * ### Filter Example + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.ec2.Ec2Functions;
+     * import com.pulumi.aws.ec2.inputs.GetDedicatedHostArgs;
+     * 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 test = Ec2Functions.getDedicatedHost(GetDedicatedHostArgs.builder()
+     *             .filters(GetDedicatedHostFilterArgs.builder()
+     *                 .name("instance-type")
+     *                 .values("c5.18xlarge")
+     *                 .build())
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getDedicatedHost(GetDedicatedHostArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:ec2/getDedicatedHost:getDedicatedHost", TypeShape.of(GetDedicatedHostResult.class), args, Utilities.withVersion(options)); + } /** * Use this data source to get information about an EC2 Dedicated Host. * @@ -2382,6 +2739,52 @@ public static CompletableFuture getEipsPlain(GetEipsPlainArgs arg public static Output getEips(GetEipsArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:ec2/getEips:getEips", TypeShape.of(GetEipsResult.class), args, Utilities.withVersion(options)); } + /** + * Provides a list of Elastic IPs in a region. + * + * ## Example Usage + * + * The following shows outputting all Elastic IPs with the a specific tag value. + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.ec2.Ec2Functions;
+     * import com.pulumi.aws.ec2.inputs.GetEipsArgs;
+     * import java.util.List;
+     * import java.util.ArrayList;
+     * import java.util.Map;
+     * import java.io.File;
+     * import java.nio.file.Files;
+     * import java.nio.file.Paths;
+     * 
+     * public class App {
+     *     public static void main(String[] args) {
+     *         Pulumi.run(App::stack);
+     *     }
+     * 
+     *     public static void stack(Context ctx) {
+     *         final var example = Ec2Functions.getEips(GetEipsArgs.builder()
+     *             .tags(Map.of("Env", "dev"))
+     *             .build());
+     * 
+     *         ctx.export("allocationIds", example.applyValue(getEipsResult -> getEipsResult.allocationIds()));
+     *         ctx.export("publicIps", example.applyValue(getEipsResult -> getEipsResult.publicIps()));
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getEips(GetEipsArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:ec2/getEips:getEips", TypeShape.of(GetEipsResult.class), args, Utilities.withVersion(options)); + } /** * Provides a list of Elastic IPs in a region. * @@ -3337,14 +3740,16 @@ public static Output getElasticIp(GetElasticIpArgs args, Inv * <!--End PulumiCodeChooser --> * */ - public static CompletableFuture getElasticIpPlain(GetElasticIpPlainArgs args, InvokeOptions options) { - return Deployment.getInstance().invokeAsync("aws:ec2/getElasticIp:getElasticIp", TypeShape.of(GetElasticIpResult.class), args, Utilities.withVersion(options)); + public static Output getElasticIp(GetElasticIpArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:ec2/getElasticIp:getElasticIp", TypeShape.of(GetElasticIpResult.class), args, Utilities.withVersion(options)); } /** - * Use this data source to get the ID of an Amazon EC2 Instance for use in other resources. + * `aws.ec2.Eip` provides details about a specific Elastic IP. * * ## Example Usage * + * ### Search By Allocation ID (VPC only) + * * <!--Start PulumiCodeChooser --> *
      * {@code
@@ -3354,7 +3759,7 @@ public static CompletableFuture getElasticIpPlain(GetElastic
      * import com.pulumi.Pulumi;
      * import com.pulumi.core.Output;
      * import com.pulumi.aws.ec2.Ec2Functions;
-     * import com.pulumi.aws.ec2.inputs.GetInstanceArgs;
+     * import com.pulumi.aws.ec2.inputs.GetElasticIpArgs;
      * import java.util.List;
      * import java.util.ArrayList;
      * import java.util.Map;
@@ -3368,17 +3773,8 @@ public static CompletableFuture getElasticIpPlain(GetElastic
      *     }
      * 
      *     public static void stack(Context ctx) {
-     *         final var foo = Ec2Functions.getInstance(GetInstanceArgs.builder()
-     *             .instanceId("i-instanceid")
-     *             .filters(            
-     *                 GetInstanceFilterArgs.builder()
-     *                     .name("image-id")
-     *                     .values("ami-xxxxxxxx")
-     *                     .build(),
-     *                 GetInstanceFilterArgs.builder()
-     *                     .name("tag:Name")
-     *                     .values("instance-name-tag")
-     *                     .build())
+     *         final var byAllocationId = Ec2Functions.getElasticIp(GetElasticIpArgs.builder()
+     *             .id("eipalloc-12345678")
      *             .build());
      * 
      *     }
@@ -3387,14 +3783,7 @@ public static CompletableFuture getElasticIpPlain(GetElastic
      * 
* <!--End PulumiCodeChooser --> * - */ - public static Output getInstance() { - return getInstance(GetInstanceArgs.Empty, InvokeOptions.Empty); - } - /** - * Use this data source to get the ID of an Amazon EC2 Instance for use in other resources. - * - * ## Example Usage + * ### Search By Filters (EC2-Classic or VPC) * * <!--Start PulumiCodeChooser --> *
@@ -3405,7 +3794,7 @@ public static Output getInstance() {
      * import com.pulumi.Pulumi;
      * import com.pulumi.core.Output;
      * import com.pulumi.aws.ec2.Ec2Functions;
-     * import com.pulumi.aws.ec2.inputs.GetInstanceArgs;
+     * import com.pulumi.aws.ec2.inputs.GetElasticIpArgs;
      * import java.util.List;
      * import java.util.ArrayList;
      * import java.util.Map;
@@ -3419,17 +3808,11 @@ public static Output getInstance() {
      *     }
      * 
      *     public static void stack(Context ctx) {
-     *         final var foo = Ec2Functions.getInstance(GetInstanceArgs.builder()
-     *             .instanceId("i-instanceid")
-     *             .filters(            
-     *                 GetInstanceFilterArgs.builder()
-     *                     .name("image-id")
-     *                     .values("ami-xxxxxxxx")
-     *                     .build(),
-     *                 GetInstanceFilterArgs.builder()
-     *                     .name("tag:Name")
-     *                     .values("instance-name-tag")
-     *                     .build())
+     *         final var byFilter = Ec2Functions.getElasticIp(GetElasticIpArgs.builder()
+     *             .filters(GetElasticIpFilterArgs.builder()
+     *                 .name("tag:Name")
+     *                 .values("exampleNameTagValue")
+     *                 .build())
      *             .build());
      * 
      *     }
@@ -3438,14 +3821,7 @@ public static Output getInstance() {
      * 
* <!--End PulumiCodeChooser --> * - */ - public static CompletableFuture getInstancePlain() { - return getInstancePlain(GetInstancePlainArgs.Empty, InvokeOptions.Empty); - } - /** - * Use this data source to get the ID of an Amazon EC2 Instance for use in other resources. - * - * ## Example Usage + * ### Search By Public IP (EC2-Classic or VPC) * * <!--Start PulumiCodeChooser --> *
@@ -3456,7 +3832,7 @@ public static CompletableFuture getInstancePlain() {
      * import com.pulumi.Pulumi;
      * import com.pulumi.core.Output;
      * import com.pulumi.aws.ec2.Ec2Functions;
-     * import com.pulumi.aws.ec2.inputs.GetInstanceArgs;
+     * import com.pulumi.aws.ec2.inputs.GetElasticIpArgs;
      * import java.util.List;
      * import java.util.ArrayList;
      * import java.util.Map;
@@ -3470,17 +3846,8 @@ public static CompletableFuture getInstancePlain() {
      *     }
      * 
      *     public static void stack(Context ctx) {
-     *         final var foo = Ec2Functions.getInstance(GetInstanceArgs.builder()
-     *             .instanceId("i-instanceid")
-     *             .filters(            
-     *                 GetInstanceFilterArgs.builder()
-     *                     .name("image-id")
-     *                     .values("ami-xxxxxxxx")
-     *                     .build(),
-     *                 GetInstanceFilterArgs.builder()
-     *                     .name("tag:Name")
-     *                     .values("instance-name-tag")
-     *                     .build())
+     *         final var byPublicIp = Ec2Functions.getElasticIp(GetElasticIpArgs.builder()
+     *             .publicIp("1.2.3.4")
      *             .build());
      * 
      *     }
@@ -3489,14 +3856,49 @@ public static CompletableFuture getInstancePlain() {
      * 
* <!--End PulumiCodeChooser --> * - */ - public static Output getInstance(GetInstanceArgs args) { - return getInstance(args, InvokeOptions.Empty); - } - /** - * Use this data source to get the ID of an Amazon EC2 Instance for use in other resources. - * - * ## Example Usage + * ### Search By Tags (EC2-Classic or VPC) + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.ec2.Ec2Functions;
+     * import com.pulumi.aws.ec2.inputs.GetElasticIpArgs;
+     * 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 byTags = Ec2Functions.getElasticIp(GetElasticIpArgs.builder()
+     *             .tags(Map.of("Name", "exampleNameTagValue"))
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static CompletableFuture getElasticIpPlain(GetElasticIpPlainArgs args, InvokeOptions options) { + return Deployment.getInstance().invokeAsync("aws:ec2/getElasticIp:getElasticIp", TypeShape.of(GetElasticIpResult.class), args, Utilities.withVersion(options)); + } + /** + * Use this data source to get the ID of an Amazon EC2 Instance for use in other resources. + * + * ## Example Usage * * <!--Start PulumiCodeChooser --> *
@@ -3541,8 +3943,8 @@ public static Output getInstance(GetInstanceArgs args) {
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static CompletableFuture getInstancePlain(GetInstancePlainArgs args) {
-        return getInstancePlain(args, InvokeOptions.Empty);
+    public static Output getInstance() {
+        return getInstance(GetInstanceArgs.Empty, InvokeOptions.Empty);
     }
     /**
      * Use this data source to get the ID of an Amazon EC2 Instance for use in other resources.
@@ -3592,8 +3994,8 @@ public static CompletableFuture getInstancePlain(GetInstanceP
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static Output getInstance(GetInstanceArgs args, InvokeOptions options) {
-        return Deployment.getInstance().invoke("aws:ec2/getInstance:getInstance", TypeShape.of(GetInstanceResult.class), args, Utilities.withVersion(options));
+    public static CompletableFuture getInstancePlain() {
+        return getInstancePlain(GetInstancePlainArgs.Empty, InvokeOptions.Empty);
     }
     /**
      * Use this data source to get the ID of an Amazon EC2 Instance for use in other resources.
@@ -3643,11 +4045,11 @@ public static Output getInstance(GetInstanceArgs args, Invoke
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static CompletableFuture getInstancePlain(GetInstancePlainArgs args, InvokeOptions options) {
-        return Deployment.getInstance().invokeAsync("aws:ec2/getInstance:getInstance", TypeShape.of(GetInstanceResult.class), args, Utilities.withVersion(options));
+    public static Output getInstance(GetInstanceArgs args) {
+        return getInstance(args, InvokeOptions.Empty);
     }
     /**
-     * Get characteristics for a single EC2 Instance Type.
+     * Use this data source to get the ID of an Amazon EC2 Instance for use in other resources.
      * 
      * ## Example Usage
      * 
@@ -3660,7 +4062,7 @@ public static CompletableFuture getInstancePlain(GetInstanceP
      * import com.pulumi.Pulumi;
      * import com.pulumi.core.Output;
      * import com.pulumi.aws.ec2.Ec2Functions;
-     * import com.pulumi.aws.ec2.inputs.GetInstanceTypeArgs;
+     * import com.pulumi.aws.ec2.inputs.GetInstanceArgs;
      * import java.util.List;
      * import java.util.ArrayList;
      * import java.util.Map;
@@ -3674,8 +4076,17 @@ public static CompletableFuture getInstancePlain(GetInstanceP
      *     }
      * 
      *     public static void stack(Context ctx) {
-     *         final var example = Ec2Functions.getInstanceType(GetInstanceTypeArgs.builder()
-     *             .instanceType("t2.micro")
+     *         final var foo = Ec2Functions.getInstance(GetInstanceArgs.builder()
+     *             .instanceId("i-instanceid")
+     *             .filters(            
+     *                 GetInstanceFilterArgs.builder()
+     *                     .name("image-id")
+     *                     .values("ami-xxxxxxxx")
+     *                     .build(),
+     *                 GetInstanceFilterArgs.builder()
+     *                     .name("tag:Name")
+     *                     .values("instance-name-tag")
+     *                     .build())
      *             .build());
      * 
      *     }
@@ -3685,11 +4096,11 @@ public static CompletableFuture getInstancePlain(GetInstanceP
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static Output getInstanceType(GetInstanceTypeArgs args) {
-        return getInstanceType(args, InvokeOptions.Empty);
+    public static CompletableFuture getInstancePlain(GetInstancePlainArgs args) {
+        return getInstancePlain(args, InvokeOptions.Empty);
     }
     /**
-     * Get characteristics for a single EC2 Instance Type.
+     * Use this data source to get the ID of an Amazon EC2 Instance for use in other resources.
      * 
      * ## Example Usage
      * 
@@ -3702,7 +4113,7 @@ public static Output getInstanceType(GetInstanceTypeArgs
      * import com.pulumi.Pulumi;
      * import com.pulumi.core.Output;
      * import com.pulumi.aws.ec2.Ec2Functions;
-     * import com.pulumi.aws.ec2.inputs.GetInstanceTypeArgs;
+     * import com.pulumi.aws.ec2.inputs.GetInstanceArgs;
      * import java.util.List;
      * import java.util.ArrayList;
      * import java.util.Map;
@@ -3716,8 +4127,17 @@ public static Output getInstanceType(GetInstanceTypeArgs
      *     }
      * 
      *     public static void stack(Context ctx) {
-     *         final var example = Ec2Functions.getInstanceType(GetInstanceTypeArgs.builder()
-     *             .instanceType("t2.micro")
+     *         final var foo = Ec2Functions.getInstance(GetInstanceArgs.builder()
+     *             .instanceId("i-instanceid")
+     *             .filters(            
+     *                 GetInstanceFilterArgs.builder()
+     *                     .name("image-id")
+     *                     .values("ami-xxxxxxxx")
+     *                     .build(),
+     *                 GetInstanceFilterArgs.builder()
+     *                     .name("tag:Name")
+     *                     .values("instance-name-tag")
+     *                     .build())
      *             .build());
      * 
      *     }
@@ -3727,11 +4147,11 @@ public static Output getInstanceType(GetInstanceTypeArgs
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static CompletableFuture getInstanceTypePlain(GetInstanceTypePlainArgs args) {
-        return getInstanceTypePlain(args, InvokeOptions.Empty);
+    public static Output getInstance(GetInstanceArgs args, InvokeOptions options) {
+        return Deployment.getInstance().invoke("aws:ec2/getInstance:getInstance", TypeShape.of(GetInstanceResult.class), args, Utilities.withVersion(options));
     }
     /**
-     * Get characteristics for a single EC2 Instance Type.
+     * Use this data source to get the ID of an Amazon EC2 Instance for use in other resources.
      * 
      * ## Example Usage
      * 
@@ -3744,7 +4164,7 @@ public static CompletableFuture getInstanceTypePlain(GetI
      * import com.pulumi.Pulumi;
      * import com.pulumi.core.Output;
      * import com.pulumi.aws.ec2.Ec2Functions;
-     * import com.pulumi.aws.ec2.inputs.GetInstanceTypeArgs;
+     * import com.pulumi.aws.ec2.inputs.GetInstanceArgs;
      * import java.util.List;
      * import java.util.ArrayList;
      * import java.util.Map;
@@ -3758,8 +4178,17 @@ public static CompletableFuture getInstanceTypePlain(GetI
      *     }
      * 
      *     public static void stack(Context ctx) {
-     *         final var example = Ec2Functions.getInstanceType(GetInstanceTypeArgs.builder()
-     *             .instanceType("t2.micro")
+     *         final var foo = Ec2Functions.getInstance(GetInstanceArgs.builder()
+     *             .instanceId("i-instanceid")
+     *             .filters(            
+     *                 GetInstanceFilterArgs.builder()
+     *                     .name("image-id")
+     *                     .values("ami-xxxxxxxx")
+     *                     .build(),
+     *                 GetInstanceFilterArgs.builder()
+     *                     .name("tag:Name")
+     *                     .values("instance-name-tag")
+     *                     .build())
      *             .build());
      * 
      *     }
@@ -3769,11 +4198,11 @@ public static CompletableFuture getInstanceTypePlain(GetI
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static Output getInstanceType(GetInstanceTypeArgs args, InvokeOptions options) {
-        return Deployment.getInstance().invoke("aws:ec2/getInstanceType:getInstanceType", TypeShape.of(GetInstanceTypeResult.class), args, Utilities.withVersion(options));
+    public static Output getInstance(GetInstanceArgs args, InvokeOutputOptions options) {
+        return Deployment.getInstance().invoke("aws:ec2/getInstance:getInstance", TypeShape.of(GetInstanceResult.class), args, Utilities.withVersion(options));
     }
     /**
-     * Get characteristics for a single EC2 Instance Type.
+     * Use this data source to get the ID of an Amazon EC2 Instance for use in other resources.
      * 
      * ## Example Usage
      * 
@@ -3786,7 +4215,7 @@ public static Output getInstanceType(GetInstanceTypeArgs
      * import com.pulumi.Pulumi;
      * import com.pulumi.core.Output;
      * import com.pulumi.aws.ec2.Ec2Functions;
-     * import com.pulumi.aws.ec2.inputs.GetInstanceTypeArgs;
+     * import com.pulumi.aws.ec2.inputs.GetInstanceArgs;
      * import java.util.List;
      * import java.util.ArrayList;
      * import java.util.Map;
@@ -3800,8 +4229,17 @@ public static Output getInstanceType(GetInstanceTypeArgs
      *     }
      * 
      *     public static void stack(Context ctx) {
-     *         final var example = Ec2Functions.getInstanceType(GetInstanceTypeArgs.builder()
-     *             .instanceType("t2.micro")
+     *         final var foo = Ec2Functions.getInstance(GetInstanceArgs.builder()
+     *             .instanceId("i-instanceid")
+     *             .filters(            
+     *                 GetInstanceFilterArgs.builder()
+     *                     .name("image-id")
+     *                     .values("ami-xxxxxxxx")
+     *                     .build(),
+     *                 GetInstanceFilterArgs.builder()
+     *                     .name("tag:Name")
+     *                     .values("instance-name-tag")
+     *                     .build())
      *             .build());
      * 
      *     }
@@ -3811,11 +4249,11 @@ public static Output getInstanceType(GetInstanceTypeArgs
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static CompletableFuture getInstanceTypePlain(GetInstanceTypePlainArgs args, InvokeOptions options) {
-        return Deployment.getInstance().invokeAsync("aws:ec2/getInstanceType:getInstanceType", TypeShape.of(GetInstanceTypeResult.class), args, Utilities.withVersion(options));
+    public static CompletableFuture getInstancePlain(GetInstancePlainArgs args, InvokeOptions options) {
+        return Deployment.getInstance().invokeAsync("aws:ec2/getInstance:getInstance", TypeShape.of(GetInstanceResult.class), args, Utilities.withVersion(options));
     }
     /**
-     * Information about single EC2 Instance Type Offering.
+     * Get characteristics for a single EC2 Instance Type.
      * 
      * ## Example Usage
      * 
@@ -3828,7 +4266,7 @@ public static CompletableFuture getInstanceTypePlain(GetI
      * import com.pulumi.Pulumi;
      * import com.pulumi.core.Output;
      * import com.pulumi.aws.ec2.Ec2Functions;
-     * import com.pulumi.aws.ec2.inputs.GetInstanceTypeOfferingArgs;
+     * import com.pulumi.aws.ec2.inputs.GetInstanceTypeArgs;
      * import java.util.List;
      * import java.util.ArrayList;
      * import java.util.Map;
@@ -3842,16 +4280,8 @@ public static CompletableFuture getInstanceTypePlain(GetI
      *     }
      * 
      *     public static void stack(Context ctx) {
-     *         final var example = Ec2Functions.getInstanceTypeOffering(GetInstanceTypeOfferingArgs.builder()
-     *             .filters(GetInstanceTypeOfferingFilterArgs.builder()
-     *                 .name("instance-type")
-     *                 .values(                
-     *                     "t2.micro",
-     *                     "t3.micro")
-     *                 .build())
-     *             .preferredInstanceTypes(            
-     *                 "t3.micro",
-     *                 "t2.micro")
+     *         final var example = Ec2Functions.getInstanceType(GetInstanceTypeArgs.builder()
+     *             .instanceType("t2.micro")
      *             .build());
      * 
      *     }
@@ -3861,11 +4291,11 @@ public static CompletableFuture getInstanceTypePlain(GetI
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static Output getInstanceTypeOffering() {
-        return getInstanceTypeOffering(GetInstanceTypeOfferingArgs.Empty, InvokeOptions.Empty);
+    public static Output getInstanceType(GetInstanceTypeArgs args) {
+        return getInstanceType(args, InvokeOptions.Empty);
     }
     /**
-     * Information about single EC2 Instance Type Offering.
+     * Get characteristics for a single EC2 Instance Type.
      * 
      * ## Example Usage
      * 
@@ -3878,7 +4308,7 @@ public static Output getInstanceTypeOffering() {
      * import com.pulumi.Pulumi;
      * import com.pulumi.core.Output;
      * import com.pulumi.aws.ec2.Ec2Functions;
-     * import com.pulumi.aws.ec2.inputs.GetInstanceTypeOfferingArgs;
+     * import com.pulumi.aws.ec2.inputs.GetInstanceTypeArgs;
      * import java.util.List;
      * import java.util.ArrayList;
      * import java.util.Map;
@@ -3892,16 +4322,8 @@ public static Output getInstanceTypeOffering() {
      *     }
      * 
      *     public static void stack(Context ctx) {
-     *         final var example = Ec2Functions.getInstanceTypeOffering(GetInstanceTypeOfferingArgs.builder()
-     *             .filters(GetInstanceTypeOfferingFilterArgs.builder()
-     *                 .name("instance-type")
-     *                 .values(                
-     *                     "t2.micro",
-     *                     "t3.micro")
-     *                 .build())
-     *             .preferredInstanceTypes(            
-     *                 "t3.micro",
-     *                 "t2.micro")
+     *         final var example = Ec2Functions.getInstanceType(GetInstanceTypeArgs.builder()
+     *             .instanceType("t2.micro")
      *             .build());
      * 
      *     }
@@ -3911,11 +4333,11 @@ public static Output getInstanceTypeOffering() {
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static CompletableFuture getInstanceTypeOfferingPlain() {
-        return getInstanceTypeOfferingPlain(GetInstanceTypeOfferingPlainArgs.Empty, InvokeOptions.Empty);
+    public static CompletableFuture getInstanceTypePlain(GetInstanceTypePlainArgs args) {
+        return getInstanceTypePlain(args, InvokeOptions.Empty);
     }
     /**
-     * Information about single EC2 Instance Type Offering.
+     * Get characteristics for a single EC2 Instance Type.
      * 
      * ## Example Usage
      * 
@@ -3928,7 +4350,7 @@ public static CompletableFuture getInstanceTypeOf
      * import com.pulumi.Pulumi;
      * import com.pulumi.core.Output;
      * import com.pulumi.aws.ec2.Ec2Functions;
-     * import com.pulumi.aws.ec2.inputs.GetInstanceTypeOfferingArgs;
+     * import com.pulumi.aws.ec2.inputs.GetInstanceTypeArgs;
      * import java.util.List;
      * import java.util.ArrayList;
      * import java.util.Map;
@@ -3942,16 +4364,8 @@ public static CompletableFuture getInstanceTypeOf
      *     }
      * 
      *     public static void stack(Context ctx) {
-     *         final var example = Ec2Functions.getInstanceTypeOffering(GetInstanceTypeOfferingArgs.builder()
-     *             .filters(GetInstanceTypeOfferingFilterArgs.builder()
-     *                 .name("instance-type")
-     *                 .values(                
-     *                     "t2.micro",
-     *                     "t3.micro")
-     *                 .build())
-     *             .preferredInstanceTypes(            
-     *                 "t3.micro",
-     *                 "t2.micro")
+     *         final var example = Ec2Functions.getInstanceType(GetInstanceTypeArgs.builder()
+     *             .instanceType("t2.micro")
      *             .build());
      * 
      *     }
@@ -3961,11 +4375,11 @@ public static CompletableFuture getInstanceTypeOf
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static Output getInstanceTypeOffering(GetInstanceTypeOfferingArgs args) {
-        return getInstanceTypeOffering(args, InvokeOptions.Empty);
+    public static Output getInstanceType(GetInstanceTypeArgs args, InvokeOptions options) {
+        return Deployment.getInstance().invoke("aws:ec2/getInstanceType:getInstanceType", TypeShape.of(GetInstanceTypeResult.class), args, Utilities.withVersion(options));
     }
     /**
-     * Information about single EC2 Instance Type Offering.
+     * Get characteristics for a single EC2 Instance Type.
      * 
      * ## Example Usage
      * 
@@ -3978,7 +4392,7 @@ public static Output getInstanceTypeOffering(GetI
      * import com.pulumi.Pulumi;
      * import com.pulumi.core.Output;
      * import com.pulumi.aws.ec2.Ec2Functions;
-     * import com.pulumi.aws.ec2.inputs.GetInstanceTypeOfferingArgs;
+     * import com.pulumi.aws.ec2.inputs.GetInstanceTypeArgs;
      * import java.util.List;
      * import java.util.ArrayList;
      * import java.util.Map;
@@ -3992,16 +4406,8 @@ public static Output getInstanceTypeOffering(GetI
      *     }
      * 
      *     public static void stack(Context ctx) {
-     *         final var example = Ec2Functions.getInstanceTypeOffering(GetInstanceTypeOfferingArgs.builder()
-     *             .filters(GetInstanceTypeOfferingFilterArgs.builder()
-     *                 .name("instance-type")
-     *                 .values(                
-     *                     "t2.micro",
-     *                     "t3.micro")
-     *                 .build())
-     *             .preferredInstanceTypes(            
-     *                 "t3.micro",
-     *                 "t2.micro")
+     *         final var example = Ec2Functions.getInstanceType(GetInstanceTypeArgs.builder()
+     *             .instanceType("t2.micro")
      *             .build());
      * 
      *     }
@@ -4011,11 +4417,11 @@ public static Output getInstanceTypeOffering(GetI
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static CompletableFuture getInstanceTypeOfferingPlain(GetInstanceTypeOfferingPlainArgs args) {
-        return getInstanceTypeOfferingPlain(args, InvokeOptions.Empty);
+    public static Output getInstanceType(GetInstanceTypeArgs args, InvokeOutputOptions options) {
+        return Deployment.getInstance().invoke("aws:ec2/getInstanceType:getInstanceType", TypeShape.of(GetInstanceTypeResult.class), args, Utilities.withVersion(options));
     }
     /**
-     * Information about single EC2 Instance Type Offering.
+     * Get characteristics for a single EC2 Instance Type.
      * 
      * ## Example Usage
      * 
@@ -4028,7 +4434,7 @@ public static CompletableFuture getInstanceTypeOf
      * import com.pulumi.Pulumi;
      * import com.pulumi.core.Output;
      * import com.pulumi.aws.ec2.Ec2Functions;
-     * import com.pulumi.aws.ec2.inputs.GetInstanceTypeOfferingArgs;
+     * import com.pulumi.aws.ec2.inputs.GetInstanceTypeArgs;
      * import java.util.List;
      * import java.util.ArrayList;
      * import java.util.Map;
@@ -4042,16 +4448,8 @@ public static CompletableFuture getInstanceTypeOf
      *     }
      * 
      *     public static void stack(Context ctx) {
-     *         final var example = Ec2Functions.getInstanceTypeOffering(GetInstanceTypeOfferingArgs.builder()
-     *             .filters(GetInstanceTypeOfferingFilterArgs.builder()
-     *                 .name("instance-type")
-     *                 .values(                
-     *                     "t2.micro",
-     *                     "t3.micro")
-     *                 .build())
-     *             .preferredInstanceTypes(            
-     *                 "t3.micro",
-     *                 "t2.micro")
+     *         final var example = Ec2Functions.getInstanceType(GetInstanceTypeArgs.builder()
+     *             .instanceType("t2.micro")
      *             .build());
      * 
      *     }
@@ -4061,8 +4459,8 @@ public static CompletableFuture getInstanceTypeOf
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static Output getInstanceTypeOffering(GetInstanceTypeOfferingArgs args, InvokeOptions options) {
-        return Deployment.getInstance().invoke("aws:ec2/getInstanceTypeOffering:getInstanceTypeOffering", TypeShape.of(GetInstanceTypeOfferingResult.class), args, Utilities.withVersion(options));
+    public static CompletableFuture getInstanceTypePlain(GetInstanceTypePlainArgs args, InvokeOptions options) {
+        return Deployment.getInstance().invokeAsync("aws:ec2/getInstanceType:getInstanceType", TypeShape.of(GetInstanceTypeResult.class), args, Utilities.withVersion(options));
     }
     /**
      * Information about single EC2 Instance Type Offering.
@@ -4111,11 +4509,11 @@ public static Output getInstanceTypeOffering(GetI
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static CompletableFuture getInstanceTypeOfferingPlain(GetInstanceTypeOfferingPlainArgs args, InvokeOptions options) {
-        return Deployment.getInstance().invokeAsync("aws:ec2/getInstanceTypeOffering:getInstanceTypeOffering", TypeShape.of(GetInstanceTypeOfferingResult.class), args, Utilities.withVersion(options));
+    public static Output getInstanceTypeOffering() {
+        return getInstanceTypeOffering(GetInstanceTypeOfferingArgs.Empty, InvokeOptions.Empty);
     }
     /**
-     * Information about EC2 Instance Type Offerings.
+     * Information about single EC2 Instance Type Offering.
      * 
      * ## Example Usage
      * 
@@ -4128,7 +4526,7 @@ public static CompletableFuture getInstanceTypeOf
      * import com.pulumi.Pulumi;
      * import com.pulumi.core.Output;
      * import com.pulumi.aws.ec2.Ec2Functions;
-     * import com.pulumi.aws.ec2.inputs.GetInstanceTypeOfferingsArgs;
+     * import com.pulumi.aws.ec2.inputs.GetInstanceTypeOfferingArgs;
      * import java.util.List;
      * import java.util.ArrayList;
      * import java.util.Map;
@@ -4142,18 +4540,371 @@ public static CompletableFuture getInstanceTypeOf
      *     }
      * 
      *     public static void stack(Context ctx) {
-     *         final var example = Ec2Functions.getInstanceTypeOfferings(GetInstanceTypeOfferingsArgs.builder()
-     *             .filters(            
-     *                 GetInstanceTypeOfferingsFilterArgs.builder()
-     *                     .name("instance-type")
-     *                     .values(                    
-     *                         "t2.micro",
-     *                         "t3.micro")
-     *                     .build(),
-     *                 GetInstanceTypeOfferingsFilterArgs.builder()
-     *                     .name("location")
-     *                     .values("usw2-az4")
-     *                     .build())
+     *         final var example = Ec2Functions.getInstanceTypeOffering(GetInstanceTypeOfferingArgs.builder()
+     *             .filters(GetInstanceTypeOfferingFilterArgs.builder()
+     *                 .name("instance-type")
+     *                 .values(                
+     *                     "t2.micro",
+     *                     "t3.micro")
+     *                 .build())
+     *             .preferredInstanceTypes(            
+     *                 "t3.micro",
+     *                 "t2.micro")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static CompletableFuture getInstanceTypeOfferingPlain() { + return getInstanceTypeOfferingPlain(GetInstanceTypeOfferingPlainArgs.Empty, InvokeOptions.Empty); + } + /** + * Information about single EC2 Instance Type Offering. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.ec2.Ec2Functions;
+     * import com.pulumi.aws.ec2.inputs.GetInstanceTypeOfferingArgs;
+     * import java.util.List;
+     * import java.util.ArrayList;
+     * import java.util.Map;
+     * import java.io.File;
+     * import java.nio.file.Files;
+     * import java.nio.file.Paths;
+     * 
+     * public class App {
+     *     public static void main(String[] args) {
+     *         Pulumi.run(App::stack);
+     *     }
+     * 
+     *     public static void stack(Context ctx) {
+     *         final var example = Ec2Functions.getInstanceTypeOffering(GetInstanceTypeOfferingArgs.builder()
+     *             .filters(GetInstanceTypeOfferingFilterArgs.builder()
+     *                 .name("instance-type")
+     *                 .values(                
+     *                     "t2.micro",
+     *                     "t3.micro")
+     *                 .build())
+     *             .preferredInstanceTypes(            
+     *                 "t3.micro",
+     *                 "t2.micro")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getInstanceTypeOffering(GetInstanceTypeOfferingArgs args) { + return getInstanceTypeOffering(args, InvokeOptions.Empty); + } + /** + * Information about single EC2 Instance Type Offering. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.ec2.Ec2Functions;
+     * import com.pulumi.aws.ec2.inputs.GetInstanceTypeOfferingArgs;
+     * import java.util.List;
+     * import java.util.ArrayList;
+     * import java.util.Map;
+     * import java.io.File;
+     * import java.nio.file.Files;
+     * import java.nio.file.Paths;
+     * 
+     * public class App {
+     *     public static void main(String[] args) {
+     *         Pulumi.run(App::stack);
+     *     }
+     * 
+     *     public static void stack(Context ctx) {
+     *         final var example = Ec2Functions.getInstanceTypeOffering(GetInstanceTypeOfferingArgs.builder()
+     *             .filters(GetInstanceTypeOfferingFilterArgs.builder()
+     *                 .name("instance-type")
+     *                 .values(                
+     *                     "t2.micro",
+     *                     "t3.micro")
+     *                 .build())
+     *             .preferredInstanceTypes(            
+     *                 "t3.micro",
+     *                 "t2.micro")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static CompletableFuture getInstanceTypeOfferingPlain(GetInstanceTypeOfferingPlainArgs args) { + return getInstanceTypeOfferingPlain(args, InvokeOptions.Empty); + } + /** + * Information about single EC2 Instance Type Offering. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.ec2.Ec2Functions;
+     * import com.pulumi.aws.ec2.inputs.GetInstanceTypeOfferingArgs;
+     * import java.util.List;
+     * import java.util.ArrayList;
+     * import java.util.Map;
+     * import java.io.File;
+     * import java.nio.file.Files;
+     * import java.nio.file.Paths;
+     * 
+     * public class App {
+     *     public static void main(String[] args) {
+     *         Pulumi.run(App::stack);
+     *     }
+     * 
+     *     public static void stack(Context ctx) {
+     *         final var example = Ec2Functions.getInstanceTypeOffering(GetInstanceTypeOfferingArgs.builder()
+     *             .filters(GetInstanceTypeOfferingFilterArgs.builder()
+     *                 .name("instance-type")
+     *                 .values(                
+     *                     "t2.micro",
+     *                     "t3.micro")
+     *                 .build())
+     *             .preferredInstanceTypes(            
+     *                 "t3.micro",
+     *                 "t2.micro")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getInstanceTypeOffering(GetInstanceTypeOfferingArgs args, InvokeOptions options) { + return Deployment.getInstance().invoke("aws:ec2/getInstanceTypeOffering:getInstanceTypeOffering", TypeShape.of(GetInstanceTypeOfferingResult.class), args, Utilities.withVersion(options)); + } + /** + * Information about single EC2 Instance Type Offering. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.ec2.Ec2Functions;
+     * import com.pulumi.aws.ec2.inputs.GetInstanceTypeOfferingArgs;
+     * import java.util.List;
+     * import java.util.ArrayList;
+     * import java.util.Map;
+     * import java.io.File;
+     * import java.nio.file.Files;
+     * import java.nio.file.Paths;
+     * 
+     * public class App {
+     *     public static void main(String[] args) {
+     *         Pulumi.run(App::stack);
+     *     }
+     * 
+     *     public static void stack(Context ctx) {
+     *         final var example = Ec2Functions.getInstanceTypeOffering(GetInstanceTypeOfferingArgs.builder()
+     *             .filters(GetInstanceTypeOfferingFilterArgs.builder()
+     *                 .name("instance-type")
+     *                 .values(                
+     *                     "t2.micro",
+     *                     "t3.micro")
+     *                 .build())
+     *             .preferredInstanceTypes(            
+     *                 "t3.micro",
+     *                 "t2.micro")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getInstanceTypeOffering(GetInstanceTypeOfferingArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:ec2/getInstanceTypeOffering:getInstanceTypeOffering", TypeShape.of(GetInstanceTypeOfferingResult.class), args, Utilities.withVersion(options)); + } + /** + * Information about single EC2 Instance Type Offering. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.ec2.Ec2Functions;
+     * import com.pulumi.aws.ec2.inputs.GetInstanceTypeOfferingArgs;
+     * import java.util.List;
+     * import java.util.ArrayList;
+     * import java.util.Map;
+     * import java.io.File;
+     * import java.nio.file.Files;
+     * import java.nio.file.Paths;
+     * 
+     * public class App {
+     *     public static void main(String[] args) {
+     *         Pulumi.run(App::stack);
+     *     }
+     * 
+     *     public static void stack(Context ctx) {
+     *         final var example = Ec2Functions.getInstanceTypeOffering(GetInstanceTypeOfferingArgs.builder()
+     *             .filters(GetInstanceTypeOfferingFilterArgs.builder()
+     *                 .name("instance-type")
+     *                 .values(                
+     *                     "t2.micro",
+     *                     "t3.micro")
+     *                 .build())
+     *             .preferredInstanceTypes(            
+     *                 "t3.micro",
+     *                 "t2.micro")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static CompletableFuture getInstanceTypeOfferingPlain(GetInstanceTypeOfferingPlainArgs args, InvokeOptions options) { + return Deployment.getInstance().invokeAsync("aws:ec2/getInstanceTypeOffering:getInstanceTypeOffering", TypeShape.of(GetInstanceTypeOfferingResult.class), args, Utilities.withVersion(options)); + } + /** + * Information about EC2 Instance Type Offerings. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.ec2.Ec2Functions;
+     * import com.pulumi.aws.ec2.inputs.GetInstanceTypeOfferingsArgs;
+     * import java.util.List;
+     * import java.util.ArrayList;
+     * import java.util.Map;
+     * import java.io.File;
+     * import java.nio.file.Files;
+     * import java.nio.file.Paths;
+     * 
+     * public class App {
+     *     public static void main(String[] args) {
+     *         Pulumi.run(App::stack);
+     *     }
+     * 
+     *     public static void stack(Context ctx) {
+     *         final var example = Ec2Functions.getInstanceTypeOfferings(GetInstanceTypeOfferingsArgs.builder()
+     *             .filters(            
+     *                 GetInstanceTypeOfferingsFilterArgs.builder()
+     *                     .name("instance-type")
+     *                     .values(                    
+     *                         "t2.micro",
+     *                         "t3.micro")
+     *                     .build(),
+     *                 GetInstanceTypeOfferingsFilterArgs.builder()
+     *                     .name("location")
+     *                     .values("usw2-az4")
+     *                     .build())
+     *             .locationType("availability-zone-id")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getInstanceTypeOfferings() { + return getInstanceTypeOfferings(GetInstanceTypeOfferingsArgs.Empty, InvokeOptions.Empty); + } + /** + * Information about EC2 Instance Type Offerings. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.ec2.Ec2Functions;
+     * import com.pulumi.aws.ec2.inputs.GetInstanceTypeOfferingsArgs;
+     * import java.util.List;
+     * import java.util.ArrayList;
+     * import java.util.Map;
+     * import java.io.File;
+     * import java.nio.file.Files;
+     * import java.nio.file.Paths;
+     * 
+     * public class App {
+     *     public static void main(String[] args) {
+     *         Pulumi.run(App::stack);
+     *     }
+     * 
+     *     public static void stack(Context ctx) {
+     *         final var example = Ec2Functions.getInstanceTypeOfferings(GetInstanceTypeOfferingsArgs.builder()
+     *             .filters(            
+     *                 GetInstanceTypeOfferingsFilterArgs.builder()
+     *                     .name("instance-type")
+     *                     .values(                    
+     *                         "t2.micro",
+     *                         "t3.micro")
+     *                     .build(),
+     *                 GetInstanceTypeOfferingsFilterArgs.builder()
+     *                     .name("location")
+     *                     .values("usw2-az4")
+     *                     .build())
      *             .locationType("availability-zone-id")
      *             .build());
      * 
@@ -4164,8 +4915,8 @@ public static CompletableFuture getInstanceTypeOf
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static Output getInstanceTypeOfferings() {
-        return getInstanceTypeOfferings(GetInstanceTypeOfferingsArgs.Empty, InvokeOptions.Empty);
+    public static CompletableFuture getInstanceTypeOfferingsPlain() {
+        return getInstanceTypeOfferingsPlain(GetInstanceTypeOfferingsPlainArgs.Empty, InvokeOptions.Empty);
     }
     /**
      * Information about EC2 Instance Type Offerings.
@@ -4217,8 +4968,8 @@ public static Output getInstanceTypeOfferings()
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static CompletableFuture getInstanceTypeOfferingsPlain() {
-        return getInstanceTypeOfferingsPlain(GetInstanceTypeOfferingsPlainArgs.Empty, InvokeOptions.Empty);
+    public static Output getInstanceTypeOfferings(GetInstanceTypeOfferingsArgs args) {
+        return getInstanceTypeOfferings(args, InvokeOptions.Empty);
     }
     /**
      * Information about EC2 Instance Type Offerings.
@@ -4270,8 +5021,8 @@ public static CompletableFuture getInstanceTypeO
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static Output getInstanceTypeOfferings(GetInstanceTypeOfferingsArgs args) {
-        return getInstanceTypeOfferings(args, InvokeOptions.Empty);
+    public static CompletableFuture getInstanceTypeOfferingsPlain(GetInstanceTypeOfferingsPlainArgs args) {
+        return getInstanceTypeOfferingsPlain(args, InvokeOptions.Empty);
     }
     /**
      * Information about EC2 Instance Type Offerings.
@@ -4323,8 +5074,8 @@ public static Output getInstanceTypeOfferings(Ge
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static CompletableFuture getInstanceTypeOfferingsPlain(GetInstanceTypeOfferingsPlainArgs args) {
-        return getInstanceTypeOfferingsPlain(args, InvokeOptions.Empty);
+    public static Output getInstanceTypeOfferings(GetInstanceTypeOfferingsArgs args, InvokeOptions options) {
+        return Deployment.getInstance().invoke("aws:ec2/getInstanceTypeOfferings:getInstanceTypeOfferings", TypeShape.of(GetInstanceTypeOfferingsResult.class), args, Utilities.withVersion(options));
     }
     /**
      * Information about EC2 Instance Type Offerings.
@@ -4376,7 +5127,7 @@ public static CompletableFuture getInstanceTypeO
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static Output getInstanceTypeOfferings(GetInstanceTypeOfferingsArgs args, InvokeOptions options) {
+    public static Output getInstanceTypeOfferings(GetInstanceTypeOfferingsArgs args, InvokeOutputOptions options) {
         return Deployment.getInstance().invoke("aws:ec2/getInstanceTypeOfferings:getInstanceTypeOfferings", TypeShape.of(GetInstanceTypeOfferingsResult.class), args, Utilities.withVersion(options));
     }
     /**
@@ -4732,6 +5483,66 @@ public static CompletableFuture getInstanceTypesPlain(Ge
     public static Output getInstanceTypes(GetInstanceTypesArgs args, InvokeOptions options) {
         return Deployment.getInstance().invoke("aws:ec2/getInstanceTypes:getInstanceTypes", TypeShape.of(GetInstanceTypesResult.class), args, Utilities.withVersion(options));
     }
+    /**
+     * Information about EC2 Instance Types.
+     * 
+     * ## Example Usage
+     * 
+     * <!--Start PulumiCodeChooser -->
+     * 
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.ec2.Ec2Functions;
+     * import com.pulumi.aws.ec2.inputs.GetInstanceTypesArgs;
+     * 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 test = Ec2Functions.getInstanceTypes(GetInstanceTypesArgs.builder()
+     *             .filters(            
+     *                 GetInstanceTypesFilterArgs.builder()
+     *                     .name("auto-recovery-supported")
+     *                     .values("true")
+     *                     .build(),
+     *                 GetInstanceTypesFilterArgs.builder()
+     *                     .name("network-info.encryption-in-transit-supported")
+     *                     .values("true")
+     *                     .build(),
+     *                 GetInstanceTypesFilterArgs.builder()
+     *                     .name("instance-storage-supported")
+     *                     .values("true")
+     *                     .build(),
+     *                 GetInstanceTypesFilterArgs.builder()
+     *                     .name("instance-type")
+     *                     .values(                    
+     *                         "g5.2xlarge",
+     *                         "g5.4xlarge")
+     *                     .build())
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getInstanceTypes(GetInstanceTypesArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:ec2/getInstanceTypes:getInstanceTypes", TypeShape.of(GetInstanceTypesResult.class), args, Utilities.withVersion(options)); + } /** * Information about EC2 Instance Types. * @@ -5117,6 +5928,71 @@ public static CompletableFuture getInstancesPlain(GetInstanc public static Output getInstances(GetInstancesArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:ec2/getInstances:getInstances", TypeShape.of(GetInstancesResult.class), args, Utilities.withVersion(options)); } + /** + * Use this data source to get IDs or IPs of Amazon EC2 instances to be referenced elsewhere, + * e.g., to allow easier migration from another management solution + * or to make it easier for an operator to connect through bastion host(s). + * + * > **Note:** It's strongly discouraged to use this data source for querying ephemeral + * instances (e.g., managed via autoscaling group), as the output may change at any time + * and you'd need to re-run `apply` every time an instance comes up or dies. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.ec2.Ec2Functions;
+     * import com.pulumi.aws.ec2.inputs.GetInstancesArgs;
+     * import com.pulumi.aws.ec2.Eip;
+     * import com.pulumi.aws.ec2.EipArgs;
+     * import com.pulumi.codegen.internal.KeyedValue;
+     * 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 test = Ec2Functions.getInstances(GetInstancesArgs.builder()
+     *             .instanceTags(Map.of("Role", "HardWorker"))
+     *             .filters(GetInstancesFilterArgs.builder()
+     *                 .name("instance.group-id")
+     *                 .values("sg-12345678")
+     *                 .build())
+     *             .instanceStateNames(            
+     *                 "running",
+     *                 "stopped")
+     *             .build());
+     * 
+     *         for (var i = 0; i < test.applyValue(getInstancesResult -> getInstancesResult.ids()).length(); i++) {
+     *             new Eip("testEip-" + i, EipArgs.builder()
+     *                 .instance(test.applyValue(getInstancesResult -> getInstancesResult.ids())[range.value()])
+     *                 .build());
+     * 
+     *         
+     * }
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getInstances(GetInstancesArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:ec2/getInstances:getInstances", TypeShape.of(GetInstancesResult.class), args, Utilities.withVersion(options)); + } /** * Use this data source to get IDs or IPs of Amazon EC2 instances to be referenced elsewhere, * e.g., to allow easier migration from another management solution @@ -5418,10 +6294,108 @@ public static Output getInternetGateway(GetInternetGat return Deployment.getInstance().invoke("aws:ec2/getInternetGateway:getInternetGateway", TypeShape.of(GetInternetGatewayResult.class), args, Utilities.withVersion(options)); } /** - * `aws.ec2.InternetGateway` provides details about a specific Internet Gateway. + * `aws.ec2.InternetGateway` provides details about a specific Internet Gateway. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.ec2.Ec2Functions;
+     * import com.pulumi.aws.ec2.inputs.GetInternetGatewayArgs;
+     * import java.util.List;
+     * import java.util.ArrayList;
+     * import java.util.Map;
+     * import java.io.File;
+     * import java.nio.file.Files;
+     * import java.nio.file.Paths;
+     * 
+     * public class App {
+     *     public static void main(String[] args) {
+     *         Pulumi.run(App::stack);
+     *     }
+     * 
+     *     public static void stack(Context ctx) {
+     *         final var config = ctx.config();
+     *         final var vpcId = config.get("vpcId");
+     *         final var default = Ec2Functions.getInternetGateway(GetInternetGatewayArgs.builder()
+     *             .filters(GetInternetGatewayFilterArgs.builder()
+     *                 .name("attachment.vpc-id")
+     *                 .values(vpcId)
+     *                 .build())
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getInternetGateway(GetInternetGatewayArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:ec2/getInternetGateway:getInternetGateway", TypeShape.of(GetInternetGatewayResult.class), args, Utilities.withVersion(options)); + } + /** + * `aws.ec2.InternetGateway` provides details about a specific Internet Gateway. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.ec2.Ec2Functions;
+     * import com.pulumi.aws.ec2.inputs.GetInternetGatewayArgs;
+     * import java.util.List;
+     * import java.util.ArrayList;
+     * import java.util.Map;
+     * import java.io.File;
+     * import java.nio.file.Files;
+     * import java.nio.file.Paths;
+     * 
+     * public class App {
+     *     public static void main(String[] args) {
+     *         Pulumi.run(App::stack);
+     *     }
+     * 
+     *     public static void stack(Context ctx) {
+     *         final var config = ctx.config();
+     *         final var vpcId = config.get("vpcId");
+     *         final var default = Ec2Functions.getInternetGateway(GetInternetGatewayArgs.builder()
+     *             .filters(GetInternetGatewayFilterArgs.builder()
+     *                 .name("attachment.vpc-id")
+     *                 .values(vpcId)
+     *                 .build())
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static CompletableFuture getInternetGatewayPlain(GetInternetGatewayPlainArgs args, InvokeOptions options) { + return Deployment.getInstance().invokeAsync("aws:ec2/getInternetGateway:getInternetGateway", TypeShape.of(GetInternetGatewayResult.class), args, Utilities.withVersion(options)); + } + /** + * Previews a CIDR from an IPAM address pool. Only works for private IPv4. + * + * > **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. * * ## Example Usage * + * Basic usage: + * * <!--Start PulumiCodeChooser --> *
      * {@code
@@ -5431,7 +6405,9 @@ public static Output getInternetGateway(GetInternetGat
      * import com.pulumi.Pulumi;
      * import com.pulumi.core.Output;
      * import com.pulumi.aws.ec2.Ec2Functions;
-     * import com.pulumi.aws.ec2.inputs.GetInternetGatewayArgs;
+     * import com.pulumi.aws.ec2.inputs.GetIpamPreviewNextCidrArgs;
+     * import com.pulumi.aws.ec2.VpcIpamPoolCidrAllocation;
+     * import com.pulumi.aws.ec2.VpcIpamPoolCidrAllocationArgs;
      * import java.util.List;
      * import java.util.ArrayList;
      * import java.util.Map;
@@ -5445,13 +6421,14 @@ public static Output getInternetGateway(GetInternetGat
      *     }
      * 
      *     public static void stack(Context ctx) {
-     *         final var config = ctx.config();
-     *         final var vpcId = config.get("vpcId");
-     *         final var default = Ec2Functions.getInternetGateway(GetInternetGatewayArgs.builder()
-     *             .filters(GetInternetGatewayFilterArgs.builder()
-     *                 .name("attachment.vpc-id")
-     *                 .values(vpcId)
-     *                 .build())
+     *         final var test = Ec2Functions.getIpamPreviewNextCidr(GetIpamPreviewNextCidrArgs.builder()
+     *             .ipamPoolId(testAwsVpcIpamPool.id())
+     *             .netmaskLength(28)
+     *             .build());
+     * 
+     *         var testVpcIpamPoolCidrAllocation = new VpcIpamPoolCidrAllocation("testVpcIpamPoolCidrAllocation", VpcIpamPoolCidrAllocationArgs.builder()
+     *             .ipamPoolId(testAwsVpcIpamPool.id())
+     *             .cidr(test.applyValue(getIpamPreviewNextCidrResult -> getIpamPreviewNextCidrResult.cidr()))
      *             .build());
      * 
      *     }
@@ -5461,8 +6438,8 @@ public static Output getInternetGateway(GetInternetGat
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static CompletableFuture getInternetGatewayPlain(GetInternetGatewayPlainArgs args, InvokeOptions options) {
-        return Deployment.getInstance().invokeAsync("aws:ec2/getInternetGateway:getInternetGateway", TypeShape.of(GetInternetGatewayResult.class), args, Utilities.withVersion(options));
+    public static Output getIpamPreviewNextCidr(GetIpamPreviewNextCidrArgs args) {
+        return getIpamPreviewNextCidr(args, InvokeOptions.Empty);
     }
     /**
      * Previews a CIDR from an IPAM address pool. Only works for private IPv4.
@@ -5515,8 +6492,8 @@ public static CompletableFuture getInternetGatewayPlai
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static Output getIpamPreviewNextCidr(GetIpamPreviewNextCidrArgs args) {
-        return getIpamPreviewNextCidr(args, InvokeOptions.Empty);
+    public static CompletableFuture getIpamPreviewNextCidrPlain(GetIpamPreviewNextCidrPlainArgs args) {
+        return getIpamPreviewNextCidrPlain(args, InvokeOptions.Empty);
     }
     /**
      * Previews a CIDR from an IPAM address pool. Only works for private IPv4.
@@ -5569,8 +6546,8 @@ public static Output getIpamPreviewNextCidr(GetIpa
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static CompletableFuture getIpamPreviewNextCidrPlain(GetIpamPreviewNextCidrPlainArgs args) {
-        return getIpamPreviewNextCidrPlain(args, InvokeOptions.Empty);
+    public static Output getIpamPreviewNextCidr(GetIpamPreviewNextCidrArgs args, InvokeOptions options) {
+        return Deployment.getInstance().invoke("aws:ec2/getIpamPreviewNextCidr:getIpamPreviewNextCidr", TypeShape.of(GetIpamPreviewNextCidrResult.class), args, Utilities.withVersion(options));
     }
     /**
      * Previews a CIDR from an IPAM address pool. Only works for private IPv4.
@@ -5623,7 +6600,7 @@ public static CompletableFuture getIpamPreviewNext
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static Output getIpamPreviewNextCidr(GetIpamPreviewNextCidrArgs args, InvokeOptions options) {
+    public static Output getIpamPreviewNextCidr(GetIpamPreviewNextCidrArgs args, InvokeOutputOptions options) {
         return Deployment.getInstance().invoke("aws:ec2/getIpamPreviewNextCidr:getIpamPreviewNextCidr", TypeShape.of(GetIpamPreviewNextCidrResult.class), args, Utilities.withVersion(options));
     }
     /**
@@ -5940,6 +6917,58 @@ public static CompletableFuture getKeyPairPlain(GetKeyPairPlai
     public static Output getKeyPair(GetKeyPairArgs args, InvokeOptions options) {
         return Deployment.getInstance().invoke("aws:ec2/getKeyPair:getKeyPair", TypeShape.of(GetKeyPairResult.class), args, Utilities.withVersion(options));
     }
+    /**
+     * Use this data source to get information about a specific EC2 Key Pair.
+     * 
+     * ## Example Usage
+     * 
+     * The following example shows how to get a EC2 Key Pair including the public key material from its name.
+     * 
+     * <!--Start PulumiCodeChooser -->
+     * 
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.ec2.Ec2Functions;
+     * import com.pulumi.aws.ec2.inputs.GetKeyPairArgs;
+     * import java.util.List;
+     * import java.util.ArrayList;
+     * import java.util.Map;
+     * import java.io.File;
+     * import java.nio.file.Files;
+     * import java.nio.file.Paths;
+     * 
+     * public class App {
+     *     public static void main(String[] args) {
+     *         Pulumi.run(App::stack);
+     *     }
+     * 
+     *     public static void stack(Context ctx) {
+     *         final var example = Ec2Functions.getKeyPair(GetKeyPairArgs.builder()
+     *             .keyName("test")
+     *             .includePublicKey(true)
+     *             .filters(GetKeyPairFilterArgs.builder()
+     *                 .name("tag:Component")
+     *                 .values("web")
+     *                 .build())
+     *             .build());
+     * 
+     *         ctx.export("fingerprint", example.applyValue(getKeyPairResult -> getKeyPairResult.fingerprint()));
+     *         ctx.export("name", example.applyValue(getKeyPairResult -> getKeyPairResult.keyName()));
+     *         ctx.export("id", example.applyValue(getKeyPairResult -> getKeyPairResult.id()));
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getKeyPair(GetKeyPairArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:ec2/getKeyPair:getKeyPair", TypeShape.of(GetKeyPairResult.class), args, Utilities.withVersion(options)); + } /** * Use this data source to get information about a specific EC2 Key Pair. * @@ -6118,6 +7147,48 @@ public static CompletableFuture getLaunchConfigura public static Output getLaunchConfiguration(GetLaunchConfigurationArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:ec2/getLaunchConfiguration:getLaunchConfiguration", TypeShape.of(GetLaunchConfigurationResult.class), args, Utilities.withVersion(options)); } + /** + * Provides information about a Launch Configuration. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.ec2.Ec2Functions;
+     * import com.pulumi.aws.ec2.inputs.GetLaunchConfigurationArgs;
+     * 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 ubuntu = Ec2Functions.getLaunchConfiguration(GetLaunchConfigurationArgs.builder()
+     *             .name("test-launch-config")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getLaunchConfiguration(GetLaunchConfigurationArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:ec2/getLaunchConfiguration:getLaunchConfiguration", TypeShape.of(GetLaunchConfigurationResult.class), args, Utilities.withVersion(options)); + } /** * Provides information about a Launch Configuration. * @@ -6623,11 +7694,137 @@ public static Output getLaunchTemplate(GetLaunchTemplat * } * * public static void stack(Context ctx) { - * final var test = Ec2Functions.getLaunchTemplate(GetLaunchTemplateArgs.builder() - * .filters(GetLaunchTemplateFilterArgs.builder() - * .name("launch-template-name") - * .values("some-template") - * .build()) + * final var test = Ec2Functions.getLaunchTemplate(GetLaunchTemplateArgs.builder() + * .filters(GetLaunchTemplateFilterArgs.builder() + * .name("launch-template-name") + * .values("some-template") + * .build()) + * .build()); + * + * } + * } + * } + *
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getLaunchTemplate(GetLaunchTemplateArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:ec2/getLaunchTemplate:getLaunchTemplate", TypeShape.of(GetLaunchTemplateResult.class), args, Utilities.withVersion(options)); + } + /** + * Provides information about a Launch Template. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.ec2.Ec2Functions;
+     * import com.pulumi.aws.ec2.inputs.GetLaunchTemplateArgs;
+     * 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 default = Ec2Functions.getLaunchTemplate(GetLaunchTemplateArgs.builder()
+     *             .name("my-launch-template")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + * ### Filter + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.ec2.Ec2Functions;
+     * import com.pulumi.aws.ec2.inputs.GetLaunchTemplateArgs;
+     * 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 test = Ec2Functions.getLaunchTemplate(GetLaunchTemplateArgs.builder()
+     *             .filters(GetLaunchTemplateFilterArgs.builder()
+     *                 .name("launch-template-name")
+     *                 .values("some-template")
+     *                 .build())
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static CompletableFuture getLaunchTemplatePlain(GetLaunchTemplatePlainArgs args, InvokeOptions options) { + return Deployment.getInstance().invokeAsync("aws:ec2/getLaunchTemplate:getLaunchTemplate", TypeShape.of(GetLaunchTemplateResult.class), args, Utilities.withVersion(options)); + } + /** + * Provides details about an EC2 Local Gateway. + * + * ## Example Usage + * + * The following example shows how one might accept a local gateway id as a variable. + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.ec2.Ec2Functions;
+     * import com.pulumi.aws.ec2.inputs.GetLocalGatewayArgs;
+     * import java.util.List;
+     * import java.util.ArrayList;
+     * import java.util.Map;
+     * import java.io.File;
+     * import java.nio.file.Files;
+     * import java.nio.file.Paths;
+     * 
+     * public class App {
+     *     public static void main(String[] args) {
+     *         Pulumi.run(App::stack);
+     *     }
+     * 
+     *     public static void stack(Context ctx) {
+     *         final var config = ctx.config();
+     *         final var localGatewayId = config.get("localGatewayId");
+     *         final var selected = Ec2Functions.getLocalGateway(GetLocalGatewayArgs.builder()
+     *             .id(localGatewayId)
      *             .build());
      * 
      *     }
@@ -6637,8 +7834,8 @@ public static Output getLaunchTemplate(GetLaunchTemplat
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static CompletableFuture getLaunchTemplatePlain(GetLaunchTemplatePlainArgs args, InvokeOptions options) {
-        return Deployment.getInstance().invokeAsync("aws:ec2/getLaunchTemplate:getLaunchTemplate", TypeShape.of(GetLaunchTemplateResult.class), args, Utilities.withVersion(options));
+    public static Output getLocalGateway() {
+        return getLocalGateway(GetLocalGatewayArgs.Empty, InvokeOptions.Empty);
     }
     /**
      * Provides details about an EC2 Local Gateway.
@@ -6683,8 +7880,8 @@ public static CompletableFuture getLaunchTemplatePlain(
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static Output getLocalGateway() {
-        return getLocalGateway(GetLocalGatewayArgs.Empty, InvokeOptions.Empty);
+    public static CompletableFuture getLocalGatewayPlain() {
+        return getLocalGatewayPlain(GetLocalGatewayPlainArgs.Empty, InvokeOptions.Empty);
     }
     /**
      * Provides details about an EC2 Local Gateway.
@@ -6729,8 +7926,8 @@ public static Output getLocalGateway() {
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static CompletableFuture getLocalGatewayPlain() {
-        return getLocalGatewayPlain(GetLocalGatewayPlainArgs.Empty, InvokeOptions.Empty);
+    public static Output getLocalGateway(GetLocalGatewayArgs args) {
+        return getLocalGateway(args, InvokeOptions.Empty);
     }
     /**
      * Provides details about an EC2 Local Gateway.
@@ -6775,8 +7972,8 @@ public static CompletableFuture getLocalGatewayPlain() {
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static Output getLocalGateway(GetLocalGatewayArgs args) {
-        return getLocalGateway(args, InvokeOptions.Empty);
+    public static CompletableFuture getLocalGatewayPlain(GetLocalGatewayPlainArgs args) {
+        return getLocalGatewayPlain(args, InvokeOptions.Empty);
     }
     /**
      * Provides details about an EC2 Local Gateway.
@@ -6821,8 +8018,8 @@ public static Output getLocalGateway(GetLocalGatewayArgs
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static CompletableFuture getLocalGatewayPlain(GetLocalGatewayPlainArgs args) {
-        return getLocalGatewayPlain(args, InvokeOptions.Empty);
+    public static Output getLocalGateway(GetLocalGatewayArgs args, InvokeOptions options) {
+        return Deployment.getInstance().invoke("aws:ec2/getLocalGateway:getLocalGateway", TypeShape.of(GetLocalGatewayResult.class), args, Utilities.withVersion(options));
     }
     /**
      * Provides details about an EC2 Local Gateway.
@@ -6867,7 +8064,7 @@ public static CompletableFuture getLocalGatewayPlain(GetL
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static Output getLocalGateway(GetLocalGatewayArgs args, InvokeOptions options) {
+    public static Output getLocalGateway(GetLocalGatewayArgs args, InvokeOutputOptions options) {
         return Deployment.getInstance().invoke("aws:ec2/getLocalGateway:getLocalGateway", TypeShape.of(GetLocalGatewayResult.class), args, Utilities.withVersion(options));
     }
     /**
@@ -7161,6 +8358,55 @@ public static CompletableFuture getLocalGateway
     public static Output getLocalGatewayRouteTable(GetLocalGatewayRouteTableArgs args, InvokeOptions options) {
         return Deployment.getInstance().invoke("aws:ec2/getLocalGatewayRouteTable:getLocalGatewayRouteTable", TypeShape.of(GetLocalGatewayRouteTableResult.class), args, Utilities.withVersion(options));
     }
+    /**
+     * Provides details about an EC2 Local Gateway Route Table.
+     * 
+     * This data source can prove useful when a module accepts a local gateway route table id as
+     * an input variable and needs to, for example, find the associated Outpost or Local Gateway.
+     * 
+     * ## Example Usage
+     * 
+     * The following example returns a specific local gateway route table ID
+     * 
+     * <!--Start PulumiCodeChooser -->
+     * 
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.ec2.Ec2Functions;
+     * import com.pulumi.aws.ec2.inputs.GetLocalGatewayRouteTableArgs;
+     * import java.util.List;
+     * import java.util.ArrayList;
+     * import java.util.Map;
+     * import java.io.File;
+     * import java.nio.file.Files;
+     * import java.nio.file.Paths;
+     * 
+     * public class App {
+     *     public static void main(String[] args) {
+     *         Pulumi.run(App::stack);
+     *     }
+     * 
+     *     public static void stack(Context ctx) {
+     *         final var config = ctx.config();
+     *         final var awsEc2LocalGatewayRouteTable = config.get("awsEc2LocalGatewayRouteTable");
+     *         final var selected = Ec2Functions.getLocalGatewayRouteTable(GetLocalGatewayRouteTableArgs.builder()
+     *             .localGatewayRouteTableId(awsEc2LocalGatewayRouteTable)
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getLocalGatewayRouteTable(GetLocalGatewayRouteTableArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:ec2/getLocalGatewayRouteTable:getLocalGatewayRouteTable", TypeShape.of(GetLocalGatewayRouteTableResult.class), args, Utilities.withVersion(options)); + } /** * Provides details about an EC2 Local Gateway Route Table. * @@ -7425,6 +8671,49 @@ public static CompletableFuture getLocalGatewa public static Output getLocalGatewayRouteTables(GetLocalGatewayRouteTablesArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:ec2/getLocalGatewayRouteTables:getLocalGatewayRouteTables", TypeShape.of(GetLocalGatewayRouteTablesResult.class), args, Utilities.withVersion(options)); } + /** + * Provides information for multiple EC2 Local Gateway Route Tables, such as their identifiers. + * + * ## Example Usage + * + * The following shows outputting all Local Gateway Route Table Ids. + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.ec2.Ec2Functions;
+     * import com.pulumi.aws.ec2.inputs.GetLocalGatewayRouteTablesArgs;
+     * 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 foo = Ec2Functions.getLocalGatewayRouteTables();
+     * 
+     *         ctx.export("foo", foo.applyValue(getLocalGatewayRouteTablesResult -> getLocalGatewayRouteTablesResult.ids()));
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getLocalGatewayRouteTables(GetLocalGatewayRouteTablesArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:ec2/getLocalGatewayRouteTables:getLocalGatewayRouteTables", TypeShape.of(GetLocalGatewayRouteTablesResult.class), args, Utilities.withVersion(options)); + } /** * Provides information for multiple EC2 Local Gateway Route Tables, such as their identifiers. * @@ -7528,6 +8817,18 @@ public static CompletableFuture getLocalG public static Output getLocalGatewayVirtualInterface(GetLocalGatewayVirtualInterfaceArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:ec2/getLocalGatewayVirtualInterface:getLocalGatewayVirtualInterface", TypeShape.of(GetLocalGatewayVirtualInterfaceResult.class), args, Utilities.withVersion(options)); } + /** + * Provides details about an EC2 Local Gateway Virtual Interface. More information can be found in the [Outposts User Guide](https://docs.aws.amazon.com/outposts/latest/userguide/outposts-networking-components.html#routing). + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + * <!--End PulumiCodeChooser --> + * + */ + public static Output getLocalGatewayVirtualInterface(GetLocalGatewayVirtualInterfaceArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:ec2/getLocalGatewayVirtualInterface:getLocalGatewayVirtualInterface", TypeShape.of(GetLocalGatewayVirtualInterfaceResult.class), args, Utilities.withVersion(options)); + } /** * Provides details about an EC2 Local Gateway Virtual Interface. More information can be found in the [Outposts User Guide](https://docs.aws.amazon.com/outposts/latest/userguide/outposts-networking-components.html#routing). * @@ -7705,11 +9006,137 @@ public static Output getLocalGateway * <!--End PulumiCodeChooser --> * */ - public static CompletableFuture getLocalGatewayVirtualInterfaceGroupPlain(GetLocalGatewayVirtualInterfaceGroupPlainArgs args) { - return getLocalGatewayVirtualInterfaceGroupPlain(args, InvokeOptions.Empty); + public static CompletableFuture getLocalGatewayVirtualInterfaceGroupPlain(GetLocalGatewayVirtualInterfaceGroupPlainArgs args) { + return getLocalGatewayVirtualInterfaceGroupPlain(args, InvokeOptions.Empty); + } + /** + * Provides details about an EC2 Local Gateway Virtual Interface Group. More information can be found in the [Outposts User Guide](https://docs.aws.amazon.com/outposts/latest/userguide/outposts-networking-components.html#routing). + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.ec2.Ec2Functions;
+     * import com.pulumi.aws.ec2.inputs.GetLocalGatewayVirtualInterfaceGroupArgs;
+     * import java.util.List;
+     * import java.util.ArrayList;
+     * import java.util.Map;
+     * import java.io.File;
+     * import java.nio.file.Files;
+     * import java.nio.file.Paths;
+     * 
+     * public class App {
+     *     public static void main(String[] args) {
+     *         Pulumi.run(App::stack);
+     *     }
+     * 
+     *     public static void stack(Context ctx) {
+     *         final var example = Ec2Functions.getLocalGatewayVirtualInterfaceGroup(GetLocalGatewayVirtualInterfaceGroupArgs.builder()
+     *             .localGatewayId(exampleAwsEc2LocalGateway.id())
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getLocalGatewayVirtualInterfaceGroup(GetLocalGatewayVirtualInterfaceGroupArgs args, InvokeOptions options) { + return Deployment.getInstance().invoke("aws:ec2/getLocalGatewayVirtualInterfaceGroup:getLocalGatewayVirtualInterfaceGroup", TypeShape.of(GetLocalGatewayVirtualInterfaceGroupResult.class), args, Utilities.withVersion(options)); + } + /** + * Provides details about an EC2 Local Gateway Virtual Interface Group. More information can be found in the [Outposts User Guide](https://docs.aws.amazon.com/outposts/latest/userguide/outposts-networking-components.html#routing). + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.ec2.Ec2Functions;
+     * import com.pulumi.aws.ec2.inputs.GetLocalGatewayVirtualInterfaceGroupArgs;
+     * import java.util.List;
+     * import java.util.ArrayList;
+     * import java.util.Map;
+     * import java.io.File;
+     * import java.nio.file.Files;
+     * import java.nio.file.Paths;
+     * 
+     * public class App {
+     *     public static void main(String[] args) {
+     *         Pulumi.run(App::stack);
+     *     }
+     * 
+     *     public static void stack(Context ctx) {
+     *         final var example = Ec2Functions.getLocalGatewayVirtualInterfaceGroup(GetLocalGatewayVirtualInterfaceGroupArgs.builder()
+     *             .localGatewayId(exampleAwsEc2LocalGateway.id())
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getLocalGatewayVirtualInterfaceGroup(GetLocalGatewayVirtualInterfaceGroupArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:ec2/getLocalGatewayVirtualInterfaceGroup:getLocalGatewayVirtualInterfaceGroup", TypeShape.of(GetLocalGatewayVirtualInterfaceGroupResult.class), args, Utilities.withVersion(options)); + } + /** + * Provides details about an EC2 Local Gateway Virtual Interface Group. More information can be found in the [Outposts User Guide](https://docs.aws.amazon.com/outposts/latest/userguide/outposts-networking-components.html#routing). + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.ec2.Ec2Functions;
+     * import com.pulumi.aws.ec2.inputs.GetLocalGatewayVirtualInterfaceGroupArgs;
+     * import java.util.List;
+     * import java.util.ArrayList;
+     * import java.util.Map;
+     * import java.io.File;
+     * import java.nio.file.Files;
+     * import java.nio.file.Paths;
+     * 
+     * public class App {
+     *     public static void main(String[] args) {
+     *         Pulumi.run(App::stack);
+     *     }
+     * 
+     *     public static void stack(Context ctx) {
+     *         final var example = Ec2Functions.getLocalGatewayVirtualInterfaceGroup(GetLocalGatewayVirtualInterfaceGroupArgs.builder()
+     *             .localGatewayId(exampleAwsEc2LocalGateway.id())
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static CompletableFuture getLocalGatewayVirtualInterfaceGroupPlain(GetLocalGatewayVirtualInterfaceGroupPlainArgs args, InvokeOptions options) { + return Deployment.getInstance().invokeAsync("aws:ec2/getLocalGatewayVirtualInterfaceGroup:getLocalGatewayVirtualInterfaceGroup", TypeShape.of(GetLocalGatewayVirtualInterfaceGroupResult.class), args, Utilities.withVersion(options)); } /** - * Provides details about an EC2 Local Gateway Virtual Interface Group. More information can be found in the [Outposts User Guide](https://docs.aws.amazon.com/outposts/latest/userguide/outposts-networking-components.html#routing). + * Provides details about multiple EC2 Local Gateway Virtual Interface Groups, such as identifiers. More information can be found in the [Outposts User Guide](https://docs.aws.amazon.com/outposts/latest/userguide/outposts-networking-components.html#routing). * * ## Example Usage * @@ -7722,7 +9149,7 @@ public static CompletableFuture getL * import com.pulumi.Pulumi; * import com.pulumi.core.Output; * import com.pulumi.aws.ec2.Ec2Functions; - * import com.pulumi.aws.ec2.inputs.GetLocalGatewayVirtualInterfaceGroupArgs; + * import com.pulumi.aws.ec2.inputs.GetLocalGatewayVirtualInterfaceGroupsArgs; * import java.util.List; * import java.util.ArrayList; * import java.util.Map; @@ -7736,9 +9163,7 @@ public static CompletableFuture getL * } * * public static void stack(Context ctx) { - * final var example = Ec2Functions.getLocalGatewayVirtualInterfaceGroup(GetLocalGatewayVirtualInterfaceGroupArgs.builder() - * .localGatewayId(exampleAwsEc2LocalGateway.id()) - * .build()); + * final var all = Ec2Functions.getLocalGatewayVirtualInterfaceGroups(); * * } * } @@ -7747,11 +9172,11 @@ public static CompletableFuture getL * <!--End PulumiCodeChooser --> * */ - public static Output getLocalGatewayVirtualInterfaceGroup(GetLocalGatewayVirtualInterfaceGroupArgs args, InvokeOptions options) { - return Deployment.getInstance().invoke("aws:ec2/getLocalGatewayVirtualInterfaceGroup:getLocalGatewayVirtualInterfaceGroup", TypeShape.of(GetLocalGatewayVirtualInterfaceGroupResult.class), args, Utilities.withVersion(options)); + public static Output getLocalGatewayVirtualInterfaceGroups() { + return getLocalGatewayVirtualInterfaceGroups(GetLocalGatewayVirtualInterfaceGroupsArgs.Empty, InvokeOptions.Empty); } /** - * Provides details about an EC2 Local Gateway Virtual Interface Group. More information can be found in the [Outposts User Guide](https://docs.aws.amazon.com/outposts/latest/userguide/outposts-networking-components.html#routing). + * Provides details about multiple EC2 Local Gateway Virtual Interface Groups, such as identifiers. More information can be found in the [Outposts User Guide](https://docs.aws.amazon.com/outposts/latest/userguide/outposts-networking-components.html#routing). * * ## Example Usage * @@ -7764,7 +9189,7 @@ public static Output getLocalGateway * import com.pulumi.Pulumi; * import com.pulumi.core.Output; * import com.pulumi.aws.ec2.Ec2Functions; - * import com.pulumi.aws.ec2.inputs.GetLocalGatewayVirtualInterfaceGroupArgs; + * import com.pulumi.aws.ec2.inputs.GetLocalGatewayVirtualInterfaceGroupsArgs; * import java.util.List; * import java.util.ArrayList; * import java.util.Map; @@ -7778,9 +9203,7 @@ public static Output getLocalGateway * } * * public static void stack(Context ctx) { - * final var example = Ec2Functions.getLocalGatewayVirtualInterfaceGroup(GetLocalGatewayVirtualInterfaceGroupArgs.builder() - * .localGatewayId(exampleAwsEc2LocalGateway.id()) - * .build()); + * final var all = Ec2Functions.getLocalGatewayVirtualInterfaceGroups(); * * } * } @@ -7789,8 +9212,8 @@ public static Output getLocalGateway * <!--End PulumiCodeChooser --> * */ - public static CompletableFuture getLocalGatewayVirtualInterfaceGroupPlain(GetLocalGatewayVirtualInterfaceGroupPlainArgs args, InvokeOptions options) { - return Deployment.getInstance().invokeAsync("aws:ec2/getLocalGatewayVirtualInterfaceGroup:getLocalGatewayVirtualInterfaceGroup", TypeShape.of(GetLocalGatewayVirtualInterfaceGroupResult.class), args, Utilities.withVersion(options)); + public static CompletableFuture getLocalGatewayVirtualInterfaceGroupsPlain() { + return getLocalGatewayVirtualInterfaceGroupsPlain(GetLocalGatewayVirtualInterfaceGroupsPlainArgs.Empty, InvokeOptions.Empty); } /** * Provides details about multiple EC2 Local Gateway Virtual Interface Groups, such as identifiers. More information can be found in the [Outposts User Guide](https://docs.aws.amazon.com/outposts/latest/userguide/outposts-networking-components.html#routing). @@ -7829,8 +9252,8 @@ public static CompletableFuture getL * <!--End PulumiCodeChooser --> * */ - public static Output getLocalGatewayVirtualInterfaceGroups() { - return getLocalGatewayVirtualInterfaceGroups(GetLocalGatewayVirtualInterfaceGroupsArgs.Empty, InvokeOptions.Empty); + public static Output getLocalGatewayVirtualInterfaceGroups(GetLocalGatewayVirtualInterfaceGroupsArgs args) { + return getLocalGatewayVirtualInterfaceGroups(args, InvokeOptions.Empty); } /** * Provides details about multiple EC2 Local Gateway Virtual Interface Groups, such as identifiers. More information can be found in the [Outposts User Guide](https://docs.aws.amazon.com/outposts/latest/userguide/outposts-networking-components.html#routing). @@ -7869,8 +9292,8 @@ public static Output getLocalGatewa * <!--End PulumiCodeChooser --> * */ - public static CompletableFuture getLocalGatewayVirtualInterfaceGroupsPlain() { - return getLocalGatewayVirtualInterfaceGroupsPlain(GetLocalGatewayVirtualInterfaceGroupsPlainArgs.Empty, InvokeOptions.Empty); + public static CompletableFuture getLocalGatewayVirtualInterfaceGroupsPlain(GetLocalGatewayVirtualInterfaceGroupsPlainArgs args) { + return getLocalGatewayVirtualInterfaceGroupsPlain(args, InvokeOptions.Empty); } /** * Provides details about multiple EC2 Local Gateway Virtual Interface Groups, such as identifiers. More information can be found in the [Outposts User Guide](https://docs.aws.amazon.com/outposts/latest/userguide/outposts-networking-components.html#routing). @@ -7909,8 +9332,8 @@ public static CompletableFuture get * <!--End PulumiCodeChooser --> * */ - public static Output getLocalGatewayVirtualInterfaceGroups(GetLocalGatewayVirtualInterfaceGroupsArgs args) { - return getLocalGatewayVirtualInterfaceGroups(args, InvokeOptions.Empty); + public static Output getLocalGatewayVirtualInterfaceGroups(GetLocalGatewayVirtualInterfaceGroupsArgs args, InvokeOptions options) { + return Deployment.getInstance().invoke("aws:ec2/getLocalGatewayVirtualInterfaceGroups:getLocalGatewayVirtualInterfaceGroups", TypeShape.of(GetLocalGatewayVirtualInterfaceGroupsResult.class), args, Utilities.withVersion(options)); } /** * Provides details about multiple EC2 Local Gateway Virtual Interface Groups, such as identifiers. More information can be found in the [Outposts User Guide](https://docs.aws.amazon.com/outposts/latest/userguide/outposts-networking-components.html#routing). @@ -7949,8 +9372,8 @@ public static Output getLocalGatewa * <!--End PulumiCodeChooser --> * */ - public static CompletableFuture getLocalGatewayVirtualInterfaceGroupsPlain(GetLocalGatewayVirtualInterfaceGroupsPlainArgs args) { - return getLocalGatewayVirtualInterfaceGroupsPlain(args, InvokeOptions.Empty); + public static Output getLocalGatewayVirtualInterfaceGroups(GetLocalGatewayVirtualInterfaceGroupsArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:ec2/getLocalGatewayVirtualInterfaceGroups:getLocalGatewayVirtualInterfaceGroups", TypeShape.of(GetLocalGatewayVirtualInterfaceGroupsResult.class), args, Utilities.withVersion(options)); } /** * Provides details about multiple EC2 Local Gateway Virtual Interface Groups, such as identifiers. More information can be found in the [Outposts User Guide](https://docs.aws.amazon.com/outposts/latest/userguide/outposts-networking-components.html#routing). @@ -7989,14 +9412,16 @@ public static CompletableFuture get * <!--End PulumiCodeChooser --> * */ - public static Output getLocalGatewayVirtualInterfaceGroups(GetLocalGatewayVirtualInterfaceGroupsArgs args, InvokeOptions options) { - return Deployment.getInstance().invoke("aws:ec2/getLocalGatewayVirtualInterfaceGroups:getLocalGatewayVirtualInterfaceGroups", TypeShape.of(GetLocalGatewayVirtualInterfaceGroupsResult.class), args, Utilities.withVersion(options)); + public static CompletableFuture getLocalGatewayVirtualInterfaceGroupsPlain(GetLocalGatewayVirtualInterfaceGroupsPlainArgs args, InvokeOptions options) { + return Deployment.getInstance().invokeAsync("aws:ec2/getLocalGatewayVirtualInterfaceGroups:getLocalGatewayVirtualInterfaceGroups", TypeShape.of(GetLocalGatewayVirtualInterfaceGroupsResult.class), args, Utilities.withVersion(options)); } /** - * Provides details about multiple EC2 Local Gateway Virtual Interface Groups, such as identifiers. More information can be found in the [Outposts User Guide](https://docs.aws.amazon.com/outposts/latest/userguide/outposts-networking-components.html#routing). + * Provides information for multiple EC2 Local Gateways, such as their identifiers. * * ## Example Usage * + * The following example retrieves Local Gateways with a resource tag of `service` set to `production`. + * * <!--Start PulumiCodeChooser --> *
      * {@code
@@ -8006,7 +9431,7 @@ public static Output getLocalGatewa
      * import com.pulumi.Pulumi;
      * import com.pulumi.core.Output;
      * import com.pulumi.aws.ec2.Ec2Functions;
-     * import com.pulumi.aws.ec2.inputs.GetLocalGatewayVirtualInterfaceGroupsArgs;
+     * import com.pulumi.aws.ec2.inputs.GetLocalGatewaysArgs;
      * import java.util.List;
      * import java.util.ArrayList;
      * import java.util.Map;
@@ -8020,8 +9445,11 @@ public static Output getLocalGatewa
      *     }
      * 
      *     public static void stack(Context ctx) {
-     *         final var all = Ec2Functions.getLocalGatewayVirtualInterfaceGroups();
+     *         final var foo = Ec2Functions.getLocalGateways(GetLocalGatewaysArgs.builder()
+     *             .tags(Map.of("service", "production"))
+     *             .build());
      * 
+     *         ctx.export("foo", foo.applyValue(getLocalGatewaysResult -> getLocalGatewaysResult.ids()));
      *     }
      * }
      * }
@@ -8029,8 +9457,8 @@ public static Output getLocalGatewa
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static CompletableFuture getLocalGatewayVirtualInterfaceGroupsPlain(GetLocalGatewayVirtualInterfaceGroupsPlainArgs args, InvokeOptions options) {
-        return Deployment.getInstance().invokeAsync("aws:ec2/getLocalGatewayVirtualInterfaceGroups:getLocalGatewayVirtualInterfaceGroups", TypeShape.of(GetLocalGatewayVirtualInterfaceGroupsResult.class), args, Utilities.withVersion(options));
+    public static Output getLocalGateways() {
+        return getLocalGateways(GetLocalGatewaysArgs.Empty, InvokeOptions.Empty);
     }
     /**
      * Provides information for multiple EC2 Local Gateways, such as their identifiers.
@@ -8074,8 +9502,8 @@ public static CompletableFuture get
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static Output getLocalGateways() {
-        return getLocalGateways(GetLocalGatewaysArgs.Empty, InvokeOptions.Empty);
+    public static CompletableFuture getLocalGatewaysPlain() {
+        return getLocalGatewaysPlain(GetLocalGatewaysPlainArgs.Empty, InvokeOptions.Empty);
     }
     /**
      * Provides information for multiple EC2 Local Gateways, such as their identifiers.
@@ -8119,8 +9547,8 @@ public static Output getLocalGateways() {
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static CompletableFuture getLocalGatewaysPlain() {
-        return getLocalGatewaysPlain(GetLocalGatewaysPlainArgs.Empty, InvokeOptions.Empty);
+    public static Output getLocalGateways(GetLocalGatewaysArgs args) {
+        return getLocalGateways(args, InvokeOptions.Empty);
     }
     /**
      * Provides information for multiple EC2 Local Gateways, such as their identifiers.
@@ -8164,8 +9592,8 @@ public static CompletableFuture getLocalGatewaysPlain()
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static Output getLocalGateways(GetLocalGatewaysArgs args) {
-        return getLocalGateways(args, InvokeOptions.Empty);
+    public static CompletableFuture getLocalGatewaysPlain(GetLocalGatewaysPlainArgs args) {
+        return getLocalGatewaysPlain(args, InvokeOptions.Empty);
     }
     /**
      * Provides information for multiple EC2 Local Gateways, such as their identifiers.
@@ -8209,8 +9637,8 @@ public static Output getLocalGateways(GetLocalGatewaysAr
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static CompletableFuture getLocalGatewaysPlain(GetLocalGatewaysPlainArgs args) {
-        return getLocalGatewaysPlain(args, InvokeOptions.Empty);
+    public static Output getLocalGateways(GetLocalGatewaysArgs args, InvokeOptions options) {
+        return Deployment.getInstance().invoke("aws:ec2/getLocalGateways:getLocalGateways", TypeShape.of(GetLocalGatewaysResult.class), args, Utilities.withVersion(options));
     }
     /**
      * Provides information for multiple EC2 Local Gateways, such as their identifiers.
@@ -8254,7 +9682,7 @@ public static CompletableFuture getLocalGatewaysPlain(Ge
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static Output getLocalGateways(GetLocalGatewaysArgs args, InvokeOptions options) {
+    public static Output getLocalGateways(GetLocalGatewaysArgs args, InvokeOutputOptions options) {
         return Deployment.getInstance().invoke("aws:ec2/getLocalGateways:getLocalGateways", TypeShape.of(GetLocalGatewaysResult.class), args, Utilities.withVersion(options));
     }
     /**
@@ -8737,6 +10165,93 @@ public static CompletableFuture getManagedPrefixList
     public static Output getManagedPrefixList(GetManagedPrefixListArgs args, InvokeOptions options) {
         return Deployment.getInstance().invoke("aws:ec2/getManagedPrefixList:getManagedPrefixList", TypeShape.of(GetManagedPrefixListResult.class), args, Utilities.withVersion(options));
     }
+    /**
+     * `aws.ec2.ManagedPrefixList` provides details about a specific AWS prefix list or
+     * customer-managed prefix list in the current region.
+     * 
+     * ## Example Usage
+     * 
+     * ### Find the regional DynamoDB prefix list
+     * 
+     * <!--Start PulumiCodeChooser -->
+     * 
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.AwsFunctions;
+     * import com.pulumi.aws.inputs.GetRegionArgs;
+     * import com.pulumi.aws.ec2.Ec2Functions;
+     * import com.pulumi.aws.ec2.inputs.GetManagedPrefixListArgs;
+     * 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 current = AwsFunctions.getRegion();
+     * 
+     *         final var example = Ec2Functions.getManagedPrefixList(GetManagedPrefixListArgs.builder()
+     *             .name(String.format("com.amazonaws.%s.dynamodb", current.applyValue(getRegionResult -> getRegionResult.name())))
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + * ### Find a managed prefix list using filters + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.ec2.Ec2Functions;
+     * import com.pulumi.aws.ec2.inputs.GetManagedPrefixListArgs;
+     * import java.util.List;
+     * import java.util.ArrayList;
+     * import java.util.Map;
+     * import java.io.File;
+     * import java.nio.file.Files;
+     * import java.nio.file.Paths;
+     * 
+     * public class App {
+     *     public static void main(String[] args) {
+     *         Pulumi.run(App::stack);
+     *     }
+     * 
+     *     public static void stack(Context ctx) {
+     *         final var example = Ec2Functions.getManagedPrefixList(GetManagedPrefixListArgs.builder()
+     *             .filters(GetManagedPrefixListFilterArgs.builder()
+     *                 .name("prefix-list-name")
+     *                 .values("my-prefix-list")
+     *                 .build())
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getManagedPrefixList(GetManagedPrefixListArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:ec2/getManagedPrefixList:getManagedPrefixList", TypeShape.of(GetManagedPrefixListResult.class), args, Utilities.withVersion(options)); + } /** * `aws.ec2.ManagedPrefixList` provides details about a specific AWS prefix list or * customer-managed prefix list in the current region. @@ -8905,8 +10420,100 @@ public static Output getManagedPrefixLists(GetManag * <!--End PulumiCodeChooser --> * */ - public static CompletableFuture getManagedPrefixListsPlain(GetManagedPrefixListsPlainArgs args, InvokeOptions options) { - return Deployment.getInstance().invokeAsync("aws:ec2/getManagedPrefixLists:getManagedPrefixLists", TypeShape.of(GetManagedPrefixListsResult.class), args, Utilities.withVersion(options)); + public static Output getManagedPrefixLists(GetManagedPrefixListsArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:ec2/getManagedPrefixLists:getManagedPrefixLists", TypeShape.of(GetManagedPrefixListsResult.class), args, Utilities.withVersion(options)); + } + /** + * This resource can be useful for getting back a list of managed prefix list ids to be referenced elsewhere. + * + * ## Example Usage + * + * The following returns all managed prefix lists filtered by tags + * + * <!--Start PulumiCodeChooser --> + * <!--End PulumiCodeChooser --> + * + */ + public static CompletableFuture getManagedPrefixListsPlain(GetManagedPrefixListsPlainArgs args, InvokeOptions options) { + return Deployment.getInstance().invokeAsync("aws:ec2/getManagedPrefixLists:getManagedPrefixLists", TypeShape.of(GetManagedPrefixListsResult.class), args, Utilities.withVersion(options)); + } + /** + * Provides details about a specific VPC NAT Gateway. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.ec2.Ec2Functions;
+     * import com.pulumi.aws.ec2.inputs.GetNatGatewayArgs;
+     * 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 default = Ec2Functions.getNatGateway(GetNatGatewayArgs.builder()
+     *             .subnetId(public_.id())
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + * ### With tags + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.ec2.Ec2Functions;
+     * import com.pulumi.aws.ec2.inputs.GetNatGatewayArgs;
+     * 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 default = Ec2Functions.getNatGateway(GetNatGatewayArgs.builder()
+     *             .subnetId(public_.id())
+     *             .tags(Map.of("Name", "gw NAT"))
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getNatGateway() { + return getNatGateway(GetNatGatewayArgs.Empty, InvokeOptions.Empty); } /** * Provides details about a specific VPC NAT Gateway. @@ -8983,8 +10590,8 @@ public static CompletableFuture getManagedPrefixLis * <!--End PulumiCodeChooser --> * */ - public static Output getNatGateway() { - return getNatGateway(GetNatGatewayArgs.Empty, InvokeOptions.Empty); + public static CompletableFuture getNatGatewayPlain() { + return getNatGatewayPlain(GetNatGatewayPlainArgs.Empty, InvokeOptions.Empty); } /** * Provides details about a specific VPC NAT Gateway. @@ -9061,8 +10668,8 @@ public static Output getNatGateway() { * <!--End PulumiCodeChooser --> * */ - public static CompletableFuture getNatGatewayPlain() { - return getNatGatewayPlain(GetNatGatewayPlainArgs.Empty, InvokeOptions.Empty); + public static Output getNatGateway(GetNatGatewayArgs args) { + return getNatGateway(args, InvokeOptions.Empty); } /** * Provides details about a specific VPC NAT Gateway. @@ -9139,8 +10746,8 @@ public static CompletableFuture getNatGatewayPlain() { * <!--End PulumiCodeChooser --> * */ - public static Output getNatGateway(GetNatGatewayArgs args) { - return getNatGateway(args, InvokeOptions.Empty); + public static CompletableFuture getNatGatewayPlain(GetNatGatewayPlainArgs args) { + return getNatGatewayPlain(args, InvokeOptions.Empty); } /** * Provides details about a specific VPC NAT Gateway. @@ -9217,8 +10824,8 @@ public static Output getNatGateway(GetNatGatewayArgs args) * <!--End PulumiCodeChooser --> * */ - public static CompletableFuture getNatGatewayPlain(GetNatGatewayPlainArgs args) { - return getNatGatewayPlain(args, InvokeOptions.Empty); + public static Output getNatGateway(GetNatGatewayArgs args, InvokeOptions options) { + return Deployment.getInstance().invoke("aws:ec2/getNatGateway:getNatGateway", TypeShape.of(GetNatGatewayResult.class), args, Utilities.withVersion(options)); } /** * Provides details about a specific VPC NAT Gateway. @@ -9295,7 +10902,7 @@ public static CompletableFuture getNatGatewayPlain(GetNatGa * <!--End PulumiCodeChooser --> * */ - public static Output getNatGateway(GetNatGatewayArgs args, InvokeOptions options) { + public static Output getNatGateway(GetNatGatewayArgs args, InvokeOutputOptions options) { return Deployment.getInstance().invoke("aws:ec2/getNatGateway:getNatGateway", TypeShape.of(GetNatGatewayResult.class), args, Utilities.withVersion(options)); } /** @@ -9449,16 +11056,270 @@ public static Output getNatGateways(GetNatGatewaysArgs arg /** * This resource can be useful for getting back a list of NAT gateway ids to be referenced elsewhere. * - * ## Example Usage + * ## Example Usage + * + * The following returns all NAT gateways in a specified VPC that are marked as available + * + * <!--Start PulumiCodeChooser --> + * <!--End PulumiCodeChooser --> + * + */ + public static Output getNatGateways(GetNatGatewaysArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:ec2/getNatGateways:getNatGateways", TypeShape.of(GetNatGatewaysResult.class), args, Utilities.withVersion(options)); + } + /** + * This resource can be useful for getting back a list of NAT gateway ids to be referenced elsewhere. + * + * ## Example Usage + * + * The following returns all NAT gateways in a specified VPC that are marked as available + * + * <!--Start PulumiCodeChooser --> + * <!--End PulumiCodeChooser --> + * + */ + public static CompletableFuture getNatGatewaysPlain(GetNatGatewaysPlainArgs args, InvokeOptions options) { + return Deployment.getInstance().invokeAsync("aws:ec2/getNatGateways:getNatGateways", TypeShape.of(GetNatGatewaysResult.class), args, Utilities.withVersion(options)); + } + /** + * ## Example Usage + * + * The following shows outputting all network ACL ids in a vpc. + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.ec2.Ec2Functions;
+     * import com.pulumi.aws.ec2.inputs.GetNetworkAclsArgs;
+     * import java.util.List;
+     * import java.util.ArrayList;
+     * import java.util.Map;
+     * import java.io.File;
+     * import java.nio.file.Files;
+     * import java.nio.file.Paths;
+     * 
+     * public class App {
+     *     public static void main(String[] args) {
+     *         Pulumi.run(App::stack);
+     *     }
+     * 
+     *     public static void stack(Context ctx) {
+     *         final var example = Ec2Functions.getNetworkAcls(GetNetworkAclsArgs.builder()
+     *             .vpcId(vpcId)
+     *             .build());
+     * 
+     *         ctx.export("example", example.applyValue(getNetworkAclsResult -> getNetworkAclsResult.ids()));
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + * The following example retrieves a list of all network ACL ids in a VPC with a custom + * tag of `Tier` set to a value of "Private". + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.ec2.Ec2Functions;
+     * import com.pulumi.aws.ec2.inputs.GetNetworkAclsArgs;
+     * import java.util.List;
+     * import java.util.ArrayList;
+     * import java.util.Map;
+     * import java.io.File;
+     * import java.nio.file.Files;
+     * import java.nio.file.Paths;
+     * 
+     * public class App {
+     *     public static void main(String[] args) {
+     *         Pulumi.run(App::stack);
+     *     }
+     * 
+     *     public static void stack(Context ctx) {
+     *         final var example = Ec2Functions.getNetworkAcls(GetNetworkAclsArgs.builder()
+     *             .vpcId(vpcId)
+     *             .tags(Map.of("Tier", "Private"))
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + * The following example retrieves a network ACL id in a VPC which associated + * with specific subnet. + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.ec2.Ec2Functions;
+     * import com.pulumi.aws.ec2.inputs.GetNetworkAclsArgs;
+     * import java.util.List;
+     * import java.util.ArrayList;
+     * import java.util.Map;
+     * import java.io.File;
+     * import java.nio.file.Files;
+     * import java.nio.file.Paths;
+     * 
+     * public class App {
+     *     public static void main(String[] args) {
+     *         Pulumi.run(App::stack);
+     *     }
+     * 
+     *     public static void stack(Context ctx) {
+     *         final var example = Ec2Functions.getNetworkAcls(GetNetworkAclsArgs.builder()
+     *             .vpcId(vpcId)
+     *             .filters(GetNetworkAclsFilterArgs.builder()
+     *                 .name("association.subnet-id")
+     *                 .values(test.id())
+     *                 .build())
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getNetworkAcls() { + return getNetworkAcls(GetNetworkAclsArgs.Empty, InvokeOptions.Empty); + } + /** + * ## Example Usage + * + * The following shows outputting all network ACL ids in a vpc. + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.ec2.Ec2Functions;
+     * import com.pulumi.aws.ec2.inputs.GetNetworkAclsArgs;
+     * import java.util.List;
+     * import java.util.ArrayList;
+     * import java.util.Map;
+     * import java.io.File;
+     * import java.nio.file.Files;
+     * import java.nio.file.Paths;
+     * 
+     * public class App {
+     *     public static void main(String[] args) {
+     *         Pulumi.run(App::stack);
+     *     }
+     * 
+     *     public static void stack(Context ctx) {
+     *         final var example = Ec2Functions.getNetworkAcls(GetNetworkAclsArgs.builder()
+     *             .vpcId(vpcId)
+     *             .build());
+     * 
+     *         ctx.export("example", example.applyValue(getNetworkAclsResult -> getNetworkAclsResult.ids()));
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + * The following example retrieves a list of all network ACL ids in a VPC with a custom + * tag of `Tier` set to a value of "Private". + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.ec2.Ec2Functions;
+     * import com.pulumi.aws.ec2.inputs.GetNetworkAclsArgs;
+     * import java.util.List;
+     * import java.util.ArrayList;
+     * import java.util.Map;
+     * import java.io.File;
+     * import java.nio.file.Files;
+     * import java.nio.file.Paths;
+     * 
+     * public class App {
+     *     public static void main(String[] args) {
+     *         Pulumi.run(App::stack);
+     *     }
+     * 
+     *     public static void stack(Context ctx) {
+     *         final var example = Ec2Functions.getNetworkAcls(GetNetworkAclsArgs.builder()
+     *             .vpcId(vpcId)
+     *             .tags(Map.of("Tier", "Private"))
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + * The following example retrieves a network ACL id in a VPC which associated + * with specific subnet. + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.ec2.Ec2Functions;
+     * import com.pulumi.aws.ec2.inputs.GetNetworkAclsArgs;
+     * 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);
+     *     }
      * 
-     * The following returns all NAT gateways in a specified VPC that are marked as available
+     *     public static void stack(Context ctx) {
+     *         final var example = Ec2Functions.getNetworkAcls(GetNetworkAclsArgs.builder()
+     *             .vpcId(vpcId)
+     *             .filters(GetNetworkAclsFilterArgs.builder()
+     *                 .name("association.subnet-id")
+     *                 .values(test.id())
+     *                 .build())
+     *             .build());
      * 
-     * <!--Start PulumiCodeChooser -->
+     *     }
+     * }
+     * }
+     * 
* <!--End PulumiCodeChooser --> * */ - public static CompletableFuture getNatGatewaysPlain(GetNatGatewaysPlainArgs args, InvokeOptions options) { - return Deployment.getInstance().invokeAsync("aws:ec2/getNatGateways:getNatGateways", TypeShape.of(GetNatGatewaysResult.class), args, Utilities.withVersion(options)); + public static CompletableFuture getNetworkAclsPlain() { + return getNetworkAclsPlain(GetNetworkAclsPlainArgs.Empty, InvokeOptions.Empty); } /** * ## Example Usage @@ -9577,8 +11438,8 @@ public static CompletableFuture getNatGatewaysPlain(GetNat * <!--End PulumiCodeChooser --> * */ - public static Output getNetworkAcls() { - return getNetworkAcls(GetNetworkAclsArgs.Empty, InvokeOptions.Empty); + public static Output getNetworkAcls(GetNetworkAclsArgs args) { + return getNetworkAcls(args, InvokeOptions.Empty); } /** * ## Example Usage @@ -9697,8 +11558,8 @@ public static Output getNetworkAcls() { * <!--End PulumiCodeChooser --> * */ - public static CompletableFuture getNetworkAclsPlain() { - return getNetworkAclsPlain(GetNetworkAclsPlainArgs.Empty, InvokeOptions.Empty); + public static CompletableFuture getNetworkAclsPlain(GetNetworkAclsPlainArgs args) { + return getNetworkAclsPlain(args, InvokeOptions.Empty); } /** * ## Example Usage @@ -9817,8 +11678,8 @@ public static CompletableFuture getNetworkAclsPlain() { * <!--End PulumiCodeChooser --> * */ - public static Output getNetworkAcls(GetNetworkAclsArgs args) { - return getNetworkAcls(args, InvokeOptions.Empty); + public static Output getNetworkAcls(GetNetworkAclsArgs args, InvokeOptions options) { + return Deployment.getInstance().invoke("aws:ec2/getNetworkAcls:getNetworkAcls", TypeShape.of(GetNetworkAclsResult.class), args, Utilities.withVersion(options)); } /** * ## Example Usage @@ -9937,8 +11798,8 @@ public static Output getNetworkAcls(GetNetworkAclsArgs arg * <!--End PulumiCodeChooser --> * */ - public static CompletableFuture getNetworkAclsPlain(GetNetworkAclsPlainArgs args) { - return getNetworkAclsPlain(args, InvokeOptions.Empty); + public static Output getNetworkAcls(GetNetworkAclsArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:ec2/getNetworkAcls:getNetworkAcls", TypeShape.of(GetNetworkAclsResult.class), args, Utilities.withVersion(options)); } /** * ## Example Usage @@ -10057,13 +11918,13 @@ public static CompletableFuture getNetworkAclsPlain(GetNet * <!--End PulumiCodeChooser --> * */ - public static Output getNetworkAcls(GetNetworkAclsArgs args, InvokeOptions options) { - return Deployment.getInstance().invoke("aws:ec2/getNetworkAcls:getNetworkAcls", TypeShape.of(GetNetworkAclsResult.class), args, Utilities.withVersion(options)); + public static CompletableFuture getNetworkAclsPlain(GetNetworkAclsPlainArgs args, InvokeOptions options) { + return Deployment.getInstance().invokeAsync("aws:ec2/getNetworkAcls:getNetworkAcls", TypeShape.of(GetNetworkAclsResult.class), args, Utilities.withVersion(options)); } /** - * ## Example Usage + * `aws.ec2.NetworkInsightsAnalysis` provides details about a specific Network Insights Analysis. * - * The following shows outputting all network ACL ids in a vpc. + * ## Example Usage * * <!--Start PulumiCodeChooser --> *
@@ -10074,7 +11935,7 @@ public static Output getNetworkAcls(GetNetworkAclsArgs arg
      * import com.pulumi.Pulumi;
      * import com.pulumi.core.Output;
      * import com.pulumi.aws.ec2.Ec2Functions;
-     * import com.pulumi.aws.ec2.inputs.GetNetworkAclsArgs;
+     * import com.pulumi.aws.ec2.inputs.GetNetworkInsightsAnalysisArgs;
      * import java.util.List;
      * import java.util.ArrayList;
      * import java.util.Map;
@@ -10088,19 +11949,24 @@ public static Output getNetworkAcls(GetNetworkAclsArgs arg
      *     }
      * 
      *     public static void stack(Context ctx) {
-     *         final var example = Ec2Functions.getNetworkAcls(GetNetworkAclsArgs.builder()
-     *             .vpcId(vpcId)
+     *         final var example = Ec2Functions.getNetworkInsightsAnalysis(GetNetworkInsightsAnalysisArgs.builder()
+     *             .networkInsightsAnalysisId(exampleAwsEc2NetworkInsightsAnalysis.id())
      *             .build());
      * 
-     *         ctx.export("example", example.applyValue(getNetworkAclsResult -> getNetworkAclsResult.ids()));
      *     }
      * }
      * }
      * 
* <!--End PulumiCodeChooser --> * - * The following example retrieves a list of all network ACL ids in a VPC with a custom - * tag of `Tier` set to a value of "Private". + */ + public static Output getNetworkInsightsAnalysis() { + return getNetworkInsightsAnalysis(GetNetworkInsightsAnalysisArgs.Empty, InvokeOptions.Empty); + } + /** + * `aws.ec2.NetworkInsightsAnalysis` provides details about a specific Network Insights Analysis. + * + * ## Example Usage * * <!--Start PulumiCodeChooser --> *
@@ -10111,7 +11977,7 @@ public static Output getNetworkAcls(GetNetworkAclsArgs arg
      * import com.pulumi.Pulumi;
      * import com.pulumi.core.Output;
      * import com.pulumi.aws.ec2.Ec2Functions;
-     * import com.pulumi.aws.ec2.inputs.GetNetworkAclsArgs;
+     * import com.pulumi.aws.ec2.inputs.GetNetworkInsightsAnalysisArgs;
      * import java.util.List;
      * import java.util.ArrayList;
      * import java.util.Map;
@@ -10125,9 +11991,8 @@ public static Output getNetworkAcls(GetNetworkAclsArgs arg
      *     }
      * 
      *     public static void stack(Context ctx) {
-     *         final var example = Ec2Functions.getNetworkAcls(GetNetworkAclsArgs.builder()
-     *             .vpcId(vpcId)
-     *             .tags(Map.of("Tier", "Private"))
+     *         final var example = Ec2Functions.getNetworkInsightsAnalysis(GetNetworkInsightsAnalysisArgs.builder()
+     *             .networkInsightsAnalysisId(exampleAwsEc2NetworkInsightsAnalysis.id())
      *             .build());
      * 
      *     }
@@ -10136,8 +12001,14 @@ public static Output getNetworkAcls(GetNetworkAclsArgs arg
      * 
* <!--End PulumiCodeChooser --> * - * The following example retrieves a network ACL id in a VPC which associated - * with specific subnet. + */ + public static CompletableFuture getNetworkInsightsAnalysisPlain() { + return getNetworkInsightsAnalysisPlain(GetNetworkInsightsAnalysisPlainArgs.Empty, InvokeOptions.Empty); + } + /** + * `aws.ec2.NetworkInsightsAnalysis` provides details about a specific Network Insights Analysis. + * + * ## Example Usage * * <!--Start PulumiCodeChooser --> *
@@ -10148,7 +12019,7 @@ public static Output getNetworkAcls(GetNetworkAclsArgs arg
      * import com.pulumi.Pulumi;
      * import com.pulumi.core.Output;
      * import com.pulumi.aws.ec2.Ec2Functions;
-     * import com.pulumi.aws.ec2.inputs.GetNetworkAclsArgs;
+     * import com.pulumi.aws.ec2.inputs.GetNetworkInsightsAnalysisArgs;
      * import java.util.List;
      * import java.util.ArrayList;
      * import java.util.Map;
@@ -10162,12 +12033,8 @@ public static Output getNetworkAcls(GetNetworkAclsArgs arg
      *     }
      * 
      *     public static void stack(Context ctx) {
-     *         final var example = Ec2Functions.getNetworkAcls(GetNetworkAclsArgs.builder()
-     *             .vpcId(vpcId)
-     *             .filters(GetNetworkAclsFilterArgs.builder()
-     *                 .name("association.subnet-id")
-     *                 .values(test.id())
-     *                 .build())
+     *         final var example = Ec2Functions.getNetworkInsightsAnalysis(GetNetworkInsightsAnalysisArgs.builder()
+     *             .networkInsightsAnalysisId(exampleAwsEc2NetworkInsightsAnalysis.id())
      *             .build());
      * 
      *     }
@@ -10177,8 +12044,8 @@ public static Output getNetworkAcls(GetNetworkAclsArgs arg
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static CompletableFuture getNetworkAclsPlain(GetNetworkAclsPlainArgs args, InvokeOptions options) {
-        return Deployment.getInstance().invokeAsync("aws:ec2/getNetworkAcls:getNetworkAcls", TypeShape.of(GetNetworkAclsResult.class), args, Utilities.withVersion(options));
+    public static Output getNetworkInsightsAnalysis(GetNetworkInsightsAnalysisArgs args) {
+        return getNetworkInsightsAnalysis(args, InvokeOptions.Empty);
     }
     /**
      * `aws.ec2.NetworkInsightsAnalysis` provides details about a specific Network Insights Analysis.
@@ -10219,8 +12086,8 @@ public static CompletableFuture getNetworkAclsPlain(GetNet
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static Output getNetworkInsightsAnalysis() {
-        return getNetworkInsightsAnalysis(GetNetworkInsightsAnalysisArgs.Empty, InvokeOptions.Empty);
+    public static CompletableFuture getNetworkInsightsAnalysisPlain(GetNetworkInsightsAnalysisPlainArgs args) {
+        return getNetworkInsightsAnalysisPlain(args, InvokeOptions.Empty);
     }
     /**
      * `aws.ec2.NetworkInsightsAnalysis` provides details about a specific Network Insights Analysis.
@@ -10261,8 +12128,8 @@ public static Output getNetworkInsightsAnalysi
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static CompletableFuture getNetworkInsightsAnalysisPlain() {
-        return getNetworkInsightsAnalysisPlain(GetNetworkInsightsAnalysisPlainArgs.Empty, InvokeOptions.Empty);
+    public static Output getNetworkInsightsAnalysis(GetNetworkInsightsAnalysisArgs args, InvokeOptions options) {
+        return Deployment.getInstance().invoke("aws:ec2/getNetworkInsightsAnalysis:getNetworkInsightsAnalysis", TypeShape.of(GetNetworkInsightsAnalysisResult.class), args, Utilities.withVersion(options));
     }
     /**
      * `aws.ec2.NetworkInsightsAnalysis` provides details about a specific Network Insights Analysis.
@@ -10303,8 +12170,8 @@ public static CompletableFuture getNetworkInsi
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static Output getNetworkInsightsAnalysis(GetNetworkInsightsAnalysisArgs args) {
-        return getNetworkInsightsAnalysis(args, InvokeOptions.Empty);
+    public static Output getNetworkInsightsAnalysis(GetNetworkInsightsAnalysisArgs args, InvokeOutputOptions options) {
+        return Deployment.getInstance().invoke("aws:ec2/getNetworkInsightsAnalysis:getNetworkInsightsAnalysis", TypeShape.of(GetNetworkInsightsAnalysisResult.class), args, Utilities.withVersion(options));
     }
     /**
      * `aws.ec2.NetworkInsightsAnalysis` provides details about a specific Network Insights Analysis.
@@ -10345,11 +12212,11 @@ public static Output getNetworkInsightsAnalysi
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static CompletableFuture getNetworkInsightsAnalysisPlain(GetNetworkInsightsAnalysisPlainArgs args) {
-        return getNetworkInsightsAnalysisPlain(args, InvokeOptions.Empty);
+    public static CompletableFuture getNetworkInsightsAnalysisPlain(GetNetworkInsightsAnalysisPlainArgs args, InvokeOptions options) {
+        return Deployment.getInstance().invokeAsync("aws:ec2/getNetworkInsightsAnalysis:getNetworkInsightsAnalysis", TypeShape.of(GetNetworkInsightsAnalysisResult.class), args, Utilities.withVersion(options));
     }
     /**
-     * `aws.ec2.NetworkInsightsAnalysis` provides details about a specific Network Insights Analysis.
+     * `aws.ec2.NetworkInsightsPath` provides details about a specific Network Insights Path.
      * 
      * ## Example Usage
      * 
@@ -10362,7 +12229,7 @@ public static CompletableFuture getNetworkInsi
      * import com.pulumi.Pulumi;
      * import com.pulumi.core.Output;
      * import com.pulumi.aws.ec2.Ec2Functions;
-     * import com.pulumi.aws.ec2.inputs.GetNetworkInsightsAnalysisArgs;
+     * import com.pulumi.aws.ec2.inputs.GetNetworkInsightsPathArgs;
      * import java.util.List;
      * import java.util.ArrayList;
      * import java.util.Map;
@@ -10376,8 +12243,8 @@ public static CompletableFuture getNetworkInsi
      *     }
      * 
      *     public static void stack(Context ctx) {
-     *         final var example = Ec2Functions.getNetworkInsightsAnalysis(GetNetworkInsightsAnalysisArgs.builder()
-     *             .networkInsightsAnalysisId(exampleAwsEc2NetworkInsightsAnalysis.id())
+     *         final var example = Ec2Functions.getNetworkInsightsPath(GetNetworkInsightsPathArgs.builder()
+     *             .networkInsightsPathId(exampleAwsEc2NetworkInsightsPath.id())
      *             .build());
      * 
      *     }
@@ -10387,11 +12254,11 @@ public static CompletableFuture getNetworkInsi
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static Output getNetworkInsightsAnalysis(GetNetworkInsightsAnalysisArgs args, InvokeOptions options) {
-        return Deployment.getInstance().invoke("aws:ec2/getNetworkInsightsAnalysis:getNetworkInsightsAnalysis", TypeShape.of(GetNetworkInsightsAnalysisResult.class), args, Utilities.withVersion(options));
+    public static Output getNetworkInsightsPath() {
+        return getNetworkInsightsPath(GetNetworkInsightsPathArgs.Empty, InvokeOptions.Empty);
     }
     /**
-     * `aws.ec2.NetworkInsightsAnalysis` provides details about a specific Network Insights Analysis.
+     * `aws.ec2.NetworkInsightsPath` provides details about a specific Network Insights Path.
      * 
      * ## Example Usage
      * 
@@ -10404,7 +12271,133 @@ public static Output getNetworkInsightsAnalysi
      * import com.pulumi.Pulumi;
      * import com.pulumi.core.Output;
      * import com.pulumi.aws.ec2.Ec2Functions;
-     * import com.pulumi.aws.ec2.inputs.GetNetworkInsightsAnalysisArgs;
+     * import com.pulumi.aws.ec2.inputs.GetNetworkInsightsPathArgs;
+     * import java.util.List;
+     * import java.util.ArrayList;
+     * import java.util.Map;
+     * import java.io.File;
+     * import java.nio.file.Files;
+     * import java.nio.file.Paths;
+     * 
+     * public class App {
+     *     public static void main(String[] args) {
+     *         Pulumi.run(App::stack);
+     *     }
+     * 
+     *     public static void stack(Context ctx) {
+     *         final var example = Ec2Functions.getNetworkInsightsPath(GetNetworkInsightsPathArgs.builder()
+     *             .networkInsightsPathId(exampleAwsEc2NetworkInsightsPath.id())
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static CompletableFuture getNetworkInsightsPathPlain() { + return getNetworkInsightsPathPlain(GetNetworkInsightsPathPlainArgs.Empty, InvokeOptions.Empty); + } + /** + * `aws.ec2.NetworkInsightsPath` provides details about a specific Network Insights Path. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.ec2.Ec2Functions;
+     * import com.pulumi.aws.ec2.inputs.GetNetworkInsightsPathArgs;
+     * import java.util.List;
+     * import java.util.ArrayList;
+     * import java.util.Map;
+     * import java.io.File;
+     * import java.nio.file.Files;
+     * import java.nio.file.Paths;
+     * 
+     * public class App {
+     *     public static void main(String[] args) {
+     *         Pulumi.run(App::stack);
+     *     }
+     * 
+     *     public static void stack(Context ctx) {
+     *         final var example = Ec2Functions.getNetworkInsightsPath(GetNetworkInsightsPathArgs.builder()
+     *             .networkInsightsPathId(exampleAwsEc2NetworkInsightsPath.id())
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getNetworkInsightsPath(GetNetworkInsightsPathArgs args) { + return getNetworkInsightsPath(args, InvokeOptions.Empty); + } + /** + * `aws.ec2.NetworkInsightsPath` provides details about a specific Network Insights Path. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.ec2.Ec2Functions;
+     * import com.pulumi.aws.ec2.inputs.GetNetworkInsightsPathArgs;
+     * import java.util.List;
+     * import java.util.ArrayList;
+     * import java.util.Map;
+     * import java.io.File;
+     * import java.nio.file.Files;
+     * import java.nio.file.Paths;
+     * 
+     * public class App {
+     *     public static void main(String[] args) {
+     *         Pulumi.run(App::stack);
+     *     }
+     * 
+     *     public static void stack(Context ctx) {
+     *         final var example = Ec2Functions.getNetworkInsightsPath(GetNetworkInsightsPathArgs.builder()
+     *             .networkInsightsPathId(exampleAwsEc2NetworkInsightsPath.id())
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static CompletableFuture getNetworkInsightsPathPlain(GetNetworkInsightsPathPlainArgs args) { + return getNetworkInsightsPathPlain(args, InvokeOptions.Empty); + } + /** + * `aws.ec2.NetworkInsightsPath` provides details about a specific Network Insights Path. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.ec2.Ec2Functions;
+     * import com.pulumi.aws.ec2.inputs.GetNetworkInsightsPathArgs;
      * import java.util.List;
      * import java.util.ArrayList;
      * import java.util.Map;
@@ -10418,8 +12411,8 @@ public static Output getNetworkInsightsAnalysi
      *     }
      * 
      *     public static void stack(Context ctx) {
-     *         final var example = Ec2Functions.getNetworkInsightsAnalysis(GetNetworkInsightsAnalysisArgs.builder()
-     *             .networkInsightsAnalysisId(exampleAwsEc2NetworkInsightsAnalysis.id())
+     *         final var example = Ec2Functions.getNetworkInsightsPath(GetNetworkInsightsPathArgs.builder()
+     *             .networkInsightsPathId(exampleAwsEc2NetworkInsightsPath.id())
      *             .build());
      * 
      *     }
@@ -10429,8 +12422,8 @@ public static Output getNetworkInsightsAnalysi
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static CompletableFuture getNetworkInsightsAnalysisPlain(GetNetworkInsightsAnalysisPlainArgs args, InvokeOptions options) {
-        return Deployment.getInstance().invokeAsync("aws:ec2/getNetworkInsightsAnalysis:getNetworkInsightsAnalysis", TypeShape.of(GetNetworkInsightsAnalysisResult.class), args, Utilities.withVersion(options));
+    public static Output getNetworkInsightsPath(GetNetworkInsightsPathArgs args, InvokeOptions options) {
+        return Deployment.getInstance().invoke("aws:ec2/getNetworkInsightsPath:getNetworkInsightsPath", TypeShape.of(GetNetworkInsightsPathResult.class), args, Utilities.withVersion(options));
     }
     /**
      * `aws.ec2.NetworkInsightsPath` provides details about a specific Network Insights Path.
@@ -10471,8 +12464,8 @@ public static CompletableFuture getNetworkInsi
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static Output getNetworkInsightsPath() {
-        return getNetworkInsightsPath(GetNetworkInsightsPathArgs.Empty, InvokeOptions.Empty);
+    public static Output getNetworkInsightsPath(GetNetworkInsightsPathArgs args, InvokeOutputOptions options) {
+        return Deployment.getInstance().invoke("aws:ec2/getNetworkInsightsPath:getNetworkInsightsPath", TypeShape.of(GetNetworkInsightsPathResult.class), args, Utilities.withVersion(options));
     }
     /**
      * `aws.ec2.NetworkInsightsPath` provides details about a specific Network Insights Path.
@@ -10513,11 +12506,11 @@ public static Output getNetworkInsightsPath() {
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static CompletableFuture getNetworkInsightsPathPlain() {
-        return getNetworkInsightsPathPlain(GetNetworkInsightsPathPlainArgs.Empty, InvokeOptions.Empty);
+    public static CompletableFuture getNetworkInsightsPathPlain(GetNetworkInsightsPathPlainArgs args, InvokeOptions options) {
+        return Deployment.getInstance().invokeAsync("aws:ec2/getNetworkInsightsPath:getNetworkInsightsPath", TypeShape.of(GetNetworkInsightsPathResult.class), args, Utilities.withVersion(options));
     }
     /**
-     * `aws.ec2.NetworkInsightsPath` provides details about a specific Network Insights Path.
+     * Use this data source to get information about a Network Interface.
      * 
      * ## Example Usage
      * 
@@ -10530,7 +12523,7 @@ public static CompletableFuture getNetworkInsights
      * import com.pulumi.Pulumi;
      * import com.pulumi.core.Output;
      * import com.pulumi.aws.ec2.Ec2Functions;
-     * import com.pulumi.aws.ec2.inputs.GetNetworkInsightsPathArgs;
+     * import com.pulumi.aws.ec2.inputs.GetNetworkInterfaceArgs;
      * import java.util.List;
      * import java.util.ArrayList;
      * import java.util.Map;
@@ -10544,8 +12537,8 @@ public static CompletableFuture getNetworkInsights
      *     }
      * 
      *     public static void stack(Context ctx) {
-     *         final var example = Ec2Functions.getNetworkInsightsPath(GetNetworkInsightsPathArgs.builder()
-     *             .networkInsightsPathId(exampleAwsEc2NetworkInsightsPath.id())
+     *         final var bar = Ec2Functions.getNetworkInterface(GetNetworkInterfaceArgs.builder()
+     *             .id("eni-01234567")
      *             .build());
      * 
      *     }
@@ -10555,11 +12548,11 @@ public static CompletableFuture getNetworkInsights
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static Output getNetworkInsightsPath(GetNetworkInsightsPathArgs args) {
-        return getNetworkInsightsPath(args, InvokeOptions.Empty);
+    public static Output getNetworkInterface() {
+        return getNetworkInterface(GetNetworkInterfaceArgs.Empty, InvokeOptions.Empty);
     }
     /**
-     * `aws.ec2.NetworkInsightsPath` provides details about a specific Network Insights Path.
+     * Use this data source to get information about a Network Interface.
      * 
      * ## Example Usage
      * 
@@ -10572,7 +12565,7 @@ public static Output getNetworkInsightsPath(GetNet
      * import com.pulumi.Pulumi;
      * import com.pulumi.core.Output;
      * import com.pulumi.aws.ec2.Ec2Functions;
-     * import com.pulumi.aws.ec2.inputs.GetNetworkInsightsPathArgs;
+     * import com.pulumi.aws.ec2.inputs.GetNetworkInterfaceArgs;
      * import java.util.List;
      * import java.util.ArrayList;
      * import java.util.Map;
@@ -10586,8 +12579,8 @@ public static Output getNetworkInsightsPath(GetNet
      *     }
      * 
      *     public static void stack(Context ctx) {
-     *         final var example = Ec2Functions.getNetworkInsightsPath(GetNetworkInsightsPathArgs.builder()
-     *             .networkInsightsPathId(exampleAwsEc2NetworkInsightsPath.id())
+     *         final var bar = Ec2Functions.getNetworkInterface(GetNetworkInterfaceArgs.builder()
+     *             .id("eni-01234567")
      *             .build());
      * 
      *     }
@@ -10597,11 +12590,11 @@ public static Output getNetworkInsightsPath(GetNet
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static CompletableFuture getNetworkInsightsPathPlain(GetNetworkInsightsPathPlainArgs args) {
-        return getNetworkInsightsPathPlain(args, InvokeOptions.Empty);
+    public static CompletableFuture getNetworkInterfacePlain() {
+        return getNetworkInterfacePlain(GetNetworkInterfacePlainArgs.Empty, InvokeOptions.Empty);
     }
     /**
-     * `aws.ec2.NetworkInsightsPath` provides details about a specific Network Insights Path.
+     * Use this data source to get information about a Network Interface.
      * 
      * ## Example Usage
      * 
@@ -10614,7 +12607,7 @@ public static CompletableFuture getNetworkInsights
      * import com.pulumi.Pulumi;
      * import com.pulumi.core.Output;
      * import com.pulumi.aws.ec2.Ec2Functions;
-     * import com.pulumi.aws.ec2.inputs.GetNetworkInsightsPathArgs;
+     * import com.pulumi.aws.ec2.inputs.GetNetworkInterfaceArgs;
      * import java.util.List;
      * import java.util.ArrayList;
      * import java.util.Map;
@@ -10628,8 +12621,8 @@ public static CompletableFuture getNetworkInsights
      *     }
      * 
      *     public static void stack(Context ctx) {
-     *         final var example = Ec2Functions.getNetworkInsightsPath(GetNetworkInsightsPathArgs.builder()
-     *             .networkInsightsPathId(exampleAwsEc2NetworkInsightsPath.id())
+     *         final var bar = Ec2Functions.getNetworkInterface(GetNetworkInterfaceArgs.builder()
+     *             .id("eni-01234567")
      *             .build());
      * 
      *     }
@@ -10639,11 +12632,11 @@ public static CompletableFuture getNetworkInsights
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static Output getNetworkInsightsPath(GetNetworkInsightsPathArgs args, InvokeOptions options) {
-        return Deployment.getInstance().invoke("aws:ec2/getNetworkInsightsPath:getNetworkInsightsPath", TypeShape.of(GetNetworkInsightsPathResult.class), args, Utilities.withVersion(options));
+    public static Output getNetworkInterface(GetNetworkInterfaceArgs args) {
+        return getNetworkInterface(args, InvokeOptions.Empty);
     }
     /**
-     * `aws.ec2.NetworkInsightsPath` provides details about a specific Network Insights Path.
+     * Use this data source to get information about a Network Interface.
      * 
      * ## Example Usage
      * 
@@ -10656,7 +12649,7 @@ public static Output getNetworkInsightsPath(GetNet
      * import com.pulumi.Pulumi;
      * import com.pulumi.core.Output;
      * import com.pulumi.aws.ec2.Ec2Functions;
-     * import com.pulumi.aws.ec2.inputs.GetNetworkInsightsPathArgs;
+     * import com.pulumi.aws.ec2.inputs.GetNetworkInterfaceArgs;
      * import java.util.List;
      * import java.util.ArrayList;
      * import java.util.Map;
@@ -10670,8 +12663,8 @@ public static Output getNetworkInsightsPath(GetNet
      *     }
      * 
      *     public static void stack(Context ctx) {
-     *         final var example = Ec2Functions.getNetworkInsightsPath(GetNetworkInsightsPathArgs.builder()
-     *             .networkInsightsPathId(exampleAwsEc2NetworkInsightsPath.id())
+     *         final var bar = Ec2Functions.getNetworkInterface(GetNetworkInterfaceArgs.builder()
+     *             .id("eni-01234567")
      *             .build());
      * 
      *     }
@@ -10681,8 +12674,8 @@ public static Output getNetworkInsightsPath(GetNet
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static CompletableFuture getNetworkInsightsPathPlain(GetNetworkInsightsPathPlainArgs args, InvokeOptions options) {
-        return Deployment.getInstance().invokeAsync("aws:ec2/getNetworkInsightsPath:getNetworkInsightsPath", TypeShape.of(GetNetworkInsightsPathResult.class), args, Utilities.withVersion(options));
+    public static CompletableFuture getNetworkInterfacePlain(GetNetworkInterfacePlainArgs args) {
+        return getNetworkInterfacePlain(args, InvokeOptions.Empty);
     }
     /**
      * Use this data source to get information about a Network Interface.
@@ -10723,8 +12716,8 @@ public static CompletableFuture getNetworkInsights
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static Output getNetworkInterface() {
-        return getNetworkInterface(GetNetworkInterfaceArgs.Empty, InvokeOptions.Empty);
+    public static Output getNetworkInterface(GetNetworkInterfaceArgs args, InvokeOptions options) {
+        return Deployment.getInstance().invoke("aws:ec2/getNetworkInterface:getNetworkInterface", TypeShape.of(GetNetworkInterfaceResult.class), args, Utilities.withVersion(options));
     }
     /**
      * Use this data source to get information about a Network Interface.
@@ -10765,8 +12758,8 @@ public static Output getNetworkInterface() {
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static CompletableFuture getNetworkInterfacePlain() {
-        return getNetworkInterfacePlain(GetNetworkInterfacePlainArgs.Empty, InvokeOptions.Empty);
+    public static Output getNetworkInterface(GetNetworkInterfaceArgs args, InvokeOutputOptions options) {
+        return Deployment.getInstance().invoke("aws:ec2/getNetworkInterface:getNetworkInterface", TypeShape.of(GetNetworkInterfaceResult.class), args, Utilities.withVersion(options));
     }
     /**
      * Use this data source to get information about a Network Interface.
@@ -10807,14 +12800,14 @@ public static CompletableFuture getNetworkInterfacePl
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static Output getNetworkInterface(GetNetworkInterfaceArgs args) {
-        return getNetworkInterface(args, InvokeOptions.Empty);
+    public static CompletableFuture getNetworkInterfacePlain(GetNetworkInterfacePlainArgs args, InvokeOptions options) {
+        return Deployment.getInstance().invokeAsync("aws:ec2/getNetworkInterface:getNetworkInterface", TypeShape.of(GetNetworkInterfaceResult.class), args, Utilities.withVersion(options));
     }
     /**
-     * Use this data source to get information about a Network Interface.
-     * 
      * ## Example Usage
      * 
+     * The following shows outputting all network interface ids in a region.
+     * 
      * <!--Start PulumiCodeChooser -->
      * 
      * {@code
@@ -10824,7 +12817,7 @@ public static Output getNetworkInterface(GetNetworkIn
      * import com.pulumi.Pulumi;
      * import com.pulumi.core.Output;
      * import com.pulumi.aws.ec2.Ec2Functions;
-     * import com.pulumi.aws.ec2.inputs.GetNetworkInterfaceArgs;
+     * import com.pulumi.aws.ec2.inputs.GetNetworkInterfacesArgs;
      * import java.util.List;
      * import java.util.ArrayList;
      * import java.util.Map;
@@ -10838,24 +12831,16 @@ public static Output getNetworkInterface(GetNetworkIn
      *     }
      * 
      *     public static void stack(Context ctx) {
-     *         final var bar = Ec2Functions.getNetworkInterface(GetNetworkInterfaceArgs.builder()
-     *             .id("eni-01234567")
-     *             .build());
+     *         final var example = Ec2Functions.getNetworkInterfaces();
      * 
+     *         ctx.export("example", example.applyValue(getNetworkInterfacesResult -> getNetworkInterfacesResult.ids()));
      *     }
      * }
      * }
      * 
* <!--End PulumiCodeChooser --> * - */ - public static CompletableFuture getNetworkInterfacePlain(GetNetworkInterfacePlainArgs args) { - return getNetworkInterfacePlain(args, InvokeOptions.Empty); - } - /** - * Use this data source to get information about a Network Interface. - * - * ## Example Usage + * The following example retrieves a list of all network interface ids with a custom tag of `Name` set to a value of `test`. * * <!--Start PulumiCodeChooser --> *
@@ -10866,7 +12851,7 @@ public static CompletableFuture getNetworkInterfacePl
      * import com.pulumi.Pulumi;
      * import com.pulumi.core.Output;
      * import com.pulumi.aws.ec2.Ec2Functions;
-     * import com.pulumi.aws.ec2.inputs.GetNetworkInterfaceArgs;
+     * import com.pulumi.aws.ec2.inputs.GetNetworkInterfacesArgs;
      * import java.util.List;
      * import java.util.ArrayList;
      * import java.util.Map;
@@ -10880,24 +12865,19 @@ public static CompletableFuture getNetworkInterfacePl
      *     }
      * 
      *     public static void stack(Context ctx) {
-     *         final var bar = Ec2Functions.getNetworkInterface(GetNetworkInterfaceArgs.builder()
-     *             .id("eni-01234567")
+     *         final var example = Ec2Functions.getNetworkInterfaces(GetNetworkInterfacesArgs.builder()
+     *             .tags(Map.of("Name", "test"))
      *             .build());
      * 
+     *         ctx.export("example1", example.applyValue(getNetworkInterfacesResult -> getNetworkInterfacesResult.ids()));
      *     }
      * }
      * }
      * 
* <!--End PulumiCodeChooser --> * - */ - public static Output getNetworkInterface(GetNetworkInterfaceArgs args, InvokeOptions options) { - return Deployment.getInstance().invoke("aws:ec2/getNetworkInterface:getNetworkInterface", TypeShape.of(GetNetworkInterfaceResult.class), args, Utilities.withVersion(options)); - } - /** - * Use this data source to get information about a Network Interface. - * - * ## Example Usage + * The following example retrieves a network interface ids which associated + * with specific subnet. * * <!--Start PulumiCodeChooser --> *
@@ -10908,7 +12888,7 @@ public static Output getNetworkInterface(GetNetworkIn
      * import com.pulumi.Pulumi;
      * import com.pulumi.core.Output;
      * import com.pulumi.aws.ec2.Ec2Functions;
-     * import com.pulumi.aws.ec2.inputs.GetNetworkInterfaceArgs;
+     * import com.pulumi.aws.ec2.inputs.GetNetworkInterfacesArgs;
      * import java.util.List;
      * import java.util.ArrayList;
      * import java.util.Map;
@@ -10922,10 +12902,14 @@ public static Output getNetworkInterface(GetNetworkIn
      *     }
      * 
      *     public static void stack(Context ctx) {
-     *         final var bar = Ec2Functions.getNetworkInterface(GetNetworkInterfaceArgs.builder()
-     *             .id("eni-01234567")
+     *         final var example = Ec2Functions.getNetworkInterfaces(GetNetworkInterfacesArgs.builder()
+     *             .filters(GetNetworkInterfacesFilterArgs.builder()
+     *                 .name("subnet-id")
+     *                 .values(test.id())
+     *                 .build())
      *             .build());
      * 
+     *         ctx.export("example", example.applyValue(getNetworkInterfacesResult -> getNetworkInterfacesResult.ids()));
      *     }
      * }
      * }
@@ -10933,8 +12917,8 @@ public static Output getNetworkInterface(GetNetworkIn
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static CompletableFuture getNetworkInterfacePlain(GetNetworkInterfacePlainArgs args, InvokeOptions options) {
-        return Deployment.getInstance().invokeAsync("aws:ec2/getNetworkInterface:getNetworkInterface", TypeShape.of(GetNetworkInterfaceResult.class), args, Utilities.withVersion(options));
+    public static Output getNetworkInterfaces() {
+        return getNetworkInterfaces(GetNetworkInterfacesArgs.Empty, InvokeOptions.Empty);
     }
     /**
      * ## Example Usage
@@ -11050,8 +13034,8 @@ public static CompletableFuture getNetworkInterfacePl
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static Output getNetworkInterfaces() {
-        return getNetworkInterfaces(GetNetworkInterfacesArgs.Empty, InvokeOptions.Empty);
+    public static CompletableFuture getNetworkInterfacesPlain() {
+        return getNetworkInterfacesPlain(GetNetworkInterfacesPlainArgs.Empty, InvokeOptions.Empty);
     }
     /**
      * ## Example Usage
@@ -11167,8 +13151,8 @@ public static Output getNetworkInterfaces() {
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static CompletableFuture getNetworkInterfacesPlain() {
-        return getNetworkInterfacesPlain(GetNetworkInterfacesPlainArgs.Empty, InvokeOptions.Empty);
+    public static Output getNetworkInterfaces(GetNetworkInterfacesArgs args) {
+        return getNetworkInterfaces(args, InvokeOptions.Empty);
     }
     /**
      * ## Example Usage
@@ -11284,8 +13268,8 @@ public static CompletableFuture getNetworkInterfaces
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static Output getNetworkInterfaces(GetNetworkInterfacesArgs args) {
-        return getNetworkInterfaces(args, InvokeOptions.Empty);
+    public static CompletableFuture getNetworkInterfacesPlain(GetNetworkInterfacesPlainArgs args) {
+        return getNetworkInterfacesPlain(args, InvokeOptions.Empty);
     }
     /**
      * ## Example Usage
@@ -11401,8 +13385,8 @@ public static Output getNetworkInterfaces(GetNetwork
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static CompletableFuture getNetworkInterfacesPlain(GetNetworkInterfacesPlainArgs args) {
-        return getNetworkInterfacesPlain(args, InvokeOptions.Empty);
+    public static Output getNetworkInterfaces(GetNetworkInterfacesArgs args, InvokeOptions options) {
+        return Deployment.getInstance().invoke("aws:ec2/getNetworkInterfaces:getNetworkInterfaces", TypeShape.of(GetNetworkInterfacesResult.class), args, Utilities.withVersion(options));
     }
     /**
      * ## Example Usage
@@ -11518,7 +13502,7 @@ public static CompletableFuture getNetworkInterfaces
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static Output getNetworkInterfaces(GetNetworkInterfacesArgs args, InvokeOptions options) {
+    public static Output getNetworkInterfaces(GetNetworkInterfacesArgs args, InvokeOutputOptions options) {
         return Deployment.getInstance().invoke("aws:ec2/getNetworkInterfaces:getNetworkInterfaces", TypeShape.of(GetNetworkInterfacesResult.class), args, Utilities.withVersion(options));
     }
     /**
@@ -11635,8 +13619,122 @@ public static Output getNetworkInterfaces(GetNetwork
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static CompletableFuture getNetworkInterfacesPlain(GetNetworkInterfacesPlainArgs args, InvokeOptions options) {
-        return Deployment.getInstance().invokeAsync("aws:ec2/getNetworkInterfaces:getNetworkInterfaces", TypeShape.of(GetNetworkInterfacesResult.class), args, Utilities.withVersion(options));
+    public static CompletableFuture getNetworkInterfacesPlain(GetNetworkInterfacesPlainArgs args, InvokeOptions options) {
+        return Deployment.getInstance().invokeAsync("aws:ec2/getNetworkInterfaces:getNetworkInterfaces", TypeShape.of(GetNetworkInterfacesResult.class), args, Utilities.withVersion(options));
+    }
+    /**
+     * `aws.ec2.getPrefixList` provides details about a specific AWS prefix list (PL)
+     * in the current region.
+     * 
+     * This can be used both to validate a prefix list given in a variable
+     * and to obtain the CIDR blocks (IP address ranges) for the associated
+     * AWS service. The latter may be useful e.g., for adding network ACL
+     * rules.
+     * 
+     * The aws.ec2.ManagedPrefixList data source is normally more appropriate to use given it can return customer-managed prefix list info, as well as additional attributes.
+     * 
+     * ## Example Usage
+     * 
+     * <!--Start PulumiCodeChooser -->
+     * 
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.ec2.VpcEndpoint;
+     * import com.pulumi.aws.ec2.VpcEndpointArgs;
+     * import com.pulumi.aws.ec2.Ec2Functions;
+     * import com.pulumi.aws.ec2.inputs.GetPrefixListArgs;
+     * import com.pulumi.aws.ec2.NetworkAcl;
+     * import com.pulumi.aws.ec2.NetworkAclArgs;
+     * import com.pulumi.aws.ec2.NetworkAclRule;
+     * import com.pulumi.aws.ec2.NetworkAclRuleArgs;
+     * 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 privateS3VpcEndpoint = new VpcEndpoint("privateS3VpcEndpoint", VpcEndpointArgs.builder()
+     *             .vpcId(foo.id())
+     *             .serviceName("com.amazonaws.us-west-2.s3")
+     *             .build());
+     * 
+     *         final var privateS3 = Ec2Functions.getPrefixList(GetPrefixListArgs.builder()
+     *             .prefixListId(privateS3VpcEndpoint.prefixListId())
+     *             .build());
+     * 
+     *         var bar = new NetworkAcl("bar", NetworkAclArgs.builder()
+     *             .vpcId(foo.id())
+     *             .build());
+     * 
+     *         var privateS3NetworkAclRule = new NetworkAclRule("privateS3NetworkAclRule", NetworkAclRuleArgs.builder()
+     *             .networkAclId(bar.id())
+     *             .ruleNumber(200)
+     *             .egress(false)
+     *             .protocol("tcp")
+     *             .ruleAction("allow")
+     *             .cidrBlock(privateS3.applyValue(getPrefixListResult -> getPrefixListResult).applyValue(privateS3 -> privateS3.applyValue(getPrefixListResult -> getPrefixListResult.cidrBlocks()[0])))
+     *             .fromPort(443)
+     *             .toPort(443)
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + * ### Filter + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.ec2.Ec2Functions;
+     * import com.pulumi.aws.ec2.inputs.GetPrefixListArgs;
+     * 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 test = Ec2Functions.getPrefixList(GetPrefixListArgs.builder()
+     *             .filters(GetPrefixListFilterArgs.builder()
+     *                 .name("prefix-list-id")
+     *                 .values("pl-68a54001")
+     *                 .build())
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getPrefixList() { + return getPrefixList(GetPrefixListArgs.Empty, InvokeOptions.Empty); } /** * `aws.ec2.getPrefixList` provides details about a specific AWS prefix list (PL) @@ -11749,8 +13847,8 @@ public static CompletableFuture getNetworkInterfaces * <!--End PulumiCodeChooser --> * */ - public static Output getPrefixList() { - return getPrefixList(GetPrefixListArgs.Empty, InvokeOptions.Empty); + public static CompletableFuture getPrefixListPlain() { + return getPrefixListPlain(GetPrefixListPlainArgs.Empty, InvokeOptions.Empty); } /** * `aws.ec2.getPrefixList` provides details about a specific AWS prefix list (PL) @@ -11863,8 +13961,8 @@ public static Output getPrefixList() { * <!--End PulumiCodeChooser --> * */ - public static CompletableFuture getPrefixListPlain() { - return getPrefixListPlain(GetPrefixListPlainArgs.Empty, InvokeOptions.Empty); + public static Output getPrefixList(GetPrefixListArgs args) { + return getPrefixList(args, InvokeOptions.Empty); } /** * `aws.ec2.getPrefixList` provides details about a specific AWS prefix list (PL) @@ -11977,8 +14075,8 @@ public static CompletableFuture getPrefixListPlain() { * <!--End PulumiCodeChooser --> * */ - public static Output getPrefixList(GetPrefixListArgs args) { - return getPrefixList(args, InvokeOptions.Empty); + public static CompletableFuture getPrefixListPlain(GetPrefixListPlainArgs args) { + return getPrefixListPlain(args, InvokeOptions.Empty); } /** * `aws.ec2.getPrefixList` provides details about a specific AWS prefix list (PL) @@ -12091,8 +14189,8 @@ public static Output getPrefixList(GetPrefixListArgs args) * <!--End PulumiCodeChooser --> * */ - public static CompletableFuture getPrefixListPlain(GetPrefixListPlainArgs args) { - return getPrefixListPlain(args, InvokeOptions.Empty); + public static Output getPrefixList(GetPrefixListArgs args, InvokeOptions options) { + return Deployment.getInstance().invoke("aws:ec2/getPrefixList:getPrefixList", TypeShape.of(GetPrefixListResult.class), args, Utilities.withVersion(options)); } /** * `aws.ec2.getPrefixList` provides details about a specific AWS prefix list (PL) @@ -12205,7 +14303,7 @@ public static CompletableFuture getPrefixListPlain(GetPrefi * <!--End PulumiCodeChooser --> * */ - public static Output getPrefixList(GetPrefixListArgs args, InvokeOptions options) { + public static Output getPrefixList(GetPrefixListArgs args, InvokeOutputOptions options) { return Deployment.getInstance().invoke("aws:ec2/getPrefixList:getPrefixList", TypeShape.of(GetPrefixListResult.class), args, Utilities.withVersion(options)); } /** @@ -12454,6 +14552,50 @@ public static CompletableFuture getPublicIpv4PoolPlain( public static Output getPublicIpv4Pool(GetPublicIpv4PoolArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:ec2/getPublicIpv4Pool:getPublicIpv4Pool", TypeShape.of(GetPublicIpv4PoolResult.class), args, Utilities.withVersion(options)); } + /** + * Provides details about a specific AWS EC2 Public IPv4 Pool. + * + * ## Example Usage + * + * ### Basic Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.ec2.Ec2Functions;
+     * import com.pulumi.aws.ec2.inputs.GetPublicIpv4PoolArgs;
+     * import java.util.List;
+     * import java.util.ArrayList;
+     * import java.util.Map;
+     * import java.io.File;
+     * import java.nio.file.Files;
+     * import java.nio.file.Paths;
+     * 
+     * public class App {
+     *     public static void main(String[] args) {
+     *         Pulumi.run(App::stack);
+     *     }
+     * 
+     *     public static void stack(Context ctx) {
+     *         final var example = Ec2Functions.getPublicIpv4Pool(GetPublicIpv4PoolArgs.builder()
+     *             .poolId("ipv4pool-ec2-000df99cff0c1ec10")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getPublicIpv4Pool(GetPublicIpv4PoolArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:ec2/getPublicIpv4Pool:getPublicIpv4Pool", TypeShape.of(GetPublicIpv4PoolResult.class), args, Utilities.withVersion(options)); + } /** * Provides details about a specific AWS EC2 Public IPv4 Pool. * @@ -12981,8 +15123,207 @@ public static Output getPublicIpv4Pools(GetPublicIpv4P * <!--End PulumiCodeChooser --> * */ - public static CompletableFuture getPublicIpv4PoolsPlain(GetPublicIpv4PoolsPlainArgs args, InvokeOptions options) { - return Deployment.getInstance().invokeAsync("aws:ec2/getPublicIpv4Pools:getPublicIpv4Pools", TypeShape.of(GetPublicIpv4PoolsResult.class), args, Utilities.withVersion(options)); + public static Output getPublicIpv4Pools(GetPublicIpv4PoolsArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:ec2/getPublicIpv4Pools:getPublicIpv4Pools", TypeShape.of(GetPublicIpv4PoolsResult.class), args, Utilities.withVersion(options)); + } + /** + * Data source for getting information about AWS EC2 Public IPv4 Pools. + * + * ## Example Usage + * + * ### Basic Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.ec2.Ec2Functions;
+     * import com.pulumi.aws.ec2.inputs.GetPublicIpv4PoolsArgs;
+     * 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) {
+     *         // Returns all public IPv4 pools.
+     *         final var example = Ec2Functions.getPublicIpv4Pools();
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + * ### Usage with Filter + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.ec2.Ec2Functions;
+     * import com.pulumi.aws.ec2.inputs.GetPublicIpv4PoolsArgs;
+     * import java.util.List;
+     * import java.util.ArrayList;
+     * import java.util.Map;
+     * import java.io.File;
+     * import java.nio.file.Files;
+     * import java.nio.file.Paths;
+     * 
+     * public class App {
+     *     public static void main(String[] args) {
+     *         Pulumi.run(App::stack);
+     *     }
+     * 
+     *     public static void stack(Context ctx) {
+     *         final var example = Ec2Functions.getPublicIpv4Pools(GetPublicIpv4PoolsArgs.builder()
+     *             .filters(GetPublicIpv4PoolsFilterArgs.builder()
+     *                 .name("tag-key")
+     *                 .values("ExampleTagKey")
+     *                 .build())
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static CompletableFuture getPublicIpv4PoolsPlain(GetPublicIpv4PoolsPlainArgs args, InvokeOptions options) { + return Deployment.getInstance().invokeAsync("aws:ec2/getPublicIpv4Pools:getPublicIpv4Pools", TypeShape.of(GetPublicIpv4PoolsResult.class), args, Utilities.withVersion(options)); + } + /** + * `aws.ec2.Route` provides details about a specific Route. + * + * This resource can prove useful when finding the resource associated with a CIDR. For example, finding the peering connection associated with a CIDR value. + * + * ## Example Usage + * + * The following example shows how one might use a CIDR value to find a network interface id and use this to create a data source of that network interface. + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.ec2.Ec2Functions;
+     * import com.pulumi.aws.ec2.inputs.GetRouteTableArgs;
+     * import com.pulumi.aws.ec2.inputs.GetRouteArgs;
+     * import com.pulumi.aws.ec2.inputs.GetNetworkInterfaceArgs;
+     * import java.util.List;
+     * import java.util.ArrayList;
+     * import java.util.Map;
+     * import java.io.File;
+     * import java.nio.file.Files;
+     * import java.nio.file.Paths;
+     * 
+     * public class App {
+     *     public static void main(String[] args) {
+     *         Pulumi.run(App::stack);
+     *     }
+     * 
+     *     public static void stack(Context ctx) {
+     *         final var config = ctx.config();
+     *         final var subnetId = config.get("subnetId");
+     *         final var selected = Ec2Functions.getRouteTable(GetRouteTableArgs.builder()
+     *             .subnetId(subnetId)
+     *             .build());
+     * 
+     *         final var route = Ec2Functions.getRoute(GetRouteArgs.builder()
+     *             .routeTableId(selectedAwsRouteTable.id())
+     *             .destinationCidrBlock("10.0.1.0/24")
+     *             .build());
+     * 
+     *         final var interface = Ec2Functions.getNetworkInterface(GetNetworkInterfaceArgs.builder()
+     *             .id(route.applyValue(getRouteResult -> getRouteResult.networkInterfaceId()))
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getRoute(GetRouteArgs args) { + return getRoute(args, InvokeOptions.Empty); + } + /** + * `aws.ec2.Route` provides details about a specific Route. + * + * This resource can prove useful when finding the resource associated with a CIDR. For example, finding the peering connection associated with a CIDR value. + * + * ## Example Usage + * + * The following example shows how one might use a CIDR value to find a network interface id and use this to create a data source of that network interface. + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.ec2.Ec2Functions;
+     * import com.pulumi.aws.ec2.inputs.GetRouteTableArgs;
+     * import com.pulumi.aws.ec2.inputs.GetRouteArgs;
+     * import com.pulumi.aws.ec2.inputs.GetNetworkInterfaceArgs;
+     * import java.util.List;
+     * import java.util.ArrayList;
+     * import java.util.Map;
+     * import java.io.File;
+     * import java.nio.file.Files;
+     * import java.nio.file.Paths;
+     * 
+     * public class App {
+     *     public static void main(String[] args) {
+     *         Pulumi.run(App::stack);
+     *     }
+     * 
+     *     public static void stack(Context ctx) {
+     *         final var config = ctx.config();
+     *         final var subnetId = config.get("subnetId");
+     *         final var selected = Ec2Functions.getRouteTable(GetRouteTableArgs.builder()
+     *             .subnetId(subnetId)
+     *             .build());
+     * 
+     *         final var route = Ec2Functions.getRoute(GetRouteArgs.builder()
+     *             .routeTableId(selectedAwsRouteTable.id())
+     *             .destinationCidrBlock("10.0.1.0/24")
+     *             .build());
+     * 
+     *         final var interface = Ec2Functions.getNetworkInterface(GetNetworkInterfaceArgs.builder()
+     *             .id(route.applyValue(getRouteResult -> getRouteResult.networkInterfaceId()))
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static CompletableFuture getRoutePlain(GetRoutePlainArgs args) { + return getRoutePlain(args, InvokeOptions.Empty); } /** * `aws.ec2.Route` provides details about a specific Route. @@ -13040,8 +15381,8 @@ public static CompletableFuture getPublicIpv4PoolsPlai * <!--End PulumiCodeChooser --> * */ - public static Output getRoute(GetRouteArgs args) { - return getRoute(args, InvokeOptions.Empty); + public static Output getRoute(GetRouteArgs args, InvokeOptions options) { + return Deployment.getInstance().invoke("aws:ec2/getRoute:getRoute", TypeShape.of(GetRouteResult.class), args, Utilities.withVersion(options)); } /** * `aws.ec2.Route` provides details about a specific Route. @@ -13099,8 +15440,8 @@ public static Output getRoute(GetRouteArgs args) { * <!--End PulumiCodeChooser --> * */ - public static CompletableFuture getRoutePlain(GetRoutePlainArgs args) { - return getRoutePlain(args, InvokeOptions.Empty); + public static Output getRoute(GetRouteArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:ec2/getRoute:getRoute", TypeShape.of(GetRouteResult.class), args, Utilities.withVersion(options)); } /** * `aws.ec2.Route` provides details about a specific Route. @@ -13158,17 +15499,17 @@ public static CompletableFuture getRoutePlain(GetRoutePlainArgs * <!--End PulumiCodeChooser --> * */ - public static Output getRoute(GetRouteArgs args, InvokeOptions options) { - return Deployment.getInstance().invoke("aws:ec2/getRoute:getRoute", TypeShape.of(GetRouteResult.class), args, Utilities.withVersion(options)); + public static CompletableFuture getRoutePlain(GetRoutePlainArgs args, InvokeOptions options) { + return Deployment.getInstance().invokeAsync("aws:ec2/getRoute:getRoute", TypeShape.of(GetRouteResult.class), args, Utilities.withVersion(options)); } /** - * `aws.ec2.Route` provides details about a specific Route. + * `aws.ec2.RouteTable` provides details about a specific Route Table. * - * This resource can prove useful when finding the resource associated with a CIDR. For example, finding the peering connection associated with a CIDR value. + * This resource can prove useful when a module accepts a Subnet ID as an input variable and needs to, for example, add a route in the Route Table. * * ## Example Usage * - * The following example shows how one might use a CIDR value to find a network interface id and use this to create a data source of that network interface. + * The following example shows how one might accept a Route Table ID as a variable and use this data source to obtain the data necessary to create a route. * * <!--Start PulumiCodeChooser --> *
@@ -13180,8 +15521,8 @@ public static Output getRoute(GetRouteArgs args, InvokeOptions o
      * import com.pulumi.core.Output;
      * import com.pulumi.aws.ec2.Ec2Functions;
      * import com.pulumi.aws.ec2.inputs.GetRouteTableArgs;
-     * import com.pulumi.aws.ec2.inputs.GetRouteArgs;
-     * import com.pulumi.aws.ec2.inputs.GetNetworkInterfaceArgs;
+     * import com.pulumi.aws.ec2.Route;
+     * import com.pulumi.aws.ec2.RouteArgs;
      * import java.util.List;
      * import java.util.ArrayList;
      * import java.util.Map;
@@ -13201,13 +15542,10 @@ public static Output getRoute(GetRouteArgs args, InvokeOptions o
      *             .subnetId(subnetId)
      *             .build());
      * 
-     *         final var route = Ec2Functions.getRoute(GetRouteArgs.builder()
-     *             .routeTableId(selectedAwsRouteTable.id())
-     *             .destinationCidrBlock("10.0.1.0/24")
-     *             .build());
-     * 
-     *         final var interface = Ec2Functions.getNetworkInterface(GetNetworkInterfaceArgs.builder()
-     *             .id(route.applyValue(getRouteResult -> getRouteResult.networkInterfaceId()))
+     *         var route = new Route("route", RouteArgs.builder()
+     *             .routeTableId(selected.applyValue(getRouteTableResult -> getRouteTableResult.id()))
+     *             .destinationCidrBlock("10.0.1.0/22")
+     *             .vpcPeeringConnectionId("pcx-45ff3dc1")
      *             .build());
      * 
      *     }
@@ -13217,8 +15555,8 @@ public static Output getRoute(GetRouteArgs args, InvokeOptions o
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static CompletableFuture getRoutePlain(GetRoutePlainArgs args, InvokeOptions options) {
-        return Deployment.getInstance().invokeAsync("aws:ec2/getRoute:getRoute", TypeShape.of(GetRouteResult.class), args, Utilities.withVersion(options));
+    public static Output getRouteTable() {
+        return getRouteTable(GetRouteTableArgs.Empty, InvokeOptions.Empty);
     }
     /**
      * `aws.ec2.RouteTable` provides details about a specific Route Table.
@@ -13273,8 +15611,8 @@ public static CompletableFuture getRoutePlain(GetRoutePlainArgs
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static Output getRouteTable() {
-        return getRouteTable(GetRouteTableArgs.Empty, InvokeOptions.Empty);
+    public static CompletableFuture getRouteTablePlain() {
+        return getRouteTablePlain(GetRouteTablePlainArgs.Empty, InvokeOptions.Empty);
     }
     /**
      * `aws.ec2.RouteTable` provides details about a specific Route Table.
@@ -13329,8 +15667,8 @@ public static Output getRouteTable() {
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static CompletableFuture getRouteTablePlain() {
-        return getRouteTablePlain(GetRouteTablePlainArgs.Empty, InvokeOptions.Empty);
+    public static Output getRouteTable(GetRouteTableArgs args) {
+        return getRouteTable(args, InvokeOptions.Empty);
     }
     /**
      * `aws.ec2.RouteTable` provides details about a specific Route Table.
@@ -13385,8 +15723,8 @@ public static CompletableFuture getRouteTablePlain() {
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static Output getRouteTable(GetRouteTableArgs args) {
-        return getRouteTable(args, InvokeOptions.Empty);
+    public static CompletableFuture getRouteTablePlain(GetRouteTablePlainArgs args) {
+        return getRouteTablePlain(args, InvokeOptions.Empty);
     }
     /**
      * `aws.ec2.RouteTable` provides details about a specific Route Table.
@@ -13441,8 +15779,8 @@ public static Output getRouteTable(GetRouteTableArgs args)
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static CompletableFuture getRouteTablePlain(GetRouteTablePlainArgs args) {
-        return getRouteTablePlain(args, InvokeOptions.Empty);
+    public static Output getRouteTable(GetRouteTableArgs args, InvokeOptions options) {
+        return Deployment.getInstance().invoke("aws:ec2/getRouteTable:getRouteTable", TypeShape.of(GetRouteTableResult.class), args, Utilities.withVersion(options));
     }
     /**
      * `aws.ec2.RouteTable` provides details about a specific Route Table.
@@ -13497,7 +15835,7 @@ public static CompletableFuture getRouteTablePlain(GetRoute
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static Output getRouteTable(GetRouteTableArgs args, InvokeOptions options) {
+    public static Output getRouteTable(GetRouteTableArgs args, InvokeOutputOptions options) {
         return Deployment.getInstance().invoke("aws:ec2/getRouteTable:getRouteTable", TypeShape.of(GetRouteTableResult.class), args, Utilities.withVersion(options));
     }
     /**
@@ -13866,6 +16204,68 @@ public static CompletableFuture getRouteTablesPlain(GetRou
     public static Output getRouteTables(GetRouteTablesArgs args, InvokeOptions options) {
         return Deployment.getInstance().invoke("aws:ec2/getRouteTables:getRouteTables", TypeShape.of(GetRouteTablesResult.class), args, Utilities.withVersion(options));
     }
+    /**
+     * This resource can be useful for getting back a list of route table ids to be referenced elsewhere.
+     * 
+     * ## Example Usage
+     * 
+     * The following adds a route for a particular cidr block to every (private
+     * kops) route table in a specified vpc to use a particular vpc peering
+     * connection.
+     * 
+     * <!--Start PulumiCodeChooser -->
+     * 
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.ec2.Ec2Functions;
+     * import com.pulumi.aws.ec2.inputs.GetRouteTablesArgs;
+     * import com.pulumi.aws.ec2.Route;
+     * import com.pulumi.aws.ec2.RouteArgs;
+     * import com.pulumi.codegen.internal.KeyedValue;
+     * 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 rts = Ec2Functions.getRouteTables(GetRouteTablesArgs.builder()
+     *             .vpcId(vpcId)
+     *             .filters(GetRouteTablesFilterArgs.builder()
+     *                 .name("tag:kubernetes.io/kops/role")
+     *                 .values("private*")
+     *                 .build())
+     *             .build());
+     * 
+     *         for (var i = 0; i < rts.applyValue(getRouteTablesResult -> getRouteTablesResult.ids()).length(); i++) {
+     *             new Route("r-" + i, RouteArgs.builder()
+     *                 .routeTableId(rts.applyValue(getRouteTablesResult -> getRouteTablesResult.ids())[range.value()])
+     *                 .destinationCidrBlock("10.0.0.0/22")
+     *                 .vpcPeeringConnectionId("pcx-0e9a7a9ecd137dc54")
+     *                 .build());
+     * 
+     *         
+     * }
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getRouteTables(GetRouteTablesArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:ec2/getRouteTables:getRouteTables", TypeShape.of(GetRouteTablesResult.class), args, Utilities.withVersion(options)); + } /** * This resource can be useful for getting back a list of route table ids to be referenced elsewhere. * @@ -14261,9 +16661,153 @@ public static Output getSecurityGroup(GetSecurityGroupAr * .id(securityGroupId) * .build()); * - * var subnet = new Subnet("subnet", SubnetArgs.builder() - * .vpcId(selected.applyValue(getSecurityGroupResult -> getSecurityGroupResult.vpcId())) - * .cidrBlock("10.0.1.0/24") + * var subnet = new Subnet("subnet", SubnetArgs.builder() + * .vpcId(selected.applyValue(getSecurityGroupResult -> getSecurityGroupResult.vpcId())) + * .cidrBlock("10.0.1.0/24") + * .build()); + * + * } + * } + * } + *
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getSecurityGroup(GetSecurityGroupArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:ec2/getSecurityGroup:getSecurityGroup", TypeShape.of(GetSecurityGroupResult.class), args, Utilities.withVersion(options)); + } + /** + * `aws.ec2.SecurityGroup` provides details about a specific Security Group. + * + * This resource can prove useful when a module accepts a Security Group id as + * an input variable and needs to, for example, determine the id of the + * VPC that the security group belongs to. + * + * ## Example Usage + * + * The following example shows how one might accept a Security Group id as a variable + * and use this data source to obtain the data necessary to create a subnet. + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.ec2.Ec2Functions;
+     * import com.pulumi.aws.ec2.inputs.GetSecurityGroupArgs;
+     * import com.pulumi.aws.ec2.Subnet;
+     * import com.pulumi.aws.ec2.SubnetArgs;
+     * import java.util.List;
+     * import java.util.ArrayList;
+     * import java.util.Map;
+     * import java.io.File;
+     * import java.nio.file.Files;
+     * import java.nio.file.Paths;
+     * 
+     * public class App {
+     *     public static void main(String[] args) {
+     *         Pulumi.run(App::stack);
+     *     }
+     * 
+     *     public static void stack(Context ctx) {
+     *         final var config = ctx.config();
+     *         final var securityGroupId = config.get("securityGroupId");
+     *         final var selected = Ec2Functions.getSecurityGroup(GetSecurityGroupArgs.builder()
+     *             .id(securityGroupId)
+     *             .build());
+     * 
+     *         var subnet = new Subnet("subnet", SubnetArgs.builder()
+     *             .vpcId(selected.applyValue(getSecurityGroupResult -> getSecurityGroupResult.vpcId()))
+     *             .cidrBlock("10.0.1.0/24")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static CompletableFuture getSecurityGroupPlain(GetSecurityGroupPlainArgs args, InvokeOptions options) { + return Deployment.getInstance().invokeAsync("aws:ec2/getSecurityGroup:getSecurityGroup", TypeShape.of(GetSecurityGroupResult.class), args, Utilities.withVersion(options)); + } + /** + * Use this data source to get IDs and VPC membership of Security Groups that are created outside this provider. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.ec2.Ec2Functions;
+     * import com.pulumi.aws.ec2.inputs.GetSecurityGroupsArgs;
+     * 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 test = Ec2Functions.getSecurityGroups(GetSecurityGroupsArgs.builder()
+     *             .tags(Map.ofEntries(
+     *                 Map.entry("Application", "k8s"),
+     *                 Map.entry("Environment", "dev")
+     *             ))
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.ec2.Ec2Functions;
+     * import com.pulumi.aws.ec2.inputs.GetSecurityGroupsArgs;
+     * 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 test = Ec2Functions.getSecurityGroups(GetSecurityGroupsArgs.builder()
+     *             .filters(            
+     *                 GetSecurityGroupsFilterArgs.builder()
+     *                     .name("group-name")
+     *                     .values("*nodes*")
+     *                     .build(),
+     *                 GetSecurityGroupsFilterArgs.builder()
+     *                     .name("vpc-id")
+     *                     .values(vpcId)
+     *                     .build())
      *             .build());
      * 
      *     }
@@ -14273,8 +16817,8 @@ public static Output getSecurityGroup(GetSecurityGroupAr
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static CompletableFuture getSecurityGroupPlain(GetSecurityGroupPlainArgs args, InvokeOptions options) {
-        return Deployment.getInstance().invokeAsync("aws:ec2/getSecurityGroup:getSecurityGroup", TypeShape.of(GetSecurityGroupResult.class), args, Utilities.withVersion(options));
+    public static Output getSecurityGroups() {
+        return getSecurityGroups(GetSecurityGroupsArgs.Empty, InvokeOptions.Empty);
     }
     /**
      * Use this data source to get IDs and VPC membership of Security Groups that are created outside this provider.
@@ -14359,8 +16903,8 @@ public static CompletableFuture getSecurityGroupPlain(Ge
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static Output getSecurityGroups() {
-        return getSecurityGroups(GetSecurityGroupsArgs.Empty, InvokeOptions.Empty);
+    public static CompletableFuture getSecurityGroupsPlain() {
+        return getSecurityGroupsPlain(GetSecurityGroupsPlainArgs.Empty, InvokeOptions.Empty);
     }
     /**
      * Use this data source to get IDs and VPC membership of Security Groups that are created outside this provider.
@@ -14445,8 +16989,8 @@ public static Output getSecurityGroups() {
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static CompletableFuture getSecurityGroupsPlain() {
-        return getSecurityGroupsPlain(GetSecurityGroupsPlainArgs.Empty, InvokeOptions.Empty);
+    public static Output getSecurityGroups(GetSecurityGroupsArgs args) {
+        return getSecurityGroups(args, InvokeOptions.Empty);
     }
     /**
      * Use this data source to get IDs and VPC membership of Security Groups that are created outside this provider.
@@ -14531,8 +17075,8 @@ public static CompletableFuture getSecurityGroupsPlain(
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static Output getSecurityGroups(GetSecurityGroupsArgs args) {
-        return getSecurityGroups(args, InvokeOptions.Empty);
+    public static CompletableFuture getSecurityGroupsPlain(GetSecurityGroupsPlainArgs args) {
+        return getSecurityGroupsPlain(args, InvokeOptions.Empty);
     }
     /**
      * Use this data source to get IDs and VPC membership of Security Groups that are created outside this provider.
@@ -14617,8 +17161,8 @@ public static Output getSecurityGroups(GetSecurityGroup
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static CompletableFuture getSecurityGroupsPlain(GetSecurityGroupsPlainArgs args) {
-        return getSecurityGroupsPlain(args, InvokeOptions.Empty);
+    public static Output getSecurityGroups(GetSecurityGroupsArgs args, InvokeOptions options) {
+        return Deployment.getInstance().invoke("aws:ec2/getSecurityGroups:getSecurityGroups", TypeShape.of(GetSecurityGroupsResult.class), args, Utilities.withVersion(options));
     }
     /**
      * Use this data source to get IDs and VPC membership of Security Groups that are created outside this provider.
@@ -14703,7 +17247,7 @@ public static CompletableFuture getSecurityGroupsPlain(
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static Output getSecurityGroups(GetSecurityGroupsArgs args, InvokeOptions options) {
+    public static Output getSecurityGroups(GetSecurityGroupsArgs args, InvokeOutputOptions options) {
         return Deployment.getInstance().invoke("aws:ec2/getSecurityGroups:getSecurityGroups", TypeShape.of(GetSecurityGroupsResult.class), args, Utilities.withVersion(options));
     }
     /**
@@ -14987,6 +17531,45 @@ public static CompletableFuture getSerialConsoleAc
     public static Output getSerialConsoleAccess(InvokeArgs args, InvokeOptions options) {
         return Deployment.getInstance().invoke("aws:ec2/getSerialConsoleAccess:getSerialConsoleAccess", TypeShape.of(GetSerialConsoleAccessResult.class), args, Utilities.withVersion(options));
     }
+    /**
+     * Provides a way to check whether serial console access is enabled for your AWS account in the current AWS region.
+     * 
+     * ## Example Usage
+     * 
+     * <!--Start PulumiCodeChooser -->
+     * 
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.ec2.Ec2Functions;
+     * import 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 current = Ec2Functions.getSerialConsoleAccess();
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getSerialConsoleAccess(InvokeArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:ec2/getSerialConsoleAccess:getSerialConsoleAccess", TypeShape.of(GetSerialConsoleAccessResult.class), args, Utilities.withVersion(options)); + } /** * Provides a way to check whether serial console access is enabled for your AWS account in the current AWS region. * @@ -15231,6 +17814,47 @@ public static CompletableFuture getSpotDatafe public static Output getSpotDatafeedSubscription(InvokeArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:ec2/getSpotDatafeedSubscription:getSpotDatafeedSubscription", TypeShape.of(GetSpotDatafeedSubscriptionResult.class), args, Utilities.withVersion(options)); } + /** + * > There is only a single spot data feed subscription per account. + * + * Data source for accessing an AWS EC2 (Elastic Compute Cloud) spot data feed subscription. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.ec2.Ec2Functions;
+     * import 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 default = Ec2Functions.getSpotDatafeedSubscription();
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getSpotDatafeedSubscription(InvokeArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:ec2/getSpotDatafeedSubscription:getSpotDatafeedSubscription", TypeShape.of(GetSpotDatafeedSubscriptionResult.class), args, Utilities.withVersion(options)); + } /** * > There is only a single spot data feed subscription per account. * @@ -15551,8 +18175,156 @@ public static Output getSpotPrice(GetSpotPriceArgs args, Inv * <!--End PulumiCodeChooser --> * */ - public static CompletableFuture getSpotPricePlain(GetSpotPricePlainArgs args, InvokeOptions options) { - return Deployment.getInstance().invokeAsync("aws:ec2/getSpotPrice:getSpotPrice", TypeShape.of(GetSpotPriceResult.class), args, Utilities.withVersion(options)); + public static Output getSpotPrice(GetSpotPriceArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:ec2/getSpotPrice:getSpotPrice", TypeShape.of(GetSpotPriceResult.class), args, Utilities.withVersion(options)); + } + /** + * Information about most recent Spot Price for a given EC2 instance. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.ec2.Ec2Functions;
+     * import com.pulumi.aws.ec2.inputs.GetSpotPriceArgs;
+     * import java.util.List;
+     * import java.util.ArrayList;
+     * import java.util.Map;
+     * import java.io.File;
+     * import java.nio.file.Files;
+     * import java.nio.file.Paths;
+     * 
+     * public class App {
+     *     public static void main(String[] args) {
+     *         Pulumi.run(App::stack);
+     *     }
+     * 
+     *     public static void stack(Context ctx) {
+     *         final var example = Ec2Functions.getSpotPrice(GetSpotPriceArgs.builder()
+     *             .instanceType("t3.medium")
+     *             .availabilityZone("us-west-2a")
+     *             .filters(GetSpotPriceFilterArgs.builder()
+     *                 .name("product-description")
+     *                 .values("Linux/UNIX")
+     *                 .build())
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static CompletableFuture getSpotPricePlain(GetSpotPricePlainArgs args, InvokeOptions options) { + return Deployment.getInstance().invokeAsync("aws:ec2/getSpotPrice:getSpotPrice", TypeShape.of(GetSpotPriceResult.class), args, Utilities.withVersion(options)); + } + /** + * `aws.ec2.Subnet` provides details about a specific VPC subnet. + * + * This resource can prove useful when a module accepts a subnet ID as an input variable and needs to, for example, determine the ID of the VPC that the subnet belongs to. + * + * ## Example Usage + * + * The following example shows how one might accept a subnet ID as a variable and use this data source to obtain the data necessary to create a security group that allows connections from hosts in that subnet. + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.ec2.Ec2Functions;
+     * import com.pulumi.aws.ec2.inputs.GetSubnetArgs;
+     * import com.pulumi.aws.ec2.SecurityGroup;
+     * import com.pulumi.aws.ec2.SecurityGroupArgs;
+     * import com.pulumi.aws.ec2.inputs.SecurityGroupIngressArgs;
+     * import java.util.List;
+     * import java.util.ArrayList;
+     * import java.util.Map;
+     * import java.io.File;
+     * import java.nio.file.Files;
+     * import java.nio.file.Paths;
+     * 
+     * public class App {
+     *     public static void main(String[] args) {
+     *         Pulumi.run(App::stack);
+     *     }
+     * 
+     *     public static void stack(Context ctx) {
+     *         final var config = ctx.config();
+     *         final var subnetId = config.get("subnetId");
+     *         final var selected = Ec2Functions.getSubnet(GetSubnetArgs.builder()
+     *             .id(subnetId)
+     *             .build());
+     * 
+     *         var subnetSecurityGroup = new SecurityGroup("subnetSecurityGroup", SecurityGroupArgs.builder()
+     *             .vpcId(selected.applyValue(getSubnetResult -> getSubnetResult.vpcId()))
+     *             .ingress(SecurityGroupIngressArgs.builder()
+     *                 .cidrBlocks(selected.applyValue(getSubnetResult -> getSubnetResult.cidrBlock()))
+     *                 .fromPort(80)
+     *                 .toPort(80)
+     *                 .protocol("tcp")
+     *                 .build())
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + * ### Filter Example + * + * If you want to match against tag `Name`, use: + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.ec2.Ec2Functions;
+     * import com.pulumi.aws.ec2.inputs.GetSubnetArgs;
+     * 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 selected = Ec2Functions.getSubnet(GetSubnetArgs.builder()
+     *             .filters(GetSubnetFilterArgs.builder()
+     *                 .name("tag:Name")
+     *                 .values("yakdriver")
+     *                 .build())
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getSubnet() { + return getSubnet(GetSubnetArgs.Empty, InvokeOptions.Empty); } /** * `aws.ec2.Subnet` provides details about a specific VPC subnet. @@ -15652,8 +18424,8 @@ public static CompletableFuture getSpotPricePlain(GetSpotPri * <!--End PulumiCodeChooser --> * */ - public static Output getSubnet() { - return getSubnet(GetSubnetArgs.Empty, InvokeOptions.Empty); + public static CompletableFuture getSubnetPlain() { + return getSubnetPlain(GetSubnetPlainArgs.Empty, InvokeOptions.Empty); } /** * `aws.ec2.Subnet` provides details about a specific VPC subnet. @@ -15753,8 +18525,8 @@ public static Output getSubnet() { * <!--End PulumiCodeChooser --> * */ - public static CompletableFuture getSubnetPlain() { - return getSubnetPlain(GetSubnetPlainArgs.Empty, InvokeOptions.Empty); + public static Output getSubnet(GetSubnetArgs args) { + return getSubnet(args, InvokeOptions.Empty); } /** * `aws.ec2.Subnet` provides details about a specific VPC subnet. @@ -15854,8 +18626,8 @@ public static CompletableFuture getSubnetPlain() { * <!--End PulumiCodeChooser --> * */ - public static Output getSubnet(GetSubnetArgs args) { - return getSubnet(args, InvokeOptions.Empty); + public static CompletableFuture getSubnetPlain(GetSubnetPlainArgs args) { + return getSubnetPlain(args, InvokeOptions.Empty); } /** * `aws.ec2.Subnet` provides details about a specific VPC subnet. @@ -15955,8 +18727,8 @@ public static Output getSubnet(GetSubnetArgs args) { * <!--End PulumiCodeChooser --> * */ - public static CompletableFuture getSubnetPlain(GetSubnetPlainArgs args) { - return getSubnetPlain(args, InvokeOptions.Empty); + public static Output getSubnet(GetSubnetArgs args, InvokeOptions options) { + return Deployment.getInstance().invoke("aws:ec2/getSubnet:getSubnet", TypeShape.of(GetSubnetResult.class), args, Utilities.withVersion(options)); } /** * `aws.ec2.Subnet` provides details about a specific VPC subnet. @@ -16056,7 +18828,7 @@ public static CompletableFuture getSubnetPlain(GetSubnetPlainAr * <!--End PulumiCodeChooser --> * */ - public static Output getSubnet(GetSubnetArgs args, InvokeOptions options) { + public static Output getSubnet(GetSubnetArgs args, InvokeOutputOptions options) { return Deployment.getInstance().invoke("aws:ec2/getSubnet:getSubnet", TypeShape.of(GetSubnetResult.class), args, Utilities.withVersion(options)); } /** @@ -16195,6 +18967,13 @@ public static CompletableFuture getSubnetsPlain(GetSubnetsPlai public static Output getSubnets(GetSubnetsArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:ec2/getSubnets:getSubnets", TypeShape.of(GetSubnetsResult.class), args, Utilities.withVersion(options)); } + /** + * This resource can be useful for getting back a set of subnet IDs. + * + */ + public static Output getSubnets(GetSubnetsArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:ec2/getSubnets:getSubnets", TypeShape.of(GetSubnetsResult.class), args, Utilities.withVersion(options)); + } /** * This resource can be useful for getting back a set of subnet IDs. * @@ -16318,9 +19097,245 @@ public static CompletableFuture getTransitGa * } * * public static void stack(Context ctx) { - * final var example = Ec2Functions.getTransitGatewayRouteTables(); + * final var example = Ec2Functions.getTransitGatewayRouteTables(); + * + * ctx.export("example", example.applyValue(getTransitGatewayRouteTablesResult -> getTransitGatewayRouteTablesResult.ids())); + * } + * } + * } + *
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getTransitGatewayRouteTables(GetTransitGatewayRouteTablesArgs args) { + return getTransitGatewayRouteTables(args, InvokeOptions.Empty); + } + /** + * Provides information for multiple EC2 Transit Gateway Route Tables, such as their identifiers. + * + * ## Example Usage + * + * The following shows outputting all Transit Gateway Route Table Ids. + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.ec2.Ec2Functions;
+     * import com.pulumi.aws.ec2.inputs.GetTransitGatewayRouteTablesArgs;
+     * import java.util.List;
+     * import java.util.ArrayList;
+     * import java.util.Map;
+     * import java.io.File;
+     * import java.nio.file.Files;
+     * import java.nio.file.Paths;
+     * 
+     * public class App {
+     *     public static void main(String[] args) {
+     *         Pulumi.run(App::stack);
+     *     }
+     * 
+     *     public static void stack(Context ctx) {
+     *         final var example = Ec2Functions.getTransitGatewayRouteTables();
+     * 
+     *         ctx.export("example", example.applyValue(getTransitGatewayRouteTablesResult -> getTransitGatewayRouteTablesResult.ids()));
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static CompletableFuture getTransitGatewayRouteTablesPlain(GetTransitGatewayRouteTablesPlainArgs args) { + return getTransitGatewayRouteTablesPlain(args, InvokeOptions.Empty); + } + /** + * Provides information for multiple EC2 Transit Gateway Route Tables, such as their identifiers. + * + * ## Example Usage + * + * The following shows outputting all Transit Gateway Route Table Ids. + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.ec2.Ec2Functions;
+     * import com.pulumi.aws.ec2.inputs.GetTransitGatewayRouteTablesArgs;
+     * import java.util.List;
+     * import java.util.ArrayList;
+     * import java.util.Map;
+     * import java.io.File;
+     * import java.nio.file.Files;
+     * import java.nio.file.Paths;
+     * 
+     * public class App {
+     *     public static void main(String[] args) {
+     *         Pulumi.run(App::stack);
+     *     }
+     * 
+     *     public static void stack(Context ctx) {
+     *         final var example = Ec2Functions.getTransitGatewayRouteTables();
+     * 
+     *         ctx.export("example", example.applyValue(getTransitGatewayRouteTablesResult -> getTransitGatewayRouteTablesResult.ids()));
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getTransitGatewayRouteTables(GetTransitGatewayRouteTablesArgs args, InvokeOptions options) { + return Deployment.getInstance().invoke("aws:ec2/getTransitGatewayRouteTables:getTransitGatewayRouteTables", TypeShape.of(GetTransitGatewayRouteTablesResult.class), args, Utilities.withVersion(options)); + } + /** + * Provides information for multiple EC2 Transit Gateway Route Tables, such as their identifiers. + * + * ## Example Usage + * + * The following shows outputting all Transit Gateway Route Table Ids. + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.ec2.Ec2Functions;
+     * import com.pulumi.aws.ec2.inputs.GetTransitGatewayRouteTablesArgs;
+     * import java.util.List;
+     * import java.util.ArrayList;
+     * import java.util.Map;
+     * import java.io.File;
+     * import java.nio.file.Files;
+     * import java.nio.file.Paths;
+     * 
+     * public class App {
+     *     public static void main(String[] args) {
+     *         Pulumi.run(App::stack);
+     *     }
+     * 
+     *     public static void stack(Context ctx) {
+     *         final var example = Ec2Functions.getTransitGatewayRouteTables();
+     * 
+     *         ctx.export("example", example.applyValue(getTransitGatewayRouteTablesResult -> getTransitGatewayRouteTablesResult.ids()));
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getTransitGatewayRouteTables(GetTransitGatewayRouteTablesArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:ec2/getTransitGatewayRouteTables:getTransitGatewayRouteTables", TypeShape.of(GetTransitGatewayRouteTablesResult.class), args, Utilities.withVersion(options)); + } + /** + * Provides information for multiple EC2 Transit Gateway Route Tables, such as their identifiers. + * + * ## Example Usage + * + * The following shows outputting all Transit Gateway Route Table Ids. + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.ec2.Ec2Functions;
+     * import com.pulumi.aws.ec2.inputs.GetTransitGatewayRouteTablesArgs;
+     * import java.util.List;
+     * import java.util.ArrayList;
+     * import java.util.Map;
+     * import java.io.File;
+     * import java.nio.file.Files;
+     * import java.nio.file.Paths;
+     * 
+     * public class App {
+     *     public static void main(String[] args) {
+     *         Pulumi.run(App::stack);
+     *     }
+     * 
+     *     public static void stack(Context ctx) {
+     *         final var example = Ec2Functions.getTransitGatewayRouteTables();
+     * 
+     *         ctx.export("example", example.applyValue(getTransitGatewayRouteTablesResult -> getTransitGatewayRouteTablesResult.ids()));
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static CompletableFuture getTransitGatewayRouteTablesPlain(GetTransitGatewayRouteTablesPlainArgs args, InvokeOptions options) { + return Deployment.getInstance().invokeAsync("aws:ec2/getTransitGatewayRouteTables:getTransitGatewayRouteTables", TypeShape.of(GetTransitGatewayRouteTablesResult.class), args, Utilities.withVersion(options)); + } + /** + * `aws.ec2.Vpc` provides details about a specific VPC. + * + * This resource can prove useful when a module accepts a vpc id as + * an input variable and needs to, for example, determine the CIDR block of that + * VPC. + * + * ## Example Usage + * + * The following example shows how one might accept a VPC id as a variable + * and use this data source to obtain the data necessary to create a subnet + * within it. + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.ec2.Ec2Functions;
+     * import com.pulumi.aws.ec2.inputs.GetVpcArgs;
+     * import com.pulumi.aws.ec2.Subnet;
+     * import com.pulumi.aws.ec2.SubnetArgs;
+     * import java.util.List;
+     * import java.util.ArrayList;
+     * import java.util.Map;
+     * import java.io.File;
+     * import java.nio.file.Files;
+     * import java.nio.file.Paths;
+     * 
+     * public class App {
+     *     public static void main(String[] args) {
+     *         Pulumi.run(App::stack);
+     *     }
+     * 
+     *     public static void stack(Context ctx) {
+     *         final var config = ctx.config();
+     *         final var vpcId = config.get("vpcId");
+     *         final var selected = Ec2Functions.getVpc(GetVpcArgs.builder()
+     *             .id(vpcId)
+     *             .build());
+     * 
+     *         var example = new Subnet("example", SubnetArgs.builder()
+     *             .vpcId(selected.applyValue(getVpcResult -> getVpcResult.id()))
+     *             .availabilityZone("us-west-2a")
+     *             .cidrBlock(StdFunctions.cidrsubnet(CidrsubnetArgs.builder()
+     *                 .input(selected.applyValue(getVpcResult -> getVpcResult.cidrBlock()))
+     *                 .newbits(4)
+     *                 .netnum(1)
+     *                 .build()).result())
+     *             .build());
      * 
-     *         ctx.export("example", example.applyValue(getTransitGatewayRouteTablesResult -> getTransitGatewayRouteTablesResult.ids()));
      *     }
      * }
      * }
@@ -16328,15 +19343,21 @@ public static CompletableFuture getTransitGa
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static Output getTransitGatewayRouteTables(GetTransitGatewayRouteTablesArgs args) {
-        return getTransitGatewayRouteTables(args, InvokeOptions.Empty);
+    public static Output getVpc() {
+        return getVpc(GetVpcArgs.Empty, InvokeOptions.Empty);
     }
     /**
-     * Provides information for multiple EC2 Transit Gateway Route Tables, such as their identifiers.
+     * `aws.ec2.Vpc` provides details about a specific VPC.
+     * 
+     * This resource can prove useful when a module accepts a vpc id as
+     * an input variable and needs to, for example, determine the CIDR block of that
+     * VPC.
      * 
      * ## Example Usage
      * 
-     * The following shows outputting all Transit Gateway Route Table Ids.
+     * The following example shows how one might accept a VPC id as a variable
+     * and use this data source to obtain the data necessary to create a subnet
+     * within it.
      * 
      * <!--Start PulumiCodeChooser -->
      * 
@@ -16347,7 +19368,9 @@ public static Output getTransitGatewayRouteT
      * import com.pulumi.Pulumi;
      * import com.pulumi.core.Output;
      * import com.pulumi.aws.ec2.Ec2Functions;
-     * import com.pulumi.aws.ec2.inputs.GetTransitGatewayRouteTablesArgs;
+     * import com.pulumi.aws.ec2.inputs.GetVpcArgs;
+     * import com.pulumi.aws.ec2.Subnet;
+     * import com.pulumi.aws.ec2.SubnetArgs;
      * import java.util.List;
      * import java.util.ArrayList;
      * import java.util.Map;
@@ -16361,9 +19384,22 @@ public static Output getTransitGatewayRouteT
      *     }
      * 
      *     public static void stack(Context ctx) {
-     *         final var example = Ec2Functions.getTransitGatewayRouteTables();
+     *         final var config = ctx.config();
+     *         final var vpcId = config.get("vpcId");
+     *         final var selected = Ec2Functions.getVpc(GetVpcArgs.builder()
+     *             .id(vpcId)
+     *             .build());
+     * 
+     *         var example = new Subnet("example", SubnetArgs.builder()
+     *             .vpcId(selected.applyValue(getVpcResult -> getVpcResult.id()))
+     *             .availabilityZone("us-west-2a")
+     *             .cidrBlock(StdFunctions.cidrsubnet(CidrsubnetArgs.builder()
+     *                 .input(selected.applyValue(getVpcResult -> getVpcResult.cidrBlock()))
+     *                 .newbits(4)
+     *                 .netnum(1)
+     *                 .build()).result())
+     *             .build());
      * 
-     *         ctx.export("example", example.applyValue(getTransitGatewayRouteTablesResult -> getTransitGatewayRouteTablesResult.ids()));
      *     }
      * }
      * }
@@ -16371,15 +19407,21 @@ public static Output getTransitGatewayRouteT
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static CompletableFuture getTransitGatewayRouteTablesPlain(GetTransitGatewayRouteTablesPlainArgs args) {
-        return getTransitGatewayRouteTablesPlain(args, InvokeOptions.Empty);
+    public static CompletableFuture getVpcPlain() {
+        return getVpcPlain(GetVpcPlainArgs.Empty, InvokeOptions.Empty);
     }
     /**
-     * Provides information for multiple EC2 Transit Gateway Route Tables, such as their identifiers.
+     * `aws.ec2.Vpc` provides details about a specific VPC.
+     * 
+     * This resource can prove useful when a module accepts a vpc id as
+     * an input variable and needs to, for example, determine the CIDR block of that
+     * VPC.
      * 
      * ## Example Usage
      * 
-     * The following shows outputting all Transit Gateway Route Table Ids.
+     * The following example shows how one might accept a VPC id as a variable
+     * and use this data source to obtain the data necessary to create a subnet
+     * within it.
      * 
      * <!--Start PulumiCodeChooser -->
      * 
@@ -16390,7 +19432,9 @@ public static CompletableFuture getTransitGa
      * import com.pulumi.Pulumi;
      * import com.pulumi.core.Output;
      * import com.pulumi.aws.ec2.Ec2Functions;
-     * import com.pulumi.aws.ec2.inputs.GetTransitGatewayRouteTablesArgs;
+     * import com.pulumi.aws.ec2.inputs.GetVpcArgs;
+     * import com.pulumi.aws.ec2.Subnet;
+     * import com.pulumi.aws.ec2.SubnetArgs;
      * import java.util.List;
      * import java.util.ArrayList;
      * import java.util.Map;
@@ -16404,9 +19448,22 @@ public static CompletableFuture getTransitGa
      *     }
      * 
      *     public static void stack(Context ctx) {
-     *         final var example = Ec2Functions.getTransitGatewayRouteTables();
+     *         final var config = ctx.config();
+     *         final var vpcId = config.get("vpcId");
+     *         final var selected = Ec2Functions.getVpc(GetVpcArgs.builder()
+     *             .id(vpcId)
+     *             .build());
+     * 
+     *         var example = new Subnet("example", SubnetArgs.builder()
+     *             .vpcId(selected.applyValue(getVpcResult -> getVpcResult.id()))
+     *             .availabilityZone("us-west-2a")
+     *             .cidrBlock(StdFunctions.cidrsubnet(CidrsubnetArgs.builder()
+     *                 .input(selected.applyValue(getVpcResult -> getVpcResult.cidrBlock()))
+     *                 .newbits(4)
+     *                 .netnum(1)
+     *                 .build()).result())
+     *             .build());
      * 
-     *         ctx.export("example", example.applyValue(getTransitGatewayRouteTablesResult -> getTransitGatewayRouteTablesResult.ids()));
      *     }
      * }
      * }
@@ -16414,15 +19471,21 @@ public static CompletableFuture getTransitGa
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static Output getTransitGatewayRouteTables(GetTransitGatewayRouteTablesArgs args, InvokeOptions options) {
-        return Deployment.getInstance().invoke("aws:ec2/getTransitGatewayRouteTables:getTransitGatewayRouteTables", TypeShape.of(GetTransitGatewayRouteTablesResult.class), args, Utilities.withVersion(options));
+    public static Output getVpc(GetVpcArgs args) {
+        return getVpc(args, InvokeOptions.Empty);
     }
     /**
-     * Provides information for multiple EC2 Transit Gateway Route Tables, such as their identifiers.
+     * `aws.ec2.Vpc` provides details about a specific VPC.
+     * 
+     * This resource can prove useful when a module accepts a vpc id as
+     * an input variable and needs to, for example, determine the CIDR block of that
+     * VPC.
      * 
      * ## Example Usage
      * 
-     * The following shows outputting all Transit Gateway Route Table Ids.
+     * The following example shows how one might accept a VPC id as a variable
+     * and use this data source to obtain the data necessary to create a subnet
+     * within it.
      * 
      * <!--Start PulumiCodeChooser -->
      * 
@@ -16433,7 +19496,9 @@ public static Output getTransitGatewayRouteT
      * import com.pulumi.Pulumi;
      * import com.pulumi.core.Output;
      * import com.pulumi.aws.ec2.Ec2Functions;
-     * import com.pulumi.aws.ec2.inputs.GetTransitGatewayRouteTablesArgs;
+     * import com.pulumi.aws.ec2.inputs.GetVpcArgs;
+     * import com.pulumi.aws.ec2.Subnet;
+     * import com.pulumi.aws.ec2.SubnetArgs;
      * import java.util.List;
      * import java.util.ArrayList;
      * import java.util.Map;
@@ -16447,9 +19512,22 @@ public static Output getTransitGatewayRouteT
      *     }
      * 
      *     public static void stack(Context ctx) {
-     *         final var example = Ec2Functions.getTransitGatewayRouteTables();
+     *         final var config = ctx.config();
+     *         final var vpcId = config.get("vpcId");
+     *         final var selected = Ec2Functions.getVpc(GetVpcArgs.builder()
+     *             .id(vpcId)
+     *             .build());
+     * 
+     *         var example = new Subnet("example", SubnetArgs.builder()
+     *             .vpcId(selected.applyValue(getVpcResult -> getVpcResult.id()))
+     *             .availabilityZone("us-west-2a")
+     *             .cidrBlock(StdFunctions.cidrsubnet(CidrsubnetArgs.builder()
+     *                 .input(selected.applyValue(getVpcResult -> getVpcResult.cidrBlock()))
+     *                 .newbits(4)
+     *                 .netnum(1)
+     *                 .build()).result())
+     *             .build());
      * 
-     *         ctx.export("example", example.applyValue(getTransitGatewayRouteTablesResult -> getTransitGatewayRouteTablesResult.ids()));
      *     }
      * }
      * }
@@ -16457,8 +19535,8 @@ public static Output getTransitGatewayRouteT
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static CompletableFuture getTransitGatewayRouteTablesPlain(GetTransitGatewayRouteTablesPlainArgs args, InvokeOptions options) {
-        return Deployment.getInstance().invokeAsync("aws:ec2/getTransitGatewayRouteTables:getTransitGatewayRouteTables", TypeShape.of(GetTransitGatewayRouteTablesResult.class), args, Utilities.withVersion(options));
+    public static CompletableFuture getVpcPlain(GetVpcPlainArgs args) {
+        return getVpcPlain(args, InvokeOptions.Empty);
     }
     /**
      * `aws.ec2.Vpc` provides details about a specific VPC.
@@ -16521,8 +19599,8 @@ public static CompletableFuture getTransitGa
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static Output getVpc() {
-        return getVpc(GetVpcArgs.Empty, InvokeOptions.Empty);
+    public static Output getVpc(GetVpcArgs args, InvokeOptions options) {
+        return Deployment.getInstance().invoke("aws:ec2/getVpc:getVpc", TypeShape.of(GetVpcResult.class), args, Utilities.withVersion(options));
     }
     /**
      * `aws.ec2.Vpc` provides details about a specific VPC.
@@ -16585,8 +19663,8 @@ public static Output getVpc() {
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static CompletableFuture getVpcPlain() {
-        return getVpcPlain(GetVpcPlainArgs.Empty, InvokeOptions.Empty);
+    public static Output getVpc(GetVpcArgs args, InvokeOutputOptions options) {
+        return Deployment.getInstance().invoke("aws:ec2/getVpc:getVpc", TypeShape.of(GetVpcResult.class), args, Utilities.withVersion(options));
     }
     /**
      * `aws.ec2.Vpc` provides details about a specific VPC.
@@ -16648,22 +19726,138 @@ public static CompletableFuture getVpcPlain() {
      * 
* <!--End PulumiCodeChooser --> * - */ - public static Output getVpc(GetVpcArgs args) { - return getVpc(args, InvokeOptions.Empty); - } - /** - * `aws.ec2.Vpc` provides details about a specific VPC. - * - * This resource can prove useful when a module accepts a vpc id as - * an input variable and needs to, for example, determine the CIDR block of that - * VPC. - * - * ## Example Usage - * - * The following example shows how one might accept a VPC id as a variable - * and use this data source to obtain the data necessary to create a subnet - * within it. + */ + public static CompletableFuture getVpcPlain(GetVpcPlainArgs args, InvokeOptions options) { + return Deployment.getInstance().invokeAsync("aws:ec2/getVpc:getVpc", TypeShape.of(GetVpcResult.class), args, Utilities.withVersion(options)); + } + /** + * Retrieve information about an EC2 DHCP Options configuration. + * + * ## Example Usage + * + * ### Lookup by DHCP Options ID + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.ec2.Ec2Functions;
+     * import com.pulumi.aws.ec2.inputs.GetVpcDhcpOptionsArgs;
+     * import java.util.List;
+     * import java.util.ArrayList;
+     * import java.util.Map;
+     * import java.io.File;
+     * import java.nio.file.Files;
+     * import java.nio.file.Paths;
+     * 
+     * public class App {
+     *     public static void main(String[] args) {
+     *         Pulumi.run(App::stack);
+     *     }
+     * 
+     *     public static void stack(Context ctx) {
+     *         final var example = Ec2Functions.getVpcDhcpOptions(GetVpcDhcpOptionsArgs.builder()
+     *             .dhcpOptionsId("dopts-12345678")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + * ### Lookup by Filter + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.ec2.Ec2Functions;
+     * import com.pulumi.aws.ec2.inputs.GetVpcDhcpOptionsArgs;
+     * import java.util.List;
+     * import java.util.ArrayList;
+     * import java.util.Map;
+     * import java.io.File;
+     * import java.nio.file.Files;
+     * import java.nio.file.Paths;
+     * 
+     * public class App {
+     *     public static void main(String[] args) {
+     *         Pulumi.run(App::stack);
+     *     }
+     * 
+     *     public static void stack(Context ctx) {
+     *         final var example = Ec2Functions.getVpcDhcpOptions(GetVpcDhcpOptionsArgs.builder()
+     *             .filters(            
+     *                 GetVpcDhcpOptionsFilterArgs.builder()
+     *                     .name("key")
+     *                     .values("domain-name")
+     *                     .build(),
+     *                 GetVpcDhcpOptionsFilterArgs.builder()
+     *                     .name("value")
+     *                     .values("example.com")
+     *                     .build())
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getVpcDhcpOptions() { + return getVpcDhcpOptions(GetVpcDhcpOptionsArgs.Empty, InvokeOptions.Empty); + } + /** + * Retrieve information about an EC2 DHCP Options configuration. + * + * ## Example Usage + * + * ### Lookup by DHCP Options ID + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.ec2.Ec2Functions;
+     * import com.pulumi.aws.ec2.inputs.GetVpcDhcpOptionsArgs;
+     * import java.util.List;
+     * import java.util.ArrayList;
+     * import java.util.Map;
+     * import java.io.File;
+     * import java.nio.file.Files;
+     * import java.nio.file.Paths;
+     * 
+     * public class App {
+     *     public static void main(String[] args) {
+     *         Pulumi.run(App::stack);
+     *     }
+     * 
+     *     public static void stack(Context ctx) {
+     *         final var example = Ec2Functions.getVpcDhcpOptions(GetVpcDhcpOptionsArgs.builder()
+     *             .dhcpOptionsId("dopts-12345678")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + * ### Lookup by Filter * * <!--Start PulumiCodeChooser --> *
@@ -16674,9 +19868,7 @@ public static Output getVpc(GetVpcArgs args) {
      * import com.pulumi.Pulumi;
      * import com.pulumi.core.Output;
      * import com.pulumi.aws.ec2.Ec2Functions;
-     * import com.pulumi.aws.ec2.inputs.GetVpcArgs;
-     * import com.pulumi.aws.ec2.Subnet;
-     * import com.pulumi.aws.ec2.SubnetArgs;
+     * import com.pulumi.aws.ec2.inputs.GetVpcDhcpOptionsArgs;
      * import java.util.List;
      * import java.util.ArrayList;
      * import java.util.Map;
@@ -16690,20 +19882,16 @@ public static Output getVpc(GetVpcArgs args) {
      *     }
      * 
      *     public static void stack(Context ctx) {
-     *         final var config = ctx.config();
-     *         final var vpcId = config.get("vpcId");
-     *         final var selected = Ec2Functions.getVpc(GetVpcArgs.builder()
-     *             .id(vpcId)
-     *             .build());
-     * 
-     *         var example = new Subnet("example", SubnetArgs.builder()
-     *             .vpcId(selected.applyValue(getVpcResult -> getVpcResult.id()))
-     *             .availabilityZone("us-west-2a")
-     *             .cidrBlock(StdFunctions.cidrsubnet(CidrsubnetArgs.builder()
-     *                 .input(selected.applyValue(getVpcResult -> getVpcResult.cidrBlock()))
-     *                 .newbits(4)
-     *                 .netnum(1)
-     *                 .build()).result())
+     *         final var example = Ec2Functions.getVpcDhcpOptions(GetVpcDhcpOptionsArgs.builder()
+     *             .filters(            
+     *                 GetVpcDhcpOptionsFilterArgs.builder()
+     *                     .name("key")
+     *                     .values("domain-name")
+     *                     .build(),
+     *                 GetVpcDhcpOptionsFilterArgs.builder()
+     *                     .name("value")
+     *                     .values("example.com")
+     *                     .build())
      *             .build());
      * 
      *     }
@@ -16713,21 +19901,15 @@ public static Output getVpc(GetVpcArgs args) {
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static CompletableFuture getVpcPlain(GetVpcPlainArgs args) {
-        return getVpcPlain(args, InvokeOptions.Empty);
+    public static CompletableFuture getVpcDhcpOptionsPlain() {
+        return getVpcDhcpOptionsPlain(GetVpcDhcpOptionsPlainArgs.Empty, InvokeOptions.Empty);
     }
     /**
-     * `aws.ec2.Vpc` provides details about a specific VPC.
-     * 
-     * This resource can prove useful when a module accepts a vpc id as
-     * an input variable and needs to, for example, determine the CIDR block of that
-     * VPC.
+     * Retrieve information about an EC2 DHCP Options configuration.
      * 
      * ## Example Usage
      * 
-     * The following example shows how one might accept a VPC id as a variable
-     * and use this data source to obtain the data necessary to create a subnet
-     * within it.
+     * ### Lookup by DHCP Options ID
      * 
      * <!--Start PulumiCodeChooser -->
      * 
@@ -16738,9 +19920,7 @@ public static CompletableFuture getVpcPlain(GetVpcPlainArgs args)
      * import com.pulumi.Pulumi;
      * import com.pulumi.core.Output;
      * import com.pulumi.aws.ec2.Ec2Functions;
-     * import com.pulumi.aws.ec2.inputs.GetVpcArgs;
-     * import com.pulumi.aws.ec2.Subnet;
-     * import com.pulumi.aws.ec2.SubnetArgs;
+     * import com.pulumi.aws.ec2.inputs.GetVpcDhcpOptionsArgs;
      * import java.util.List;
      * import java.util.ArrayList;
      * import java.util.Map;
@@ -16754,20 +19934,8 @@ public static CompletableFuture getVpcPlain(GetVpcPlainArgs args)
      *     }
      * 
      *     public static void stack(Context ctx) {
-     *         final var config = ctx.config();
-     *         final var vpcId = config.get("vpcId");
-     *         final var selected = Ec2Functions.getVpc(GetVpcArgs.builder()
-     *             .id(vpcId)
-     *             .build());
-     * 
-     *         var example = new Subnet("example", SubnetArgs.builder()
-     *             .vpcId(selected.applyValue(getVpcResult -> getVpcResult.id()))
-     *             .availabilityZone("us-west-2a")
-     *             .cidrBlock(StdFunctions.cidrsubnet(CidrsubnetArgs.builder()
-     *                 .input(selected.applyValue(getVpcResult -> getVpcResult.cidrBlock()))
-     *                 .newbits(4)
-     *                 .netnum(1)
-     *                 .build()).result())
+     *         final var example = Ec2Functions.getVpcDhcpOptions(GetVpcDhcpOptionsArgs.builder()
+     *             .dhcpOptionsId("dopts-12345678")
      *             .build());
      * 
      *     }
@@ -16776,22 +19944,7 @@ public static CompletableFuture getVpcPlain(GetVpcPlainArgs args)
      * 
* <!--End PulumiCodeChooser --> * - */ - public static Output getVpc(GetVpcArgs args, InvokeOptions options) { - return Deployment.getInstance().invoke("aws:ec2/getVpc:getVpc", TypeShape.of(GetVpcResult.class), args, Utilities.withVersion(options)); - } - /** - * `aws.ec2.Vpc` provides details about a specific VPC. - * - * This resource can prove useful when a module accepts a vpc id as - * an input variable and needs to, for example, determine the CIDR block of that - * VPC. - * - * ## Example Usage - * - * The following example shows how one might accept a VPC id as a variable - * and use this data source to obtain the data necessary to create a subnet - * within it. + * ### Lookup by Filter * * <!--Start PulumiCodeChooser --> *
@@ -16802,9 +19955,7 @@ public static Output getVpc(GetVpcArgs args, InvokeOptions options
      * import com.pulumi.Pulumi;
      * import com.pulumi.core.Output;
      * import com.pulumi.aws.ec2.Ec2Functions;
-     * import com.pulumi.aws.ec2.inputs.GetVpcArgs;
-     * import com.pulumi.aws.ec2.Subnet;
-     * import com.pulumi.aws.ec2.SubnetArgs;
+     * import com.pulumi.aws.ec2.inputs.GetVpcDhcpOptionsArgs;
      * import java.util.List;
      * import java.util.ArrayList;
      * import java.util.Map;
@@ -16818,20 +19969,16 @@ public static Output getVpc(GetVpcArgs args, InvokeOptions options
      *     }
      * 
      *     public static void stack(Context ctx) {
-     *         final var config = ctx.config();
-     *         final var vpcId = config.get("vpcId");
-     *         final var selected = Ec2Functions.getVpc(GetVpcArgs.builder()
-     *             .id(vpcId)
-     *             .build());
-     * 
-     *         var example = new Subnet("example", SubnetArgs.builder()
-     *             .vpcId(selected.applyValue(getVpcResult -> getVpcResult.id()))
-     *             .availabilityZone("us-west-2a")
-     *             .cidrBlock(StdFunctions.cidrsubnet(CidrsubnetArgs.builder()
-     *                 .input(selected.applyValue(getVpcResult -> getVpcResult.cidrBlock()))
-     *                 .newbits(4)
-     *                 .netnum(1)
-     *                 .build()).result())
+     *         final var example = Ec2Functions.getVpcDhcpOptions(GetVpcDhcpOptionsArgs.builder()
+     *             .filters(            
+     *                 GetVpcDhcpOptionsFilterArgs.builder()
+     *                     .name("key")
+     *                     .values("domain-name")
+     *                     .build(),
+     *                 GetVpcDhcpOptionsFilterArgs.builder()
+     *                     .name("value")
+     *                     .values("example.com")
+     *                     .build())
      *             .build());
      * 
      *     }
@@ -16841,8 +19988,8 @@ public static Output getVpc(GetVpcArgs args, InvokeOptions options
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static CompletableFuture getVpcPlain(GetVpcPlainArgs args, InvokeOptions options) {
-        return Deployment.getInstance().invokeAsync("aws:ec2/getVpc:getVpc", TypeShape.of(GetVpcResult.class), args, Utilities.withVersion(options));
+    public static Output getVpcDhcpOptions(GetVpcDhcpOptionsArgs args) {
+        return getVpcDhcpOptions(args, InvokeOptions.Empty);
     }
     /**
      * Retrieve information about an EC2 DHCP Options configuration.
@@ -16928,8 +20075,8 @@ public static CompletableFuture getVpcPlain(GetVpcPlainArgs args,
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static Output getVpcDhcpOptions() {
-        return getVpcDhcpOptions(GetVpcDhcpOptionsArgs.Empty, InvokeOptions.Empty);
+    public static CompletableFuture getVpcDhcpOptionsPlain(GetVpcDhcpOptionsPlainArgs args) {
+        return getVpcDhcpOptionsPlain(args, InvokeOptions.Empty);
     }
     /**
      * Retrieve information about an EC2 DHCP Options configuration.
@@ -17015,8 +20162,8 @@ public static Output getVpcDhcpOptions() {
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static CompletableFuture getVpcDhcpOptionsPlain() {
-        return getVpcDhcpOptionsPlain(GetVpcDhcpOptionsPlainArgs.Empty, InvokeOptions.Empty);
+    public static Output getVpcDhcpOptions(GetVpcDhcpOptionsArgs args, InvokeOptions options) {
+        return Deployment.getInstance().invoke("aws:ec2/getVpcDhcpOptions:getVpcDhcpOptions", TypeShape.of(GetVpcDhcpOptionsResult.class), args, Utilities.withVersion(options));
     }
     /**
      * Retrieve information about an EC2 DHCP Options configuration.
@@ -17102,8 +20249,8 @@ public static CompletableFuture getVpcDhcpOptionsPlain(
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static Output getVpcDhcpOptions(GetVpcDhcpOptionsArgs args) {
-        return getVpcDhcpOptions(args, InvokeOptions.Empty);
+    public static Output getVpcDhcpOptions(GetVpcDhcpOptionsArgs args, InvokeOutputOptions options) {
+        return Deployment.getInstance().invoke("aws:ec2/getVpcDhcpOptions:getVpcDhcpOptions", TypeShape.of(GetVpcDhcpOptionsResult.class), args, Utilities.withVersion(options));
     }
     /**
      * Retrieve information about an EC2 DHCP Options configuration.
@@ -17189,16 +20336,15 @@ public static Output getVpcDhcpOptions(GetVpcDhcpOption
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static CompletableFuture getVpcDhcpOptionsPlain(GetVpcDhcpOptionsPlainArgs args) {
-        return getVpcDhcpOptionsPlain(args, InvokeOptions.Empty);
+    public static CompletableFuture getVpcDhcpOptionsPlain(GetVpcDhcpOptionsPlainArgs args, InvokeOptions options) {
+        return Deployment.getInstance().invokeAsync("aws:ec2/getVpcDhcpOptions:getVpcDhcpOptions", TypeShape.of(GetVpcDhcpOptionsResult.class), args, Utilities.withVersion(options));
     }
     /**
-     * Retrieve information about an EC2 DHCP Options configuration.
+     * The VPC Endpoint data source provides details about
+     * a specific VPC endpoint.
      * 
      * ## Example Usage
      * 
-     * ### Lookup by DHCP Options ID
-     * 
      * <!--Start PulumiCodeChooser -->
      * 
      * {@code
@@ -17208,7 +20354,9 @@ public static CompletableFuture getVpcDhcpOptionsPlain(
      * import com.pulumi.Pulumi;
      * import com.pulumi.core.Output;
      * import com.pulumi.aws.ec2.Ec2Functions;
-     * import com.pulumi.aws.ec2.inputs.GetVpcDhcpOptionsArgs;
+     * import com.pulumi.aws.ec2.inputs.GetVpcEndpointArgs;
+     * import com.pulumi.aws.ec2.VpcEndpointRouteTableAssociation;
+     * import com.pulumi.aws.ec2.VpcEndpointRouteTableAssociationArgs;
      * import java.util.List;
      * import java.util.ArrayList;
      * import java.util.Map;
@@ -17222,8 +20370,15 @@ public static CompletableFuture getVpcDhcpOptionsPlain(
      *     }
      * 
      *     public static void stack(Context ctx) {
-     *         final var example = Ec2Functions.getVpcDhcpOptions(GetVpcDhcpOptionsArgs.builder()
-     *             .dhcpOptionsId("dopts-12345678")
+     *         // Declare the data source
+     *         final var s3 = Ec2Functions.getVpcEndpoint(GetVpcEndpointArgs.builder()
+     *             .vpcId(foo.id())
+     *             .serviceName("com.amazonaws.us-west-2.s3")
+     *             .build());
+     * 
+     *         var privateS3 = new VpcEndpointRouteTableAssociation("privateS3", VpcEndpointRouteTableAssociationArgs.builder()
+     *             .vpcEndpointId(s3.applyValue(getVpcEndpointResult -> getVpcEndpointResult.id()))
+     *             .routeTableId(private_.id())
      *             .build());
      * 
      *     }
@@ -17232,7 +20387,15 @@ public static CompletableFuture getVpcDhcpOptionsPlain(
      * 
* <!--End PulumiCodeChooser --> * - * ### Lookup by Filter + */ + public static Output getVpcEndpoint() { + return getVpcEndpoint(GetVpcEndpointArgs.Empty, InvokeOptions.Empty); + } + /** + * The VPC Endpoint data source provides details about + * a specific VPC endpoint. + * + * ## Example Usage * * <!--Start PulumiCodeChooser --> *
@@ -17243,7 +20406,9 @@ public static CompletableFuture getVpcDhcpOptionsPlain(
      * import com.pulumi.Pulumi;
      * import com.pulumi.core.Output;
      * import com.pulumi.aws.ec2.Ec2Functions;
-     * import com.pulumi.aws.ec2.inputs.GetVpcDhcpOptionsArgs;
+     * import com.pulumi.aws.ec2.inputs.GetVpcEndpointArgs;
+     * import com.pulumi.aws.ec2.VpcEndpointRouteTableAssociation;
+     * import com.pulumi.aws.ec2.VpcEndpointRouteTableAssociationArgs;
      * import java.util.List;
      * import java.util.ArrayList;
      * import java.util.Map;
@@ -17257,16 +20422,15 @@ public static CompletableFuture getVpcDhcpOptionsPlain(
      *     }
      * 
      *     public static void stack(Context ctx) {
-     *         final var example = Ec2Functions.getVpcDhcpOptions(GetVpcDhcpOptionsArgs.builder()
-     *             .filters(            
-     *                 GetVpcDhcpOptionsFilterArgs.builder()
-     *                     .name("key")
-     *                     .values("domain-name")
-     *                     .build(),
-     *                 GetVpcDhcpOptionsFilterArgs.builder()
-     *                     .name("value")
-     *                     .values("example.com")
-     *                     .build())
+     *         // Declare the data source
+     *         final var s3 = Ec2Functions.getVpcEndpoint(GetVpcEndpointArgs.builder()
+     *             .vpcId(foo.id())
+     *             .serviceName("com.amazonaws.us-west-2.s3")
+     *             .build());
+     * 
+     *         var privateS3 = new VpcEndpointRouteTableAssociation("privateS3", VpcEndpointRouteTableAssociationArgs.builder()
+     *             .vpcEndpointId(s3.applyValue(getVpcEndpointResult -> getVpcEndpointResult.id()))
+     *             .routeTableId(private_.id())
      *             .build());
      * 
      *     }
@@ -17276,16 +20440,15 @@ public static CompletableFuture getVpcDhcpOptionsPlain(
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static Output getVpcDhcpOptions(GetVpcDhcpOptionsArgs args, InvokeOptions options) {
-        return Deployment.getInstance().invoke("aws:ec2/getVpcDhcpOptions:getVpcDhcpOptions", TypeShape.of(GetVpcDhcpOptionsResult.class), args, Utilities.withVersion(options));
+    public static CompletableFuture getVpcEndpointPlain() {
+        return getVpcEndpointPlain(GetVpcEndpointPlainArgs.Empty, InvokeOptions.Empty);
     }
     /**
-     * Retrieve information about an EC2 DHCP Options configuration.
+     * The VPC Endpoint data source provides details about
+     * a specific VPC endpoint.
      * 
      * ## Example Usage
      * 
-     * ### Lookup by DHCP Options ID
-     * 
      * <!--Start PulumiCodeChooser -->
      * 
      * {@code
@@ -17295,7 +20458,9 @@ public static Output getVpcDhcpOptions(GetVpcDhcpOption
      * import com.pulumi.Pulumi;
      * import com.pulumi.core.Output;
      * import com.pulumi.aws.ec2.Ec2Functions;
-     * import com.pulumi.aws.ec2.inputs.GetVpcDhcpOptionsArgs;
+     * import com.pulumi.aws.ec2.inputs.GetVpcEndpointArgs;
+     * import com.pulumi.aws.ec2.VpcEndpointRouteTableAssociation;
+     * import com.pulumi.aws.ec2.VpcEndpointRouteTableAssociationArgs;
      * import java.util.List;
      * import java.util.ArrayList;
      * import java.util.Map;
@@ -17309,8 +20474,15 @@ public static Output getVpcDhcpOptions(GetVpcDhcpOption
      *     }
      * 
      *     public static void stack(Context ctx) {
-     *         final var example = Ec2Functions.getVpcDhcpOptions(GetVpcDhcpOptionsArgs.builder()
-     *             .dhcpOptionsId("dopts-12345678")
+     *         // Declare the data source
+     *         final var s3 = Ec2Functions.getVpcEndpoint(GetVpcEndpointArgs.builder()
+     *             .vpcId(foo.id())
+     *             .serviceName("com.amazonaws.us-west-2.s3")
+     *             .build());
+     * 
+     *         var privateS3 = new VpcEndpointRouteTableAssociation("privateS3", VpcEndpointRouteTableAssociationArgs.builder()
+     *             .vpcEndpointId(s3.applyValue(getVpcEndpointResult -> getVpcEndpointResult.id()))
+     *             .routeTableId(private_.id())
      *             .build());
      * 
      *     }
@@ -17319,7 +20491,15 @@ public static Output getVpcDhcpOptions(GetVpcDhcpOption
      * 
* <!--End PulumiCodeChooser --> * - * ### Lookup by Filter + */ + public static Output getVpcEndpoint(GetVpcEndpointArgs args) { + return getVpcEndpoint(args, InvokeOptions.Empty); + } + /** + * The VPC Endpoint data source provides details about + * a specific VPC endpoint. + * + * ## Example Usage * * <!--Start PulumiCodeChooser --> *
@@ -17330,7 +20510,9 @@ public static Output getVpcDhcpOptions(GetVpcDhcpOption
      * import com.pulumi.Pulumi;
      * import com.pulumi.core.Output;
      * import com.pulumi.aws.ec2.Ec2Functions;
-     * import com.pulumi.aws.ec2.inputs.GetVpcDhcpOptionsArgs;
+     * import com.pulumi.aws.ec2.inputs.GetVpcEndpointArgs;
+     * import com.pulumi.aws.ec2.VpcEndpointRouteTableAssociation;
+     * import com.pulumi.aws.ec2.VpcEndpointRouteTableAssociationArgs;
      * import java.util.List;
      * import java.util.ArrayList;
      * import java.util.Map;
@@ -17344,16 +20526,15 @@ public static Output getVpcDhcpOptions(GetVpcDhcpOption
      *     }
      * 
      *     public static void stack(Context ctx) {
-     *         final var example = Ec2Functions.getVpcDhcpOptions(GetVpcDhcpOptionsArgs.builder()
-     *             .filters(            
-     *                 GetVpcDhcpOptionsFilterArgs.builder()
-     *                     .name("key")
-     *                     .values("domain-name")
-     *                     .build(),
-     *                 GetVpcDhcpOptionsFilterArgs.builder()
-     *                     .name("value")
-     *                     .values("example.com")
-     *                     .build())
+     *         // Declare the data source
+     *         final var s3 = Ec2Functions.getVpcEndpoint(GetVpcEndpointArgs.builder()
+     *             .vpcId(foo.id())
+     *             .serviceName("com.amazonaws.us-west-2.s3")
+     *             .build());
+     * 
+     *         var privateS3 = new VpcEndpointRouteTableAssociation("privateS3", VpcEndpointRouteTableAssociationArgs.builder()
+     *             .vpcEndpointId(s3.applyValue(getVpcEndpointResult -> getVpcEndpointResult.id()))
+     *             .routeTableId(private_.id())
      *             .build());
      * 
      *     }
@@ -17363,8 +20544,8 @@ public static Output getVpcDhcpOptions(GetVpcDhcpOption
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static CompletableFuture getVpcDhcpOptionsPlain(GetVpcDhcpOptionsPlainArgs args, InvokeOptions options) {
-        return Deployment.getInstance().invokeAsync("aws:ec2/getVpcDhcpOptions:getVpcDhcpOptions", TypeShape.of(GetVpcDhcpOptionsResult.class), args, Utilities.withVersion(options));
+    public static CompletableFuture getVpcEndpointPlain(GetVpcEndpointPlainArgs args) {
+        return getVpcEndpointPlain(args, InvokeOptions.Empty);
     }
     /**
      * The VPC Endpoint data source provides details about
@@ -17415,8 +20596,8 @@ public static CompletableFuture getVpcDhcpOptionsPlain(
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static Output getVpcEndpoint() {
-        return getVpcEndpoint(GetVpcEndpointArgs.Empty, InvokeOptions.Empty);
+    public static Output getVpcEndpoint(GetVpcEndpointArgs args, InvokeOptions options) {
+        return Deployment.getInstance().invoke("aws:ec2/getVpcEndpoint:getVpcEndpoint", TypeShape.of(GetVpcEndpointResult.class), args, Utilities.withVersion(options));
     }
     /**
      * The VPC Endpoint data source provides details about
@@ -17467,8 +20648,8 @@ public static Output getVpcEndpoint() {
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static CompletableFuture getVpcEndpointPlain() {
-        return getVpcEndpointPlain(GetVpcEndpointPlainArgs.Empty, InvokeOptions.Empty);
+    public static Output getVpcEndpoint(GetVpcEndpointArgs args, InvokeOutputOptions options) {
+        return Deployment.getInstance().invoke("aws:ec2/getVpcEndpoint:getVpcEndpoint", TypeShape.of(GetVpcEndpointResult.class), args, Utilities.withVersion(options));
     }
     /**
      * The VPC Endpoint data source provides details about
@@ -17519,15 +20700,17 @@ public static CompletableFuture getVpcEndpointPlain() {
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static Output getVpcEndpoint(GetVpcEndpointArgs args) {
-        return getVpcEndpoint(args, InvokeOptions.Empty);
+    public static CompletableFuture getVpcEndpointPlain(GetVpcEndpointPlainArgs args, InvokeOptions options) {
+        return Deployment.getInstance().invokeAsync("aws:ec2/getVpcEndpoint:getVpcEndpoint", TypeShape.of(GetVpcEndpointResult.class), args, Utilities.withVersion(options));
     }
     /**
-     * The VPC Endpoint data source provides details about
-     * a specific VPC endpoint.
+     * The VPC Endpoint Service data source details about a specific service that
+     * can be specified when creating a VPC endpoint within the region configured in the provider.
      * 
      * ## Example Usage
      * 
+     * ### AWS Service
+     * 
      * <!--Start PulumiCodeChooser -->
      * 
      * {@code
@@ -17537,9 +20720,11 @@ public static Output getVpcEndpoint(GetVpcEndpointArgs arg
      * import com.pulumi.Pulumi;
      * import com.pulumi.core.Output;
      * import com.pulumi.aws.ec2.Ec2Functions;
-     * import com.pulumi.aws.ec2.inputs.GetVpcEndpointArgs;
-     * import com.pulumi.aws.ec2.VpcEndpointRouteTableAssociation;
-     * import com.pulumi.aws.ec2.VpcEndpointRouteTableAssociationArgs;
+     * import com.pulumi.aws.ec2.inputs.GetVpcEndpointServiceArgs;
+     * import com.pulumi.aws.ec2.Vpc;
+     * import com.pulumi.aws.ec2.VpcArgs;
+     * import com.pulumi.aws.ec2.VpcEndpoint;
+     * import com.pulumi.aws.ec2.VpcEndpointArgs;
      * import java.util.List;
      * import java.util.ArrayList;
      * import java.util.Map;
@@ -17554,14 +20739,20 @@ public static Output getVpcEndpoint(GetVpcEndpointArgs arg
      * 
      *     public static void stack(Context ctx) {
      *         // Declare the data source
-     *         final var s3 = Ec2Functions.getVpcEndpoint(GetVpcEndpointArgs.builder()
-     *             .vpcId(foo.id())
-     *             .serviceName("com.amazonaws.us-west-2.s3")
+     *         final var s3 = Ec2Functions.getVpcEndpointService(GetVpcEndpointServiceArgs.builder()
+     *             .service("s3")
+     *             .serviceType("Gateway")
      *             .build());
      * 
-     *         var privateS3 = new VpcEndpointRouteTableAssociation("privateS3", VpcEndpointRouteTableAssociationArgs.builder()
-     *             .vpcEndpointId(s3.applyValue(getVpcEndpointResult -> getVpcEndpointResult.id()))
-     *             .routeTableId(private_.id())
+     *         // Create a VPC
+     *         var foo = new Vpc("foo", VpcArgs.builder()
+     *             .cidrBlock("10.0.0.0/16")
+     *             .build());
+     * 
+     *         // Create a VPC endpoint
+     *         var ep = new VpcEndpoint("ep", VpcEndpointArgs.builder()
+     *             .vpcId(foo.id())
+     *             .serviceName(s3.applyValue(getVpcEndpointServiceResult -> getVpcEndpointServiceResult.serviceName()))
      *             .build());
      * 
      *     }
@@ -17570,15 +20761,7 @@ public static Output getVpcEndpoint(GetVpcEndpointArgs arg
      * 
* <!--End PulumiCodeChooser --> * - */ - public static CompletableFuture getVpcEndpointPlain(GetVpcEndpointPlainArgs args) { - return getVpcEndpointPlain(args, InvokeOptions.Empty); - } - /** - * The VPC Endpoint data source provides details about - * a specific VPC endpoint. - * - * ## Example Usage + * ### Non-AWS Service * * <!--Start PulumiCodeChooser --> *
@@ -17589,9 +20772,7 @@ public static CompletableFuture getVpcEndpointPlain(GetVpc
      * import com.pulumi.Pulumi;
      * import com.pulumi.core.Output;
      * import com.pulumi.aws.ec2.Ec2Functions;
-     * import com.pulumi.aws.ec2.inputs.GetVpcEndpointArgs;
-     * import com.pulumi.aws.ec2.VpcEndpointRouteTableAssociation;
-     * import com.pulumi.aws.ec2.VpcEndpointRouteTableAssociationArgs;
+     * import com.pulumi.aws.ec2.inputs.GetVpcEndpointServiceArgs;
      * import java.util.List;
      * import java.util.ArrayList;
      * import java.util.Map;
@@ -17605,15 +20786,8 @@ public static CompletableFuture getVpcEndpointPlain(GetVpc
      *     }
      * 
      *     public static void stack(Context ctx) {
-     *         // Declare the data source
-     *         final var s3 = Ec2Functions.getVpcEndpoint(GetVpcEndpointArgs.builder()
-     *             .vpcId(foo.id())
-     *             .serviceName("com.amazonaws.us-west-2.s3")
-     *             .build());
-     * 
-     *         var privateS3 = new VpcEndpointRouteTableAssociation("privateS3", VpcEndpointRouteTableAssociationArgs.builder()
-     *             .vpcEndpointId(s3.applyValue(getVpcEndpointResult -> getVpcEndpointResult.id()))
-     *             .routeTableId(private_.id())
+     *         final var custome = Ec2Functions.getVpcEndpointService(GetVpcEndpointServiceArgs.builder()
+     *             .serviceName("com.amazonaws.vpce.us-west-2.vpce-svc-0e87519c997c63cd8")
      *             .build());
      * 
      *     }
@@ -17622,15 +20796,7 @@ public static CompletableFuture getVpcEndpointPlain(GetVpc
      * 
* <!--End PulumiCodeChooser --> * - */ - public static Output getVpcEndpoint(GetVpcEndpointArgs args, InvokeOptions options) { - return Deployment.getInstance().invoke("aws:ec2/getVpcEndpoint:getVpcEndpoint", TypeShape.of(GetVpcEndpointResult.class), args, Utilities.withVersion(options)); - } - /** - * The VPC Endpoint data source provides details about - * a specific VPC endpoint. - * - * ## Example Usage + * ### Filter * * <!--Start PulumiCodeChooser --> *
@@ -17641,9 +20807,7 @@ public static Output getVpcEndpoint(GetVpcEndpointArgs arg
      * import com.pulumi.Pulumi;
      * import com.pulumi.core.Output;
      * import com.pulumi.aws.ec2.Ec2Functions;
-     * import com.pulumi.aws.ec2.inputs.GetVpcEndpointArgs;
-     * import com.pulumi.aws.ec2.VpcEndpointRouteTableAssociation;
-     * import com.pulumi.aws.ec2.VpcEndpointRouteTableAssociationArgs;
+     * import com.pulumi.aws.ec2.inputs.GetVpcEndpointServiceArgs;
      * import java.util.List;
      * import java.util.ArrayList;
      * import java.util.Map;
@@ -17657,15 +20821,11 @@ public static Output getVpcEndpoint(GetVpcEndpointArgs arg
      *     }
      * 
      *     public static void stack(Context ctx) {
-     *         // Declare the data source
-     *         final var s3 = Ec2Functions.getVpcEndpoint(GetVpcEndpointArgs.builder()
-     *             .vpcId(foo.id())
-     *             .serviceName("com.amazonaws.us-west-2.s3")
-     *             .build());
-     * 
-     *         var privateS3 = new VpcEndpointRouteTableAssociation("privateS3", VpcEndpointRouteTableAssociationArgs.builder()
-     *             .vpcEndpointId(s3.applyValue(getVpcEndpointResult -> getVpcEndpointResult.id()))
-     *             .routeTableId(private_.id())
+     *         final var test = Ec2Functions.getVpcEndpointService(GetVpcEndpointServiceArgs.builder()
+     *             .filters(GetVpcEndpointServiceFilterArgs.builder()
+     *                 .name("service-name")
+     *                 .values("some-service")
+     *                 .build())
      *             .build());
      * 
      *     }
@@ -17675,8 +20835,8 @@ public static Output getVpcEndpoint(GetVpcEndpointArgs arg
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static CompletableFuture getVpcEndpointPlain(GetVpcEndpointPlainArgs args, InvokeOptions options) {
-        return Deployment.getInstance().invokeAsync("aws:ec2/getVpcEndpoint:getVpcEndpoint", TypeShape.of(GetVpcEndpointResult.class), args, Utilities.withVersion(options));
+    public static Output getVpcEndpointService() {
+        return getVpcEndpointService(GetVpcEndpointServiceArgs.Empty, InvokeOptions.Empty);
     }
     /**
      * The VPC Endpoint Service data source details about a specific service that
@@ -17810,8 +20970,8 @@ public static CompletableFuture getVpcEndpointPlain(GetVpc
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static Output getVpcEndpointService() {
-        return getVpcEndpointService(GetVpcEndpointServiceArgs.Empty, InvokeOptions.Empty);
+    public static CompletableFuture getVpcEndpointServicePlain() {
+        return getVpcEndpointServicePlain(GetVpcEndpointServicePlainArgs.Empty, InvokeOptions.Empty);
     }
     /**
      * The VPC Endpoint Service data source details about a specific service that
@@ -17945,8 +21105,8 @@ public static Output getVpcEndpointService() {
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static CompletableFuture getVpcEndpointServicePlain() {
-        return getVpcEndpointServicePlain(GetVpcEndpointServicePlainArgs.Empty, InvokeOptions.Empty);
+    public static Output getVpcEndpointService(GetVpcEndpointServiceArgs args) {
+        return getVpcEndpointService(args, InvokeOptions.Empty);
     }
     /**
      * The VPC Endpoint Service data source details about a specific service that
@@ -18080,8 +21240,8 @@ public static CompletableFuture getVpcEndpointServi
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static Output getVpcEndpointService(GetVpcEndpointServiceArgs args) {
-        return getVpcEndpointService(args, InvokeOptions.Empty);
+    public static CompletableFuture getVpcEndpointServicePlain(GetVpcEndpointServicePlainArgs args) {
+        return getVpcEndpointServicePlain(args, InvokeOptions.Empty);
     }
     /**
      * The VPC Endpoint Service data source details about a specific service that
@@ -18215,8 +21375,8 @@ public static Output getVpcEndpointService(GetVpcEn
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static CompletableFuture getVpcEndpointServicePlain(GetVpcEndpointServicePlainArgs args) {
-        return getVpcEndpointServicePlain(args, InvokeOptions.Empty);
+    public static Output getVpcEndpointService(GetVpcEndpointServiceArgs args, InvokeOptions options) {
+        return Deployment.getInstance().invoke("aws:ec2/getVpcEndpointService:getVpcEndpointService", TypeShape.of(GetVpcEndpointServiceResult.class), args, Utilities.withVersion(options));
     }
     /**
      * The VPC Endpoint Service data source details about a specific service that
@@ -18350,7 +21510,7 @@ public static CompletableFuture getVpcEndpointServi
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static Output getVpcEndpointService(GetVpcEndpointServiceArgs args, InvokeOptions options) {
+    public static Output getVpcEndpointService(GetVpcEndpointServiceArgs args, InvokeOutputOptions options) {
         return Deployment.getInstance().invoke("aws:ec2/getVpcEndpointService:getVpcEndpointService", TypeShape.of(GetVpcEndpointServiceResult.class), args, Utilities.withVersion(options));
     }
     /**
@@ -18485,8 +21645,146 @@ public static Output getVpcEndpointService(GetVpcEn
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static CompletableFuture getVpcEndpointServicePlain(GetVpcEndpointServicePlainArgs args, InvokeOptions options) {
-        return Deployment.getInstance().invokeAsync("aws:ec2/getVpcEndpointService:getVpcEndpointService", TypeShape.of(GetVpcEndpointServiceResult.class), args, Utilities.withVersion(options));
+    public static CompletableFuture getVpcEndpointServicePlain(GetVpcEndpointServicePlainArgs args, InvokeOptions options) {
+        return Deployment.getInstance().invokeAsync("aws:ec2/getVpcEndpointService:getVpcEndpointService", TypeShape.of(GetVpcEndpointServiceResult.class), args, Utilities.withVersion(options));
+    }
+    /**
+     * `aws.ec2.VpcIpamPool` provides details about an IPAM pool.
+     * 
+     * This resource can prove useful when an ipam pool was created in another root
+     * module and you need the pool's id as an input variable. For example, pools
+     * can be shared via RAM and used to create vpcs with CIDRs from that pool.
+     * 
+     * ## Example Usage
+     * 
+     * The following example shows an account that has only 1 pool, perhaps shared
+     * via RAM, and using that pool id to create a VPC with a CIDR derived from
+     * AWS IPAM.
+     * 
+     * <!--Start PulumiCodeChooser -->
+     * 
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.ec2.Ec2Functions;
+     * import com.pulumi.aws.ec2.inputs.GetVpcIpamPoolArgs;
+     * import com.pulumi.aws.ec2.Vpc;
+     * import com.pulumi.aws.ec2.VpcArgs;
+     * 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 test = Ec2Functions.getVpcIpamPool(GetVpcIpamPoolArgs.builder()
+     *             .filters(            
+     *                 GetVpcIpamPoolFilterArgs.builder()
+     *                     .name("description")
+     *                     .values("*test*")
+     *                     .build(),
+     *                 GetVpcIpamPoolFilterArgs.builder()
+     *                     .name("address-family")
+     *                     .values("ipv4")
+     *                     .build())
+     *             .build());
+     * 
+     *         var testVpc = new Vpc("testVpc", VpcArgs.builder()
+     *             .ipv4IpamPoolId(test.applyValue(getVpcIpamPoolResult -> getVpcIpamPoolResult.id()))
+     *             .ipv4NetmaskLength(28)
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + * @deprecated + * aws.ec2/getvpciampool.getVpcIamPool has been deprecated in favor of aws.ec2/getvpcipampool.getVpcIpamPool + * + */ + @Deprecated /* aws.ec2/getvpciampool.getVpcIamPool has been deprecated in favor of aws.ec2/getvpcipampool.getVpcIpamPool */ + public static Output getVpcIamPool() { + return getVpcIamPool(GetVpcIamPoolArgs.Empty, InvokeOptions.Empty); + } + /** + * `aws.ec2.VpcIpamPool` provides details about an IPAM pool. + * + * This resource can prove useful when an ipam pool was created in another root + * module and you need the pool's id as an input variable. For example, pools + * can be shared via RAM and used to create vpcs with CIDRs from that pool. + * + * ## Example Usage + * + * The following example shows an account that has only 1 pool, perhaps shared + * via RAM, and using that pool id to create a VPC with a CIDR derived from + * AWS IPAM. + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.ec2.Ec2Functions;
+     * import com.pulumi.aws.ec2.inputs.GetVpcIpamPoolArgs;
+     * import com.pulumi.aws.ec2.Vpc;
+     * import com.pulumi.aws.ec2.VpcArgs;
+     * 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 test = Ec2Functions.getVpcIpamPool(GetVpcIpamPoolArgs.builder()
+     *             .filters(            
+     *                 GetVpcIpamPoolFilterArgs.builder()
+     *                     .name("description")
+     *                     .values("*test*")
+     *                     .build(),
+     *                 GetVpcIpamPoolFilterArgs.builder()
+     *                     .name("address-family")
+     *                     .values("ipv4")
+     *                     .build())
+     *             .build());
+     * 
+     *         var testVpc = new Vpc("testVpc", VpcArgs.builder()
+     *             .ipv4IpamPoolId(test.applyValue(getVpcIpamPoolResult -> getVpcIpamPoolResult.id()))
+     *             .ipv4NetmaskLength(28)
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + * @deprecated + * aws.ec2/getvpciampool.getVpcIamPool has been deprecated in favor of aws.ec2/getvpcipampool.getVpcIpamPool + * + */ + @Deprecated /* aws.ec2/getvpciampool.getVpcIamPool has been deprecated in favor of aws.ec2/getvpcipampool.getVpcIpamPool */ + public static CompletableFuture getVpcIamPoolPlain() { + return getVpcIamPoolPlain(GetVpcIamPoolPlainArgs.Empty, InvokeOptions.Empty); } /** * `aws.ec2.VpcIpamPool` provides details about an IPAM pool. @@ -18554,8 +21852,8 @@ public static CompletableFuture getVpcEndpointServi * */ @Deprecated /* aws.ec2/getvpciampool.getVpcIamPool has been deprecated in favor of aws.ec2/getvpcipampool.getVpcIpamPool */ - public static Output getVpcIamPool() { - return getVpcIamPool(GetVpcIamPoolArgs.Empty, InvokeOptions.Empty); + public static Output getVpcIamPool(GetVpcIamPoolArgs args) { + return getVpcIamPool(args, InvokeOptions.Empty); } /** * `aws.ec2.VpcIpamPool` provides details about an IPAM pool. @@ -18623,8 +21921,8 @@ public static Output getVpcIamPool() { * */ @Deprecated /* aws.ec2/getvpciampool.getVpcIamPool has been deprecated in favor of aws.ec2/getvpcipampool.getVpcIpamPool */ - public static CompletableFuture getVpcIamPoolPlain() { - return getVpcIamPoolPlain(GetVpcIamPoolPlainArgs.Empty, InvokeOptions.Empty); + public static CompletableFuture getVpcIamPoolPlain(GetVpcIamPoolPlainArgs args) { + return getVpcIamPoolPlain(args, InvokeOptions.Empty); } /** * `aws.ec2.VpcIpamPool` provides details about an IPAM pool. @@ -18692,8 +21990,8 @@ public static CompletableFuture getVpcIamPoolPlain() { * */ @Deprecated /* aws.ec2/getvpciampool.getVpcIamPool has been deprecated in favor of aws.ec2/getvpcipampool.getVpcIpamPool */ - public static Output getVpcIamPool(GetVpcIamPoolArgs args) { - return getVpcIamPool(args, InvokeOptions.Empty); + public static Output getVpcIamPool(GetVpcIamPoolArgs args, InvokeOptions options) { + return Deployment.getInstance().invoke("aws:ec2/getVpcIamPool:getVpcIamPool", TypeShape.of(GetVpcIamPoolResult.class), args, Utilities.withVersion(options)); } /** * `aws.ec2.VpcIpamPool` provides details about an IPAM pool. @@ -18761,8 +22059,8 @@ public static Output getVpcIamPool(GetVpcIamPoolArgs args) * */ @Deprecated /* aws.ec2/getvpciampool.getVpcIamPool has been deprecated in favor of aws.ec2/getvpcipampool.getVpcIpamPool */ - public static CompletableFuture getVpcIamPoolPlain(GetVpcIamPoolPlainArgs args) { - return getVpcIamPoolPlain(args, InvokeOptions.Empty); + public static Output getVpcIamPool(GetVpcIamPoolArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:ec2/getVpcIamPool:getVpcIamPool", TypeShape.of(GetVpcIamPoolResult.class), args, Utilities.withVersion(options)); } /** * `aws.ec2.VpcIpamPool` provides details about an IPAM pool. @@ -18830,21 +22128,17 @@ public static CompletableFuture getVpcIamPoolPlain(GetVpcIa * */ @Deprecated /* aws.ec2/getvpciampool.getVpcIamPool has been deprecated in favor of aws.ec2/getvpcipampool.getVpcIpamPool */ - public static Output getVpcIamPool(GetVpcIamPoolArgs args, InvokeOptions options) { - return Deployment.getInstance().invoke("aws:ec2/getVpcIamPool:getVpcIamPool", TypeShape.of(GetVpcIamPoolResult.class), args, Utilities.withVersion(options)); + public static CompletableFuture getVpcIamPoolPlain(GetVpcIamPoolPlainArgs args, InvokeOptions options) { + return Deployment.getInstance().invokeAsync("aws:ec2/getVpcIamPool:getVpcIamPool", TypeShape.of(GetVpcIamPoolResult.class), args, Utilities.withVersion(options)); } /** - * `aws.ec2.VpcIpamPool` provides details about an IPAM pool. + * `aws.ec2.getVpcIpamPoolCidrs` provides details about an IPAM pool. * - * This resource can prove useful when an ipam pool was created in another root - * module and you need the pool's id as an input variable. For example, pools - * can be shared via RAM and used to create vpcs with CIDRs from that pool. + * This resource can prove useful when an ipam pool was shared to your account and you want to know all (or a filtered list) of the CIDRs that are provisioned into the pool. * * ## Example Usage * - * The following example shows an account that has only 1 pool, perhaps shared - * via RAM, and using that pool id to create a VPC with a CIDR derived from - * AWS IPAM. + * Basic usage: * * <!--Start PulumiCodeChooser --> *
@@ -18856,8 +22150,7 @@ public static Output getVpcIamPool(GetVpcIamPoolArgs args,
      * import com.pulumi.core.Output;
      * import com.pulumi.aws.ec2.Ec2Functions;
      * import com.pulumi.aws.ec2.inputs.GetVpcIpamPoolArgs;
-     * import com.pulumi.aws.ec2.Vpc;
-     * import com.pulumi.aws.ec2.VpcArgs;
+     * import com.pulumi.aws.ec2.inputs.GetVpcIpamPoolCidrsArgs;
      * import java.util.List;
      * import java.util.ArrayList;
      * import java.util.Map;
@@ -18871,11 +22164,11 @@ public static Output getVpcIamPool(GetVpcIamPoolArgs args,
      *     }
      * 
      *     public static void stack(Context ctx) {
-     *         final var test = Ec2Functions.getVpcIpamPool(GetVpcIpamPoolArgs.builder()
+     *         final var p = Ec2Functions.getVpcIpamPool(GetVpcIpamPoolArgs.builder()
      *             .filters(            
      *                 GetVpcIpamPoolFilterArgs.builder()
      *                     .name("description")
-     *                     .values("*test*")
+     *                     .values("*mypool*")
      *                     .build(),
      *                 GetVpcIpamPoolFilterArgs.builder()
      *                     .name("address-family")
@@ -18883,9 +22176,8 @@ public static Output getVpcIamPool(GetVpcIamPoolArgs args,
      *                     .build())
      *             .build());
      * 
-     *         var testVpc = new Vpc("testVpc", VpcArgs.builder()
-     *             .ipv4IpamPoolId(test.applyValue(getVpcIpamPoolResult -> getVpcIpamPoolResult.id()))
-     *             .ipv4NetmaskLength(28)
+     *         final var c = Ec2Functions.getVpcIpamPoolCidrs(GetVpcIpamPoolCidrsArgs.builder()
+     *             .ipamPoolId(p.applyValue(getVpcIpamPoolResult -> getVpcIpamPoolResult.id()))
      *             .build());
      * 
      *     }
@@ -18894,13 +22186,18 @@ public static Output getVpcIamPool(GetVpcIamPoolArgs args,
      * 
* <!--End PulumiCodeChooser --> * + * Filtering: + * + * <!--Start PulumiCodeChooser --> + * <!--End PulumiCodeChooser --> + * * @deprecated - * aws.ec2/getvpciampool.getVpcIamPool has been deprecated in favor of aws.ec2/getvpcipampool.getVpcIpamPool + * aws.ec2/getvpciampoolcidrs.getVpcIamPoolCidrs has been deprecated in favor of aws.ec2/getvpcipampoolcidrs.getVpcIpamPoolCidrs * */ - @Deprecated /* aws.ec2/getvpciampool.getVpcIamPool has been deprecated in favor of aws.ec2/getvpcipampool.getVpcIpamPool */ - public static CompletableFuture getVpcIamPoolPlain(GetVpcIamPoolPlainArgs args, InvokeOptions options) { - return Deployment.getInstance().invokeAsync("aws:ec2/getVpcIamPool:getVpcIamPool", TypeShape.of(GetVpcIamPoolResult.class), args, Utilities.withVersion(options)); + @Deprecated /* aws.ec2/getvpciampoolcidrs.getVpcIamPoolCidrs has been deprecated in favor of aws.ec2/getvpcipampoolcidrs.getVpcIpamPoolCidrs */ + public static Output getVpcIamPoolCidrs(GetVpcIamPoolCidrsArgs args) { + return getVpcIamPoolCidrs(args, InvokeOptions.Empty); } /** * `aws.ec2.getVpcIpamPoolCidrs` provides details about an IPAM pool. @@ -18967,8 +22264,8 @@ public static CompletableFuture getVpcIamPoolPlain(GetVpcIa * */ @Deprecated /* aws.ec2/getvpciampoolcidrs.getVpcIamPoolCidrs has been deprecated in favor of aws.ec2/getvpcipampoolcidrs.getVpcIpamPoolCidrs */ - public static Output getVpcIamPoolCidrs(GetVpcIamPoolCidrsArgs args) { - return getVpcIamPoolCidrs(args, InvokeOptions.Empty); + public static CompletableFuture getVpcIamPoolCidrsPlain(GetVpcIamPoolCidrsPlainArgs args) { + return getVpcIamPoolCidrsPlain(args, InvokeOptions.Empty); } /** * `aws.ec2.getVpcIpamPoolCidrs` provides details about an IPAM pool. @@ -19035,8 +22332,8 @@ public static Output getVpcIamPoolCidrs(GetVpcIamPoolC * */ @Deprecated /* aws.ec2/getvpciampoolcidrs.getVpcIamPoolCidrs has been deprecated in favor of aws.ec2/getvpcipampoolcidrs.getVpcIpamPoolCidrs */ - public static CompletableFuture getVpcIamPoolCidrsPlain(GetVpcIamPoolCidrsPlainArgs args) { - return getVpcIamPoolCidrsPlain(args, InvokeOptions.Empty); + public static Output getVpcIamPoolCidrs(GetVpcIamPoolCidrsArgs args, InvokeOptions options) { + return Deployment.getInstance().invoke("aws:ec2/getVpcIamPoolCidrs:getVpcIamPoolCidrs", TypeShape.of(GetVpcIamPoolCidrsResult.class), args, Utilities.withVersion(options)); } /** * `aws.ec2.getVpcIpamPoolCidrs` provides details about an IPAM pool. @@ -19103,7 +22400,7 @@ public static CompletableFuture getVpcIamPoolCidrsPlai * */ @Deprecated /* aws.ec2/getvpciampoolcidrs.getVpcIamPoolCidrs has been deprecated in favor of aws.ec2/getvpcipampoolcidrs.getVpcIpamPoolCidrs */ - public static Output getVpcIamPoolCidrs(GetVpcIamPoolCidrsArgs args, InvokeOptions options) { + public static Output getVpcIamPoolCidrs(GetVpcIamPoolCidrsArgs args, InvokeOutputOptions options) { return Deployment.getInstance().invoke("aws:ec2/getVpcIamPoolCidrs:getVpcIamPoolCidrs", TypeShape.of(GetVpcIamPoolCidrsResult.class), args, Utilities.withVersion(options)); } /** @@ -19519,6 +22816,64 @@ public static Output getVpcIamPools(GetVpcIamPoolsArgs arg * */ @Deprecated /* aws.ec2/getvpciampools.getVpcIamPools has been deprecated in favor of aws.ec2/getvpcipampools.getVpcIpamPools */ + public static Output getVpcIamPools(GetVpcIamPoolsArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:ec2/getVpcIamPools:getVpcIamPools", TypeShape.of(GetVpcIamPoolsResult.class), args, Utilities.withVersion(options)); + } + /** + * `aws.ec2.getVpcIpamPools` provides details about IPAM pools. + * + * This resource can prove useful when IPAM pools are created in another root + * module and you need the pool ids as input variables. For example, pools + * can be shared via RAM and used to create vpcs with CIDRs from that pool. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.ec2.Ec2Functions;
+     * import com.pulumi.aws.ec2.inputs.GetVpcIpamPoolsArgs;
+     * 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 test = Ec2Functions.getVpcIpamPools(GetVpcIpamPoolsArgs.builder()
+     *             .filters(            
+     *                 GetVpcIpamPoolsFilterArgs.builder()
+     *                     .name("description")
+     *                     .values("*test*")
+     *                     .build(),
+     *                 GetVpcIpamPoolsFilterArgs.builder()
+     *                     .name("address-family")
+     *                     .values("ipv4")
+     *                     .build())
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + * @deprecated + * aws.ec2/getvpciampools.getVpcIamPools has been deprecated in favor of aws.ec2/getvpcipampools.getVpcIpamPools + * + */ + @Deprecated /* aws.ec2/getvpciampools.getVpcIamPools has been deprecated in favor of aws.ec2/getvpcipampools.getVpcIpamPools */ public static CompletableFuture getVpcIamPoolsPlain(GetVpcIamPoolsPlainArgs args, InvokeOptions options) { return Deployment.getInstance().invokeAsync("aws:ec2/getVpcIamPools:getVpcIamPools", TypeShape.of(GetVpcIamPoolsResult.class), args, Utilities.withVersion(options)); } @@ -19870,8 +23225,133 @@ public static Output getVpcIpamPool(GetVpcIpamPoolArgs arg * import com.pulumi.core.Output; * import com.pulumi.aws.ec2.Ec2Functions; * import com.pulumi.aws.ec2.inputs.GetVpcIpamPoolArgs; - * import com.pulumi.aws.ec2.Vpc; - * import com.pulumi.aws.ec2.VpcArgs; + * import com.pulumi.aws.ec2.Vpc; + * import com.pulumi.aws.ec2.VpcArgs; + * 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 test = Ec2Functions.getVpcIpamPool(GetVpcIpamPoolArgs.builder() + * .filters( + * GetVpcIpamPoolFilterArgs.builder() + * .name("description") + * .values("*test*") + * .build(), + * GetVpcIpamPoolFilterArgs.builder() + * .name("address-family") + * .values("ipv4") + * .build()) + * .build()); + * + * var testVpc = new Vpc("testVpc", VpcArgs.builder() + * .ipv4IpamPoolId(test.applyValue(getVpcIpamPoolResult -> getVpcIpamPoolResult.id())) + * .ipv4NetmaskLength(28) + * .build()); + * + * } + * } + * } + *
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getVpcIpamPool(GetVpcIpamPoolArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:ec2/getVpcIpamPool:getVpcIpamPool", TypeShape.of(GetVpcIpamPoolResult.class), args, Utilities.withVersion(options)); + } + /** + * `aws.ec2.VpcIpamPool` provides details about an IPAM pool. + * + * This resource can prove useful when an ipam pool was created in another root + * module and you need the pool's id as an input variable. For example, pools + * can be shared via RAM and used to create vpcs with CIDRs from that pool. + * + * ## Example Usage + * + * The following example shows an account that has only 1 pool, perhaps shared + * via RAM, and using that pool id to create a VPC with a CIDR derived from + * AWS IPAM. + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.ec2.Ec2Functions;
+     * import com.pulumi.aws.ec2.inputs.GetVpcIpamPoolArgs;
+     * import com.pulumi.aws.ec2.Vpc;
+     * import com.pulumi.aws.ec2.VpcArgs;
+     * 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 test = Ec2Functions.getVpcIpamPool(GetVpcIpamPoolArgs.builder()
+     *             .filters(            
+     *                 GetVpcIpamPoolFilterArgs.builder()
+     *                     .name("description")
+     *                     .values("*test*")
+     *                     .build(),
+     *                 GetVpcIpamPoolFilterArgs.builder()
+     *                     .name("address-family")
+     *                     .values("ipv4")
+     *                     .build())
+     *             .build());
+     * 
+     *         var testVpc = new Vpc("testVpc", VpcArgs.builder()
+     *             .ipv4IpamPoolId(test.applyValue(getVpcIpamPoolResult -> getVpcIpamPoolResult.id()))
+     *             .ipv4NetmaskLength(28)
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static CompletableFuture getVpcIpamPoolPlain(GetVpcIpamPoolPlainArgs args, InvokeOptions options) { + return Deployment.getInstance().invokeAsync("aws:ec2/getVpcIpamPool:getVpcIpamPool", TypeShape.of(GetVpcIpamPoolResult.class), args, Utilities.withVersion(options)); + } + /** + * `aws.ec2.getVpcIpamPoolCidrs` provides details about an IPAM pool. + * + * This resource can prove useful when an ipam pool was shared to your account and you want to know all (or a filtered list) of the CIDRs that are provisioned into the pool. + * + * ## Example Usage + * + * Basic usage: + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.ec2.Ec2Functions;
+     * import com.pulumi.aws.ec2.inputs.GetVpcIpamPoolArgs;
+     * import com.pulumi.aws.ec2.inputs.GetVpcIpamPoolCidrsArgs;
      * import java.util.List;
      * import java.util.ArrayList;
      * import java.util.Map;
@@ -19885,11 +23365,11 @@ public static Output getVpcIpamPool(GetVpcIpamPoolArgs arg
      *     }
      * 
      *     public static void stack(Context ctx) {
-     *         final var test = Ec2Functions.getVpcIpamPool(GetVpcIpamPoolArgs.builder()
+     *         final var p = Ec2Functions.getVpcIpamPool(GetVpcIpamPoolArgs.builder()
      *             .filters(            
      *                 GetVpcIpamPoolFilterArgs.builder()
      *                     .name("description")
-     *                     .values("*test*")
+     *                     .values("*mypool*")
      *                     .build(),
      *                 GetVpcIpamPoolFilterArgs.builder()
      *                     .name("address-family")
@@ -19897,9 +23377,8 @@ public static Output getVpcIpamPool(GetVpcIpamPoolArgs arg
      *                     .build())
      *             .build());
      * 
-     *         var testVpc = new Vpc("testVpc", VpcArgs.builder()
-     *             .ipv4IpamPoolId(test.applyValue(getVpcIpamPoolResult -> getVpcIpamPoolResult.id()))
-     *             .ipv4NetmaskLength(28)
+     *         final var c = Ec2Functions.getVpcIpamPoolCidrs(GetVpcIpamPoolCidrsArgs.builder()
+     *             .ipamPoolId(p.applyValue(getVpcIpamPoolResult -> getVpcIpamPoolResult.id()))
      *             .build());
      * 
      *     }
@@ -19908,9 +23387,14 @@ public static Output getVpcIpamPool(GetVpcIpamPoolArgs arg
      * 
* <!--End PulumiCodeChooser --> * + * Filtering: + * + * <!--Start PulumiCodeChooser --> + * <!--End PulumiCodeChooser --> + * */ - public static CompletableFuture getVpcIpamPoolPlain(GetVpcIpamPoolPlainArgs args, InvokeOptions options) { - return Deployment.getInstance().invokeAsync("aws:ec2/getVpcIpamPool:getVpcIpamPool", TypeShape.of(GetVpcIpamPoolResult.class), args, Utilities.withVersion(options)); + public static Output getVpcIpamPoolCidrs(GetVpcIpamPoolCidrsArgs args) { + return getVpcIpamPoolCidrs(args, InvokeOptions.Empty); } /** * `aws.ec2.getVpcIpamPoolCidrs` provides details about an IPAM pool. @@ -19973,8 +23457,8 @@ public static CompletableFuture getVpcIpamPoolPlain(GetVpc * <!--End PulumiCodeChooser --> * */ - public static Output getVpcIpamPoolCidrs(GetVpcIpamPoolCidrsArgs args) { - return getVpcIpamPoolCidrs(args, InvokeOptions.Empty); + public static CompletableFuture getVpcIpamPoolCidrsPlain(GetVpcIpamPoolCidrsPlainArgs args) { + return getVpcIpamPoolCidrsPlain(args, InvokeOptions.Empty); } /** * `aws.ec2.getVpcIpamPoolCidrs` provides details about an IPAM pool. @@ -20037,8 +23521,8 @@ public static Output getVpcIpamPoolCidrs(GetVpcIpamPo * <!--End PulumiCodeChooser --> * */ - public static CompletableFuture getVpcIpamPoolCidrsPlain(GetVpcIpamPoolCidrsPlainArgs args) { - return getVpcIpamPoolCidrsPlain(args, InvokeOptions.Empty); + public static Output getVpcIpamPoolCidrs(GetVpcIpamPoolCidrsArgs args, InvokeOptions options) { + return Deployment.getInstance().invoke("aws:ec2/getVpcIpamPoolCidrs:getVpcIpamPoolCidrs", TypeShape.of(GetVpcIpamPoolCidrsResult.class), args, Utilities.withVersion(options)); } /** * `aws.ec2.getVpcIpamPoolCidrs` provides details about an IPAM pool. @@ -20101,7 +23585,7 @@ public static CompletableFuture getVpcIpamPoolCidrsPl * <!--End PulumiCodeChooser --> * */ - public static Output getVpcIpamPoolCidrs(GetVpcIpamPoolCidrsArgs args, InvokeOptions options) { + public static Output getVpcIpamPoolCidrs(GetVpcIpamPoolCidrsArgs args, InvokeOutputOptions options) { return Deployment.getInstance().invoke("aws:ec2/getVpcIpamPoolCidrs:getVpcIpamPoolCidrs", TypeShape.of(GetVpcIpamPoolCidrsResult.class), args, Utilities.withVersion(options)); } /** @@ -20438,6 +23922,60 @@ public static CompletableFuture getVpcIpamPoolsPlain(GetV public static Output getVpcIpamPools(GetVpcIpamPoolsArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:ec2/getVpcIpamPools:getVpcIpamPools", TypeShape.of(GetVpcIpamPoolsResult.class), args, Utilities.withVersion(options)); } + /** + * `aws.ec2.getVpcIpamPools` provides details about IPAM pools. + * + * This resource can prove useful when IPAM pools are created in another root + * module and you need the pool ids as input variables. For example, pools + * can be shared via RAM and used to create vpcs with CIDRs from that pool. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.ec2.Ec2Functions;
+     * import com.pulumi.aws.ec2.inputs.GetVpcIpamPoolsArgs;
+     * 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 test = Ec2Functions.getVpcIpamPools(GetVpcIpamPoolsArgs.builder()
+     *             .filters(            
+     *                 GetVpcIpamPoolsFilterArgs.builder()
+     *                     .name("description")
+     *                     .values("*test*")
+     *                     .build(),
+     *                 GetVpcIpamPoolsFilterArgs.builder()
+     *                     .name("address-family")
+     *                     .values("ipv4")
+     *                     .build())
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getVpcIpamPools(GetVpcIpamPoolsArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:ec2/getVpcIpamPools:getVpcIpamPools", TypeShape.of(GetVpcIpamPoolsResult.class), args, Utilities.withVersion(options)); + } /** * `aws.ec2.getVpcIpamPools` provides details about IPAM pools. * @@ -20797,6 +24335,67 @@ public static CompletableFuture getVpcPeeringConn public static Output getVpcPeeringConnection(GetVpcPeeringConnectionArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:ec2/getVpcPeeringConnection:getVpcPeeringConnection", TypeShape.of(GetVpcPeeringConnectionResult.class), args, Utilities.withVersion(options)); } + /** + * The VPC Peering Connection data source provides details about + * a specific VPC peering connection. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.ec2.Ec2Functions;
+     * import com.pulumi.aws.ec2.inputs.GetVpcPeeringConnectionArgs;
+     * import com.pulumi.aws.ec2.RouteTable;
+     * import com.pulumi.aws.ec2.RouteTableArgs;
+     * import com.pulumi.aws.ec2.Route;
+     * import com.pulumi.aws.ec2.RouteArgs;
+     * 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) {
+     *         // Declare the data source
+     *         final var pc = Ec2Functions.getVpcPeeringConnection(GetVpcPeeringConnectionArgs.builder()
+     *             .vpcId(foo.id())
+     *             .peerCidrBlock("10.0.1.0/22")
+     *             .build());
+     * 
+     *         // Create a route table
+     *         var rt = new RouteTable("rt", RouteTableArgs.builder()
+     *             .vpcId(foo.id())
+     *             .build());
+     * 
+     *         // Create a route
+     *         var r = new Route("r", RouteArgs.builder()
+     *             .routeTableId(rt.id())
+     *             .destinationCidrBlock(pc.applyValue(getVpcPeeringConnectionResult -> getVpcPeeringConnectionResult.peerCidrBlock()))
+     *             .vpcPeeringConnectionId(pc.applyValue(getVpcPeeringConnectionResult -> getVpcPeeringConnectionResult.id()))
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getVpcPeeringConnection(GetVpcPeeringConnectionArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:ec2/getVpcPeeringConnection:getVpcPeeringConnection", TypeShape.of(GetVpcPeeringConnectionResult.class), args, Utilities.withVersion(options)); + } /** * The VPC Peering Connection data source provides details about * a specific VPC peering connection. @@ -20938,6 +24537,22 @@ public static CompletableFuture getVpcPeeringCon public static Output getVpcPeeringConnections(GetVpcPeeringConnectionsArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:ec2/getVpcPeeringConnections:getVpcPeeringConnections", TypeShape.of(GetVpcPeeringConnectionsResult.class), args, Utilities.withVersion(options)); } + /** + * Use this data source to get IDs of Amazon VPC peering connections + * To get more details on each connection, use the data resource aws.ec2.VpcPeeringConnection + * + * Note: To use this data source in a count, the resources should exist before trying to access + * the data source. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + * <!--End PulumiCodeChooser --> + * + */ + public static Output getVpcPeeringConnections(GetVpcPeeringConnectionsArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:ec2/getVpcPeeringConnections:getVpcPeeringConnections", TypeShape.of(GetVpcPeeringConnectionsResult.class), args, Utilities.withVersion(options)); + } /** * Use this data source to get IDs of Amazon VPC peering connections * To get more details on each connection, use the data resource aws.ec2.VpcPeeringConnection @@ -21214,6 +24829,58 @@ public static CompletableFuture getVpcsPlain(GetVpcsPlainArgs arg public static Output getVpcs(GetVpcsArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:ec2/getVpcs:getVpcs", TypeShape.of(GetVpcsResult.class), args, Utilities.withVersion(options)); } + /** + * This resource can be useful for getting back a list of VPC Ids for a region. + * + * The following example retrieves a list of VPC Ids with a custom tag of `service` set to a value of "production". + * + * ## Example Usage + * + * The following shows outputting all VPC Ids. + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.ec2.Ec2Functions;
+     * import com.pulumi.aws.ec2.inputs.GetVpcsArgs;
+     * 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 foo = Ec2Functions.getVpcs(GetVpcsArgs.builder()
+     *             .tags(Map.of("service", "production"))
+     *             .build());
+     * 
+     *         ctx.export("foo", foo.applyValue(getVpcsResult -> getVpcsResult.ids()));
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + * An example use case would be interpolate the `aws.ec2.getVpcs` output into `count` of an aws.ec2.FlowLog resource. + * + * <!--Start PulumiCodeChooser --> + * <!--End PulumiCodeChooser --> + * + */ + public static Output getVpcs(GetVpcsArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:ec2/getVpcs:getVpcs", TypeShape.of(GetVpcsResult.class), args, Utilities.withVersion(options)); + } /** * This resource can be useful for getting back a list of VPC Ids for a region. * @@ -21501,6 +25168,53 @@ public static CompletableFuture getVpnGatewayPlain(GetVpnGa public static Output getVpnGateway(GetVpnGatewayArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:ec2/getVpnGateway:getVpnGateway", TypeShape.of(GetVpnGatewayResult.class), args, Utilities.withVersion(options)); } + /** + * The VPN Gateway data source provides details about + * a specific VPN gateway. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.ec2.Ec2Functions;
+     * import com.pulumi.aws.ec2.inputs.GetVpnGatewayArgs;
+     * 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 selected = Ec2Functions.getVpnGateway(GetVpnGatewayArgs.builder()
+     *             .filters(GetVpnGatewayFilterArgs.builder()
+     *                 .name("tag:Name")
+     *                 .values("vpn-gw")
+     *                 .build())
+     *             .build());
+     * 
+     *         ctx.export("vpnGatewayId", selected.applyValue(getVpnGatewayResult -> getVpnGatewayResult.id()));
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getVpnGateway(GetVpnGatewayArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:ec2/getVpnGateway:getVpnGateway", TypeShape.of(GetVpnGatewayResult.class), args, Utilities.withVersion(options)); + } /** * The VPN Gateway data source provides details about * a specific VPN gateway. diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/Instance.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/Instance.java index b03c48b72a8..782b6cb833a 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/Instance.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/Instance.java @@ -548,6 +548,20 @@ public Output> ebsBlockDevices() { public Output ebsOptimized() { return this.ebsOptimized; } + /** + * Whether to assign a primary IPv6 Global Unicast Address (GUA) to the instance when launched in a dual-stack or IPv6-only subnet. A primary IPv6 address ensures a consistent IPv6 address for the instance and is automatically assigned by AWS to the ENI. Once enabled, the first IPv6 GUA becomes the primary IPv6 address and cannot be disabled. The primary IPv6 address remains until the instance is terminated or the ENI is detached. Disabling `enable_primary_ipv6` after it has been enabled forces recreation of the instance. + * + */ + @Export(name="enablePrimaryIpv6", refs={Boolean.class}, tree="[0]") + private Output enablePrimaryIpv6; + + /** + * @return Whether to assign a primary IPv6 Global Unicast Address (GUA) to the instance when launched in a dual-stack or IPv6-only subnet. A primary IPv6 address ensures a consistent IPv6 address for the instance and is automatically assigned by AWS to the ENI. Once enabled, the first IPv6 GUA becomes the primary IPv6 address and cannot be disabled. The primary IPv6 address remains until the instance is terminated or the ENI is detached. Disabling `enable_primary_ipv6` after it has been enabled forces recreation of the instance. + * + */ + public Output enablePrimaryIpv6() { + return this.enablePrimaryIpv6; + } /** * Enable Nitro Enclaves on launched instances. See Enclave Options below for more details. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/InstanceArgs.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/InstanceArgs.java index ad39c9ee770..322ebc7f9ed 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/InstanceArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/InstanceArgs.java @@ -235,6 +235,21 @@ public Optional> ebsOptimized() { return Optional.ofNullable(this.ebsOptimized); } + /** + * Whether to assign a primary IPv6 Global Unicast Address (GUA) to the instance when launched in a dual-stack or IPv6-only subnet. A primary IPv6 address ensures a consistent IPv6 address for the instance and is automatically assigned by AWS to the ENI. Once enabled, the first IPv6 GUA becomes the primary IPv6 address and cannot be disabled. The primary IPv6 address remains until the instance is terminated or the ENI is detached. Disabling `enable_primary_ipv6` after it has been enabled forces recreation of the instance. + * + */ + @Import(name="enablePrimaryIpv6") + private @Nullable Output enablePrimaryIpv6; + + /** + * @return Whether to assign a primary IPv6 Global Unicast Address (GUA) to the instance when launched in a dual-stack or IPv6-only subnet. A primary IPv6 address ensures a consistent IPv6 address for the instance and is automatically assigned by AWS to the ENI. Once enabled, the first IPv6 GUA becomes the primary IPv6 address and cannot be disabled. The primary IPv6 address remains until the instance is terminated or the ENI is detached. Disabling `enable_primary_ipv6` after it has been enabled forces recreation of the instance. + * + */ + public Optional> enablePrimaryIpv6() { + return Optional.ofNullable(this.enablePrimaryIpv6); + } + /** * Enable Nitro Enclaves on launched instances. See Enclave Options below for more details. * @@ -776,6 +791,7 @@ private InstanceArgs(InstanceArgs $) { this.disableApiTermination = $.disableApiTermination; this.ebsBlockDevices = $.ebsBlockDevices; this.ebsOptimized = $.ebsOptimized; + this.enablePrimaryIpv6 = $.enablePrimaryIpv6; this.enclaveOptions = $.enclaveOptions; this.ephemeralBlockDevices = $.ephemeralBlockDevices; this.getPasswordData = $.getPasswordData; @@ -1112,6 +1128,27 @@ public Builder ebsOptimized(Boolean ebsOptimized) { return ebsOptimized(Output.of(ebsOptimized)); } + /** + * @param enablePrimaryIpv6 Whether to assign a primary IPv6 Global Unicast Address (GUA) to the instance when launched in a dual-stack or IPv6-only subnet. A primary IPv6 address ensures a consistent IPv6 address for the instance and is automatically assigned by AWS to the ENI. Once enabled, the first IPv6 GUA becomes the primary IPv6 address and cannot be disabled. The primary IPv6 address remains until the instance is terminated or the ENI is detached. Disabling `enable_primary_ipv6` after it has been enabled forces recreation of the instance. + * + * @return builder + * + */ + public Builder enablePrimaryIpv6(@Nullable Output enablePrimaryIpv6) { + $.enablePrimaryIpv6 = enablePrimaryIpv6; + return this; + } + + /** + * @param enablePrimaryIpv6 Whether to assign a primary IPv6 Global Unicast Address (GUA) to the instance when launched in a dual-stack or IPv6-only subnet. A primary IPv6 address ensures a consistent IPv6 address for the instance and is automatically assigned by AWS to the ENI. Once enabled, the first IPv6 GUA becomes the primary IPv6 address and cannot be disabled. The primary IPv6 address remains until the instance is terminated or the ENI is detached. Disabling `enable_primary_ipv6` after it has been enabled forces recreation of the instance. + * + * @return builder + * + */ + public Builder enablePrimaryIpv6(Boolean enablePrimaryIpv6) { + return enablePrimaryIpv6(Output.of(enablePrimaryIpv6)); + } + /** * @param enclaveOptions Enable Nitro Enclaves on launched instances. See Enclave Options below for more details. * 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 6f839c18e77..cab4431d247 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 @@ -134,6 +134,20 @@ public Output> attachments() { public Output> description() { return Codegen.optional(this.description); } + /** + * Enables assigning a primary IPv6 Global Unicast Address (GUA) to the network interface (ENI) in dual-stack or IPv6-only subnets. This ensures the instance attached to the ENI retains a consistent IPv6 address. Once enabled, the first IPv6 GUA becomes the primary IPv6 address and cannot be disabled. The primary IPv6 address remains assigned until the instance is terminated or the ENI is detached. Enabling and subsequent disabling forces recreation of the ENI. + * + */ + @Export(name="enablePrimaryIpv6", refs={Boolean.class}, tree="[0]") + private Output enablePrimaryIpv6; + + /** + * @return Enables assigning a primary IPv6 Global Unicast Address (GUA) to the network interface (ENI) in dual-stack or IPv6-only subnets. This ensures the instance attached to the ENI retains a consistent IPv6 address. Once enabled, the first IPv6 GUA becomes the primary IPv6 address and cannot be disabled. The primary IPv6 address remains assigned until the instance is terminated or the ENI is detached. Enabling and subsequent disabling forces recreation of the ENI. + * + */ + public Output enablePrimaryIpv6() { + return this.enablePrimaryIpv6; + } /** * Type of network interface to create. Set to `efa` for Elastic Fabric Adapter. Changing `interface_type` will cause the resource to be destroyed and re-created. * @@ -191,14 +205,14 @@ public Output ipv6AddressCount() { return this.ipv6AddressCount; } /** - * Whether `ipv6_address_list` is allowed and controls the IPs to assign to the ENI and `ipv6_addresses` and `ipv6_address_count` become read-only. Default false. + * Whether `ipv6_address_list` is allowed and controls the IPs to assign to the ENI and `ipv6_addresses` and `ipv6_address_count` become read-only. Default is `false`. * */ @Export(name="ipv6AddressListEnabled", refs={Boolean.class}, tree="[0]") private Output ipv6AddressListEnabled; /** - * @return Whether `ipv6_address_list` is allowed and controls the IPs to assign to the ENI and `ipv6_addresses` and `ipv6_address_count` become read-only. Default false. + * @return Whether `ipv6_address_list` is allowed and controls the IPs to assign to the ENI and `ipv6_addresses` and `ipv6_address_count` become read-only. Default is `false`. * */ public Output> ipv6AddressListEnabled() { @@ -315,14 +329,14 @@ public Output privateIp() { return this.privateIp; } /** - * Whether `private_ip_list` is allowed and controls the IPs to assign to the ENI and `private_ips` and `private_ips_count` become read-only. Default false. + * Whether `private_ip_list` is allowed and controls the IPs to assign to the ENI and `private_ips` and `private_ips_count` become read-only. Default is `false`. * */ @Export(name="privateIpListEnabled", refs={Boolean.class}, tree="[0]") private Output privateIpListEnabled; /** - * @return Whether `private_ip_list` is allowed and controls the IPs to assign to the ENI and `private_ips` and `private_ips_count` become read-only. Default false. + * @return Whether `private_ip_list` is allowed and controls the IPs to assign to the ENI and `private_ips` and `private_ips_count` become read-only. Default is `false`. * */ public Output> privateIpListEnabled() { diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/NetworkInterfaceArgs.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/NetworkInterfaceArgs.java index 9feebe274ab..cd121458c4d 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/NetworkInterfaceArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/NetworkInterfaceArgs.java @@ -51,6 +51,21 @@ public Optional> description() { return Optional.ofNullable(this.description); } + /** + * Enables assigning a primary IPv6 Global Unicast Address (GUA) to the network interface (ENI) in dual-stack or IPv6-only subnets. This ensures the instance attached to the ENI retains a consistent IPv6 address. Once enabled, the first IPv6 GUA becomes the primary IPv6 address and cannot be disabled. The primary IPv6 address remains assigned until the instance is terminated or the ENI is detached. Enabling and subsequent disabling forces recreation of the ENI. + * + */ + @Import(name="enablePrimaryIpv6") + private @Nullable Output enablePrimaryIpv6; + + /** + * @return Enables assigning a primary IPv6 Global Unicast Address (GUA) to the network interface (ENI) in dual-stack or IPv6-only subnets. This ensures the instance attached to the ENI retains a consistent IPv6 address. Once enabled, the first IPv6 GUA becomes the primary IPv6 address and cannot be disabled. The primary IPv6 address remains assigned until the instance is terminated or the ENI is detached. Enabling and subsequent disabling forces recreation of the ENI. + * + */ + public Optional> enablePrimaryIpv6() { + return Optional.ofNullable(this.enablePrimaryIpv6); + } + /** * Type of network interface to create. Set to `efa` for Elastic Fabric Adapter. Changing `interface_type` will cause the resource to be destroyed and re-created. * @@ -112,14 +127,14 @@ public Optional> ipv6AddressCount() { } /** - * Whether `ipv6_address_list` is allowed and controls the IPs to assign to the ENI and `ipv6_addresses` and `ipv6_address_count` become read-only. Default false. + * Whether `ipv6_address_list` is allowed and controls the IPs to assign to the ENI and `ipv6_addresses` and `ipv6_address_count` become read-only. Default is `false`. * */ @Import(name="ipv6AddressListEnabled") private @Nullable Output ipv6AddressListEnabled; /** - * @return Whether `ipv6_address_list` is allowed and controls the IPs to assign to the ENI and `ipv6_addresses` and `ipv6_address_count` become read-only. Default false. + * @return Whether `ipv6_address_list` is allowed and controls the IPs to assign to the ENI and `ipv6_addresses` and `ipv6_address_count` become read-only. Default is `false`. * */ public Optional> ipv6AddressListEnabled() { @@ -194,14 +209,14 @@ public Optional> privateIp() { } /** - * Whether `private_ip_list` is allowed and controls the IPs to assign to the ENI and `private_ips` and `private_ips_count` become read-only. Default false. + * Whether `private_ip_list` is allowed and controls the IPs to assign to the ENI and `private_ips` and `private_ips_count` become read-only. Default is `false`. * */ @Import(name="privateIpListEnabled") private @Nullable Output privateIpListEnabled; /** - * @return Whether `private_ip_list` is allowed and controls the IPs to assign to the ENI and `private_ips` and `private_ips_count` become read-only. Default false. + * @return Whether `private_ip_list` is allowed and controls the IPs to assign to the ENI and `private_ips` and `private_ips_count` become read-only. Default is `false`. * */ public Optional> privateIpListEnabled() { @@ -322,6 +337,7 @@ private NetworkInterfaceArgs() {} private NetworkInterfaceArgs(NetworkInterfaceArgs $) { this.attachments = $.attachments; this.description = $.description; + this.enablePrimaryIpv6 = $.enablePrimaryIpv6; this.interfaceType = $.interfaceType; this.ipv4PrefixCount = $.ipv4PrefixCount; this.ipv4Prefixes = $.ipv4Prefixes; @@ -412,6 +428,27 @@ public Builder description(String description) { return description(Output.of(description)); } + /** + * @param enablePrimaryIpv6 Enables assigning a primary IPv6 Global Unicast Address (GUA) to the network interface (ENI) in dual-stack or IPv6-only subnets. This ensures the instance attached to the ENI retains a consistent IPv6 address. Once enabled, the first IPv6 GUA becomes the primary IPv6 address and cannot be disabled. The primary IPv6 address remains assigned until the instance is terminated or the ENI is detached. Enabling and subsequent disabling forces recreation of the ENI. + * + * @return builder + * + */ + public Builder enablePrimaryIpv6(@Nullable Output enablePrimaryIpv6) { + $.enablePrimaryIpv6 = enablePrimaryIpv6; + return this; + } + + /** + * @param enablePrimaryIpv6 Enables assigning a primary IPv6 Global Unicast Address (GUA) to the network interface (ENI) in dual-stack or IPv6-only subnets. This ensures the instance attached to the ENI retains a consistent IPv6 address. Once enabled, the first IPv6 GUA becomes the primary IPv6 address and cannot be disabled. The primary IPv6 address remains assigned until the instance is terminated or the ENI is detached. Enabling and subsequent disabling forces recreation of the ENI. + * + * @return builder + * + */ + public Builder enablePrimaryIpv6(Boolean enablePrimaryIpv6) { + return enablePrimaryIpv6(Output.of(enablePrimaryIpv6)); + } + /** * @param interfaceType Type of network interface to create. Set to `efa` for Elastic Fabric Adapter. Changing `interface_type` will cause the resource to be destroyed and re-created. * @@ -507,7 +544,7 @@ public Builder ipv6AddressCount(Integer ipv6AddressCount) { } /** - * @param ipv6AddressListEnabled Whether `ipv6_address_list` is allowed and controls the IPs to assign to the ENI and `ipv6_addresses` and `ipv6_address_count` become read-only. Default false. + * @param ipv6AddressListEnabled Whether `ipv6_address_list` is allowed and controls the IPs to assign to the ENI and `ipv6_addresses` and `ipv6_address_count` become read-only. Default is `false`. * * @return builder * @@ -518,7 +555,7 @@ public Builder ipv6AddressListEnabled(@Nullable Output ipv6AddressListE } /** - * @param ipv6AddressListEnabled Whether `ipv6_address_list` is allowed and controls the IPs to assign to the ENI and `ipv6_addresses` and `ipv6_address_count` become read-only. Default false. + * @param ipv6AddressListEnabled Whether `ipv6_address_list` is allowed and controls the IPs to assign to the ENI and `ipv6_addresses` and `ipv6_address_count` become read-only. Default is `false`. * * @return builder * @@ -651,7 +688,7 @@ public Builder privateIp(String privateIp) { } /** - * @param privateIpListEnabled Whether `private_ip_list` is allowed and controls the IPs to assign to the ENI and `private_ips` and `private_ips_count` become read-only. Default false. + * @param privateIpListEnabled Whether `private_ip_list` is allowed and controls the IPs to assign to the ENI and `private_ips` and `private_ips_count` become read-only. Default is `false`. * * @return builder * @@ -662,7 +699,7 @@ public Builder privateIpListEnabled(@Nullable Output privateIpListEnabl } /** - * @param privateIpListEnabled Whether `private_ip_list` is allowed and controls the IPs to assign to the ENI and `private_ips` and `private_ips_count` become read-only. Default false. + * @param privateIpListEnabled Whether `private_ip_list` is allowed and controls the IPs to assign to the ENI and `private_ips` and `private_ips_count` become read-only. Default is `false`. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/SpotInstanceRequest.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/SpotInstanceRequest.java index 3afb7e3c9b8..c2e6da9a67e 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/SpotInstanceRequest.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/SpotInstanceRequest.java @@ -303,6 +303,20 @@ public Output> ebsBlockDevices() { public Output ebsOptimized() { return this.ebsOptimized; } + /** + * Whether to assign a primary IPv6 Global Unicast Address (GUA) to the instance when launched in a dual-stack or IPv6-only subnet. A primary IPv6 address ensures a consistent IPv6 address for the instance and is automatically assigned by AWS to the ENI. Once enabled, the first IPv6 GUA becomes the primary IPv6 address and cannot be disabled. The primary IPv6 address remains until the instance is terminated or the ENI is detached. Disabling `enable_primary_ipv6` after it has been enabled forces recreation of the instance. + * + */ + @Export(name="enablePrimaryIpv6", refs={Boolean.class}, tree="[0]") + private Output enablePrimaryIpv6; + + /** + * @return Whether to assign a primary IPv6 Global Unicast Address (GUA) to the instance when launched in a dual-stack or IPv6-only subnet. A primary IPv6 address ensures a consistent IPv6 address for the instance and is automatically assigned by AWS to the ENI. Once enabled, the first IPv6 GUA becomes the primary IPv6 address and cannot be disabled. The primary IPv6 address remains until the instance is terminated or the ENI is detached. Disabling `enable_primary_ipv6` after it has been enabled forces recreation of the instance. + * + */ + public Output enablePrimaryIpv6() { + return this.enablePrimaryIpv6; + } /** * Enable Nitro Enclaves on launched instances. See Enclave Options below for more details. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/SpotInstanceRequestArgs.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/SpotInstanceRequestArgs.java index 8235230e78e..f3fc3bf3a21 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/SpotInstanceRequestArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/SpotInstanceRequestArgs.java @@ -250,6 +250,21 @@ public Optional> ebsOptimized() { return Optional.ofNullable(this.ebsOptimized); } + /** + * Whether to assign a primary IPv6 Global Unicast Address (GUA) to the instance when launched in a dual-stack or IPv6-only subnet. A primary IPv6 address ensures a consistent IPv6 address for the instance and is automatically assigned by AWS to the ENI. Once enabled, the first IPv6 GUA becomes the primary IPv6 address and cannot be disabled. The primary IPv6 address remains until the instance is terminated or the ENI is detached. Disabling `enable_primary_ipv6` after it has been enabled forces recreation of the instance. + * + */ + @Import(name="enablePrimaryIpv6") + private @Nullable Output enablePrimaryIpv6; + + /** + * @return Whether to assign a primary IPv6 Global Unicast Address (GUA) to the instance when launched in a dual-stack or IPv6-only subnet. A primary IPv6 address ensures a consistent IPv6 address for the instance and is automatically assigned by AWS to the ENI. Once enabled, the first IPv6 GUA becomes the primary IPv6 address and cannot be disabled. The primary IPv6 address remains until the instance is terminated or the ENI is detached. Disabling `enable_primary_ipv6` after it has been enabled forces recreation of the instance. + * + */ + public Optional> enablePrimaryIpv6() { + return Optional.ofNullable(this.enablePrimaryIpv6); + } + /** * Enable Nitro Enclaves on launched instances. See Enclave Options below for more details. * @@ -882,6 +897,7 @@ private SpotInstanceRequestArgs(SpotInstanceRequestArgs $) { this.disableApiTermination = $.disableApiTermination; this.ebsBlockDevices = $.ebsBlockDevices; this.ebsOptimized = $.ebsOptimized; + this.enablePrimaryIpv6 = $.enablePrimaryIpv6; this.enclaveOptions = $.enclaveOptions; this.ephemeralBlockDevices = $.ephemeralBlockDevices; this.getPasswordData = $.getPasswordData; @@ -1249,6 +1265,27 @@ public Builder ebsOptimized(Boolean ebsOptimized) { return ebsOptimized(Output.of(ebsOptimized)); } + /** + * @param enablePrimaryIpv6 Whether to assign a primary IPv6 Global Unicast Address (GUA) to the instance when launched in a dual-stack or IPv6-only subnet. A primary IPv6 address ensures a consistent IPv6 address for the instance and is automatically assigned by AWS to the ENI. Once enabled, the first IPv6 GUA becomes the primary IPv6 address and cannot be disabled. The primary IPv6 address remains until the instance is terminated or the ENI is detached. Disabling `enable_primary_ipv6` after it has been enabled forces recreation of the instance. + * + * @return builder + * + */ + public Builder enablePrimaryIpv6(@Nullable Output enablePrimaryIpv6) { + $.enablePrimaryIpv6 = enablePrimaryIpv6; + return this; + } + + /** + * @param enablePrimaryIpv6 Whether to assign a primary IPv6 Global Unicast Address (GUA) to the instance when launched in a dual-stack or IPv6-only subnet. A primary IPv6 address ensures a consistent IPv6 address for the instance and is automatically assigned by AWS to the ENI. Once enabled, the first IPv6 GUA becomes the primary IPv6 address and cannot be disabled. The primary IPv6 address remains until the instance is terminated or the ENI is detached. Disabling `enable_primary_ipv6` after it has been enabled forces recreation of the instance. + * + * @return builder + * + */ + public Builder enablePrimaryIpv6(Boolean enablePrimaryIpv6) { + return enablePrimaryIpv6(Output.of(enablePrimaryIpv6)); + } + /** * @param enclaveOptions Enable Nitro Enclaves on launched instances. See Enclave Options below for more details. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/inputs/InstanceState.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/inputs/InstanceState.java index 4139bee64e2..fdd191a60e9 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/inputs/InstanceState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/inputs/InstanceState.java @@ -250,6 +250,21 @@ public Optional> ebsOptimized() { return Optional.ofNullable(this.ebsOptimized); } + /** + * Whether to assign a primary IPv6 Global Unicast Address (GUA) to the instance when launched in a dual-stack or IPv6-only subnet. A primary IPv6 address ensures a consistent IPv6 address for the instance and is automatically assigned by AWS to the ENI. Once enabled, the first IPv6 GUA becomes the primary IPv6 address and cannot be disabled. The primary IPv6 address remains until the instance is terminated or the ENI is detached. Disabling `enable_primary_ipv6` after it has been enabled forces recreation of the instance. + * + */ + @Import(name="enablePrimaryIpv6") + private @Nullable Output enablePrimaryIpv6; + + /** + * @return Whether to assign a primary IPv6 Global Unicast Address (GUA) to the instance when launched in a dual-stack or IPv6-only subnet. A primary IPv6 address ensures a consistent IPv6 address for the instance and is automatically assigned by AWS to the ENI. Once enabled, the first IPv6 GUA becomes the primary IPv6 address and cannot be disabled. The primary IPv6 address remains until the instance is terminated or the ENI is detached. Disabling `enable_primary_ipv6` after it has been enabled forces recreation of the instance. + * + */ + public Optional> enablePrimaryIpv6() { + return Optional.ofNullable(this.enablePrimaryIpv6); + } + /** * Enable Nitro Enclaves on launched instances. See Enclave Options below for more details. * @@ -950,6 +965,7 @@ private InstanceState(InstanceState $) { this.disableApiTermination = $.disableApiTermination; this.ebsBlockDevices = $.ebsBlockDevices; this.ebsOptimized = $.ebsOptimized; + this.enablePrimaryIpv6 = $.enablePrimaryIpv6; this.enclaveOptions = $.enclaveOptions; this.ephemeralBlockDevices = $.ephemeralBlockDevices; this.getPasswordData = $.getPasswordData; @@ -1317,6 +1333,27 @@ public Builder ebsOptimized(Boolean ebsOptimized) { return ebsOptimized(Output.of(ebsOptimized)); } + /** + * @param enablePrimaryIpv6 Whether to assign a primary IPv6 Global Unicast Address (GUA) to the instance when launched in a dual-stack or IPv6-only subnet. A primary IPv6 address ensures a consistent IPv6 address for the instance and is automatically assigned by AWS to the ENI. Once enabled, the first IPv6 GUA becomes the primary IPv6 address and cannot be disabled. The primary IPv6 address remains until the instance is terminated or the ENI is detached. Disabling `enable_primary_ipv6` after it has been enabled forces recreation of the instance. + * + * @return builder + * + */ + public Builder enablePrimaryIpv6(@Nullable Output enablePrimaryIpv6) { + $.enablePrimaryIpv6 = enablePrimaryIpv6; + return this; + } + + /** + * @param enablePrimaryIpv6 Whether to assign a primary IPv6 Global Unicast Address (GUA) to the instance when launched in a dual-stack or IPv6-only subnet. A primary IPv6 address ensures a consistent IPv6 address for the instance and is automatically assigned by AWS to the ENI. Once enabled, the first IPv6 GUA becomes the primary IPv6 address and cannot be disabled. The primary IPv6 address remains until the instance is terminated or the ENI is detached. Disabling `enable_primary_ipv6` after it has been enabled forces recreation of the instance. + * + * @return builder + * + */ + public Builder enablePrimaryIpv6(Boolean enablePrimaryIpv6) { + return enablePrimaryIpv6(Output.of(enablePrimaryIpv6)); + } + /** * @param enclaveOptions Enable Nitro Enclaves on launched instances. See Enclave Options below for more details. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/inputs/LaunchTemplateNetworkInterfaceArgs.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/inputs/LaunchTemplateNetworkInterfaceArgs.java index 61a7a0f6ab1..43d0c10ff2a 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/inputs/LaunchTemplateNetworkInterfaceArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/inputs/LaunchTemplateNetworkInterfaceArgs.java @@ -18,18 +18,14 @@ public final class LaunchTemplateNetworkInterfaceArgs extends com.pulumi.resourc public static final LaunchTemplateNetworkInterfaceArgs Empty = new LaunchTemplateNetworkInterfaceArgs(); /** - * Associate a Carrier IP address with `eth0` for a new network interface. - * Use this option when you launch an instance in a Wavelength Zone and want to associate a Carrier IP address with the network interface. - * Boolean value, can be left unset. + * Associate a Carrier IP address with `eth0` for a new network interface. Use this option when you launch an instance in a Wavelength Zone and want to associate a Carrier IP address with the network interface. Boolean value, can be left unset. * */ @Import(name="associateCarrierIpAddress") private @Nullable Output associateCarrierIpAddress; /** - * @return Associate a Carrier IP address with `eth0` for a new network interface. - * Use this option when you launch an instance in a Wavelength Zone and want to associate a Carrier IP address with the network interface. - * Boolean value, can be left unset. + * @return Associate a Carrier IP address with `eth0` for a new network interface. Use this option when you launch an instance in a Wavelength Zone and want to associate a Carrier IP address with the network interface. Boolean value, can be left unset. * */ public Optional> associateCarrierIpAddress() { @@ -37,16 +33,14 @@ public Optional> associateCarrierIpAddress() { } /** - * Associate a public ip address with the network interface. - * Boolean value, can be left unset. + * Associate a public ip address with the network interface. Boolean value, can be left unset. * */ @Import(name="associatePublicIpAddress") private @Nullable Output associatePublicIpAddress; /** - * @return Associate a public ip address with the network interface. - * Boolean value, can be left unset. + * @return Associate a public ip address with the network interface. Boolean value, can be left unset. * */ public Optional> associatePublicIpAddress() { @@ -367,9 +361,7 @@ public Builder(LaunchTemplateNetworkInterfaceArgs defaults) { } /** - * @param associateCarrierIpAddress Associate a Carrier IP address with `eth0` for a new network interface. - * Use this option when you launch an instance in a Wavelength Zone and want to associate a Carrier IP address with the network interface. - * Boolean value, can be left unset. + * @param associateCarrierIpAddress Associate a Carrier IP address with `eth0` for a new network interface. Use this option when you launch an instance in a Wavelength Zone and want to associate a Carrier IP address with the network interface. Boolean value, can be left unset. * * @return builder * @@ -380,9 +372,7 @@ public Builder associateCarrierIpAddress(@Nullable Output associateCarri } /** - * @param associateCarrierIpAddress Associate a Carrier IP address with `eth0` for a new network interface. - * Use this option when you launch an instance in a Wavelength Zone and want to associate a Carrier IP address with the network interface. - * Boolean value, can be left unset. + * @param associateCarrierIpAddress Associate a Carrier IP address with `eth0` for a new network interface. Use this option when you launch an instance in a Wavelength Zone and want to associate a Carrier IP address with the network interface. Boolean value, can be left unset. * * @return builder * @@ -392,8 +382,7 @@ public Builder associateCarrierIpAddress(String associateCarrierIpAddress) { } /** - * @param associatePublicIpAddress Associate a public ip address with the network interface. - * Boolean value, can be left unset. + * @param associatePublicIpAddress Associate a public ip address with the network interface. Boolean value, can be left unset. * * @return builder * @@ -404,8 +393,7 @@ public Builder associatePublicIpAddress(@Nullable Output associatePublic } /** - * @param associatePublicIpAddress Associate a public ip address with the network interface. - * Boolean value, can be left unset. + * @param associatePublicIpAddress Associate a public ip address with the network interface. Boolean value, can be left unset. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/inputs/NetworkInterfaceState.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/inputs/NetworkInterfaceState.java index d471373410e..7f65dff1e73 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/inputs/NetworkInterfaceState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/inputs/NetworkInterfaceState.java @@ -65,6 +65,21 @@ public Optional> description() { return Optional.ofNullable(this.description); } + /** + * Enables assigning a primary IPv6 Global Unicast Address (GUA) to the network interface (ENI) in dual-stack or IPv6-only subnets. This ensures the instance attached to the ENI retains a consistent IPv6 address. Once enabled, the first IPv6 GUA becomes the primary IPv6 address and cannot be disabled. The primary IPv6 address remains assigned until the instance is terminated or the ENI is detached. Enabling and subsequent disabling forces recreation of the ENI. + * + */ + @Import(name="enablePrimaryIpv6") + private @Nullable Output enablePrimaryIpv6; + + /** + * @return Enables assigning a primary IPv6 Global Unicast Address (GUA) to the network interface (ENI) in dual-stack or IPv6-only subnets. This ensures the instance attached to the ENI retains a consistent IPv6 address. Once enabled, the first IPv6 GUA becomes the primary IPv6 address and cannot be disabled. The primary IPv6 address remains assigned until the instance is terminated or the ENI is detached. Enabling and subsequent disabling forces recreation of the ENI. + * + */ + public Optional> enablePrimaryIpv6() { + return Optional.ofNullable(this.enablePrimaryIpv6); + } + /** * Type of network interface to create. Set to `efa` for Elastic Fabric Adapter. Changing `interface_type` will cause the resource to be destroyed and re-created. * @@ -126,14 +141,14 @@ public Optional> ipv6AddressCount() { } /** - * Whether `ipv6_address_list` is allowed and controls the IPs to assign to the ENI and `ipv6_addresses` and `ipv6_address_count` become read-only. Default false. + * Whether `ipv6_address_list` is allowed and controls the IPs to assign to the ENI and `ipv6_addresses` and `ipv6_address_count` become read-only. Default is `false`. * */ @Import(name="ipv6AddressListEnabled") private @Nullable Output ipv6AddressListEnabled; /** - * @return Whether `ipv6_address_list` is allowed and controls the IPs to assign to the ENI and `ipv6_addresses` and `ipv6_address_count` become read-only. Default false. + * @return Whether `ipv6_address_list` is allowed and controls the IPs to assign to the ENI and `ipv6_addresses` and `ipv6_address_count` become read-only. Default is `false`. * */ public Optional> ipv6AddressListEnabled() { @@ -260,14 +275,14 @@ public Optional> privateIp() { } /** - * Whether `private_ip_list` is allowed and controls the IPs to assign to the ENI and `private_ips` and `private_ips_count` become read-only. Default false. + * Whether `private_ip_list` is allowed and controls the IPs to assign to the ENI and `private_ips` and `private_ips_count` become read-only. Default is `false`. * */ @Import(name="privateIpListEnabled") private @Nullable Output privateIpListEnabled; /** - * @return Whether `private_ip_list` is allowed and controls the IPs to assign to the ENI and `private_ips` and `private_ips_count` become read-only. Default false. + * @return Whether `private_ip_list` is allowed and controls the IPs to assign to the ENI and `private_ips` and `private_ips_count` become read-only. Default is `false`. * */ public Optional> privateIpListEnabled() { @@ -412,6 +427,7 @@ private NetworkInterfaceState(NetworkInterfaceState $) { this.arn = $.arn; this.attachments = $.attachments; this.description = $.description; + this.enablePrimaryIpv6 = $.enablePrimaryIpv6; this.interfaceType = $.interfaceType; this.ipv4PrefixCount = $.ipv4PrefixCount; this.ipv4Prefixes = $.ipv4Prefixes; @@ -528,6 +544,27 @@ public Builder description(String description) { return description(Output.of(description)); } + /** + * @param enablePrimaryIpv6 Enables assigning a primary IPv6 Global Unicast Address (GUA) to the network interface (ENI) in dual-stack or IPv6-only subnets. This ensures the instance attached to the ENI retains a consistent IPv6 address. Once enabled, the first IPv6 GUA becomes the primary IPv6 address and cannot be disabled. The primary IPv6 address remains assigned until the instance is terminated or the ENI is detached. Enabling and subsequent disabling forces recreation of the ENI. + * + * @return builder + * + */ + public Builder enablePrimaryIpv6(@Nullable Output enablePrimaryIpv6) { + $.enablePrimaryIpv6 = enablePrimaryIpv6; + return this; + } + + /** + * @param enablePrimaryIpv6 Enables assigning a primary IPv6 Global Unicast Address (GUA) to the network interface (ENI) in dual-stack or IPv6-only subnets. This ensures the instance attached to the ENI retains a consistent IPv6 address. Once enabled, the first IPv6 GUA becomes the primary IPv6 address and cannot be disabled. The primary IPv6 address remains assigned until the instance is terminated or the ENI is detached. Enabling and subsequent disabling forces recreation of the ENI. + * + * @return builder + * + */ + public Builder enablePrimaryIpv6(Boolean enablePrimaryIpv6) { + return enablePrimaryIpv6(Output.of(enablePrimaryIpv6)); + } + /** * @param interfaceType Type of network interface to create. Set to `efa` for Elastic Fabric Adapter. Changing `interface_type` will cause the resource to be destroyed and re-created. * @@ -623,7 +660,7 @@ public Builder ipv6AddressCount(Integer ipv6AddressCount) { } /** - * @param ipv6AddressListEnabled Whether `ipv6_address_list` is allowed and controls the IPs to assign to the ENI and `ipv6_addresses` and `ipv6_address_count` become read-only. Default false. + * @param ipv6AddressListEnabled Whether `ipv6_address_list` is allowed and controls the IPs to assign to the ENI and `ipv6_addresses` and `ipv6_address_count` become read-only. Default is `false`. * * @return builder * @@ -634,7 +671,7 @@ public Builder ipv6AddressListEnabled(@Nullable Output ipv6AddressListE } /** - * @param ipv6AddressListEnabled Whether `ipv6_address_list` is allowed and controls the IPs to assign to the ENI and `ipv6_addresses` and `ipv6_address_count` become read-only. Default false. + * @param ipv6AddressListEnabled Whether `ipv6_address_list` is allowed and controls the IPs to assign to the ENI and `ipv6_addresses` and `ipv6_address_count` become read-only. Default is `false`. * * @return builder * @@ -839,7 +876,7 @@ public Builder privateIp(String privateIp) { } /** - * @param privateIpListEnabled Whether `private_ip_list` is allowed and controls the IPs to assign to the ENI and `private_ips` and `private_ips_count` become read-only. Default false. + * @param privateIpListEnabled Whether `private_ip_list` is allowed and controls the IPs to assign to the ENI and `private_ips` and `private_ips_count` become read-only. Default is `false`. * * @return builder * @@ -850,7 +887,7 @@ public Builder privateIpListEnabled(@Nullable Output privateIpListEnabl } /** - * @param privateIpListEnabled Whether `private_ip_list` is allowed and controls the IPs to assign to the ENI and `private_ips` and `private_ips_count` become read-only. Default false. + * @param privateIpListEnabled Whether `private_ip_list` is allowed and controls the IPs to assign to the ENI and `private_ips` and `private_ips_count` become read-only. Default is `false`. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/inputs/SpotInstanceRequestState.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/inputs/SpotInstanceRequestState.java index 26bda07b8f6..e8cb6929f50 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/inputs/SpotInstanceRequestState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/inputs/SpotInstanceRequestState.java @@ -257,6 +257,21 @@ public Optional> ebsOptimized() { return Optional.ofNullable(this.ebsOptimized); } + /** + * Whether to assign a primary IPv6 Global Unicast Address (GUA) to the instance when launched in a dual-stack or IPv6-only subnet. A primary IPv6 address ensures a consistent IPv6 address for the instance and is automatically assigned by AWS to the ENI. Once enabled, the first IPv6 GUA becomes the primary IPv6 address and cannot be disabled. The primary IPv6 address remains until the instance is terminated or the ENI is detached. Disabling `enable_primary_ipv6` after it has been enabled forces recreation of the instance. + * + */ + @Import(name="enablePrimaryIpv6") + private @Nullable Output enablePrimaryIpv6; + + /** + * @return Whether to assign a primary IPv6 Global Unicast Address (GUA) to the instance when launched in a dual-stack or IPv6-only subnet. A primary IPv6 address ensures a consistent IPv6 address for the instance and is automatically assigned by AWS to the ENI. Once enabled, the first IPv6 GUA becomes the primary IPv6 address and cannot be disabled. The primary IPv6 address remains until the instance is terminated or the ENI is detached. Disabling `enable_primary_ipv6` after it has been enabled forces recreation of the instance. + * + */ + public Optional> enablePrimaryIpv6() { + return Optional.ofNullable(this.enablePrimaryIpv6); + } + /** * Enable Nitro Enclaves on launched instances. See Enclave Options below for more details. * @@ -1047,6 +1062,7 @@ private SpotInstanceRequestState(SpotInstanceRequestState $) { this.disableApiTermination = $.disableApiTermination; this.ebsBlockDevices = $.ebsBlockDevices; this.ebsOptimized = $.ebsOptimized; + this.enablePrimaryIpv6 = $.enablePrimaryIpv6; this.enclaveOptions = $.enclaveOptions; this.ephemeralBlockDevices = $.ephemeralBlockDevices; this.getPasswordData = $.getPasswordData; @@ -1434,6 +1450,27 @@ public Builder ebsOptimized(Boolean ebsOptimized) { return ebsOptimized(Output.of(ebsOptimized)); } + /** + * @param enablePrimaryIpv6 Whether to assign a primary IPv6 Global Unicast Address (GUA) to the instance when launched in a dual-stack or IPv6-only subnet. A primary IPv6 address ensures a consistent IPv6 address for the instance and is automatically assigned by AWS to the ENI. Once enabled, the first IPv6 GUA becomes the primary IPv6 address and cannot be disabled. The primary IPv6 address remains until the instance is terminated or the ENI is detached. Disabling `enable_primary_ipv6` after it has been enabled forces recreation of the instance. + * + * @return builder + * + */ + public Builder enablePrimaryIpv6(@Nullable Output enablePrimaryIpv6) { + $.enablePrimaryIpv6 = enablePrimaryIpv6; + return this; + } + + /** + * @param enablePrimaryIpv6 Whether to assign a primary IPv6 Global Unicast Address (GUA) to the instance when launched in a dual-stack or IPv6-only subnet. A primary IPv6 address ensures a consistent IPv6 address for the instance and is automatically assigned by AWS to the ENI. Once enabled, the first IPv6 GUA becomes the primary IPv6 address and cannot be disabled. The primary IPv6 address remains until the instance is terminated or the ENI is detached. Disabling `enable_primary_ipv6` after it has been enabled forces recreation of the instance. + * + * @return builder + * + */ + public Builder enablePrimaryIpv6(Boolean enablePrimaryIpv6) { + return enablePrimaryIpv6(Output.of(enablePrimaryIpv6)); + } + /** * @param enclaveOptions Enable Nitro Enclaves on launched instances. See Enclave Options below for more details. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/outputs/LaunchTemplateNetworkInterface.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/outputs/LaunchTemplateNetworkInterface.java index 3084cca6079..0388b7c47ba 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/outputs/LaunchTemplateNetworkInterface.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/outputs/LaunchTemplateNetworkInterface.java @@ -14,15 +14,12 @@ @CustomType public final class LaunchTemplateNetworkInterface { /** - * @return Associate a Carrier IP address with `eth0` for a new network interface. - * Use this option when you launch an instance in a Wavelength Zone and want to associate a Carrier IP address with the network interface. - * Boolean value, can be left unset. + * @return Associate a Carrier IP address with `eth0` for a new network interface. Use this option when you launch an instance in a Wavelength Zone and want to associate a Carrier IP address with the network interface. Boolean value, can be left unset. * */ private @Nullable String associateCarrierIpAddress; /** - * @return Associate a public ip address with the network interface. - * Boolean value, can be left unset. + * @return Associate a public ip address with the network interface. Boolean value, can be left unset. * */ private @Nullable String associatePublicIpAddress; @@ -119,17 +116,14 @@ public final class LaunchTemplateNetworkInterface { private LaunchTemplateNetworkInterface() {} /** - * @return Associate a Carrier IP address with `eth0` for a new network interface. - * Use this option when you launch an instance in a Wavelength Zone and want to associate a Carrier IP address with the network interface. - * Boolean value, can be left unset. + * @return Associate a Carrier IP address with `eth0` for a new network interface. Use this option when you launch an instance in a Wavelength Zone and want to associate a Carrier IP address with the network interface. Boolean value, can be left unset. * */ public Optional associateCarrierIpAddress() { return Optional.ofNullable(this.associateCarrierIpAddress); } /** - * @return Associate a public ip address with the network interface. - * Boolean value, can be left unset. + * @return Associate a public ip address with the network interface. Boolean value, can be left unset. * */ public Optional associatePublicIpAddress() { diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2clientvpn/Ec2clientvpnFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/ec2clientvpn/Ec2clientvpnFunctions.java index 52415b2385e..4d56cac26bd 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2clientvpn/Ec2clientvpnFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2clientvpn/Ec2clientvpnFunctions.java @@ -11,6 +11,7 @@ import com.pulumi.core.TypeShape; import com.pulumi.deployment.Deployment; import com.pulumi.deployment.InvokeOptions; +import com.pulumi.deployment.InvokeOutputOptions; import java.util.concurrent.CompletableFuture; public final class Ec2clientvpnFunctions { @@ -424,6 +425,88 @@ public static CompletableFuture getEndpointPlain(GetEndpointP public static Output getEndpoint(GetEndpointArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:ec2clientvpn/getEndpoint:getEndpoint", TypeShape.of(GetEndpointResult.class), args, Utilities.withVersion(options)); } + /** + * Get information on an EC2 Client VPN endpoint. + * + * ## Example Usage + * + * ### By Filter + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.ec2clientvpn.Ec2clientvpnFunctions;
+     * import com.pulumi.aws.ec2clientvpn.inputs.GetEndpointArgs;
+     * 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 = Ec2clientvpnFunctions.getEndpoint(GetEndpointArgs.builder()
+     *             .filters(GetEndpointFilterArgs.builder()
+     *                 .name("tag:Name")
+     *                 .values("ExampleVpn")
+     *                 .build())
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + * ### By Identifier + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.ec2clientvpn.Ec2clientvpnFunctions;
+     * import com.pulumi.aws.ec2clientvpn.inputs.GetEndpointArgs;
+     * 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 = Ec2clientvpnFunctions.getEndpoint(GetEndpointArgs.builder()
+     *             .clientVpnEndpointId("cvpn-endpoint-083cf50d6eb314f21")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getEndpoint(GetEndpointArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:ec2clientvpn/getEndpoint:getEndpoint", TypeShape.of(GetEndpointResult.class), args, Utilities.withVersion(options)); + } /** * Get information on an EC2 Client VPN endpoint. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2transitgateway/Ec2transitgatewayFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/ec2transitgateway/Ec2transitgatewayFunctions.java index 635c367ad16..16fddf528d3 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2transitgateway/Ec2transitgatewayFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2transitgateway/Ec2transitgatewayFunctions.java @@ -56,6 +56,7 @@ import com.pulumi.core.TypeShape; import com.pulumi.deployment.Deployment; import com.pulumi.deployment.InvokeOptions; +import com.pulumi.deployment.InvokeOutputOptions; import java.util.concurrent.CompletableFuture; public final class Ec2transitgatewayFunctions { @@ -309,6 +310,56 @@ public static CompletableFuture getAttachmentPlain(GetAttac public static Output getAttachment(GetAttachmentArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:ec2transitgateway/getAttachment:getAttachment", TypeShape.of(GetAttachmentResult.class), args, Utilities.withVersion(options)); } + /** + * Get information on an EC2 Transit Gateway's attachment to a resource. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.ec2transitgateway.Ec2transitgatewayFunctions;
+     * import com.pulumi.aws.ec2transitgateway.inputs.GetAttachmentArgs;
+     * 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 = Ec2transitgatewayFunctions.getAttachment(GetAttachmentArgs.builder()
+     *             .filters(            
+     *                 GetAttachmentFilterArgs.builder()
+     *                     .name("transit-gateway-id")
+     *                     .values(exampleAwsEc2TransitGateway.id())
+     *                     .build(),
+     *                 GetAttachmentFilterArgs.builder()
+     *                     .name("resource-type")
+     *                     .values("peering")
+     *                     .build())
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getAttachment(GetAttachmentArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:ec2transitgateway/getAttachment:getAttachment", TypeShape.of(GetAttachmentResult.class), args, Utilities.withVersion(options)); + } /** * Get information on an EC2 Transit Gateway's attachment to a resource. * @@ -429,6 +480,20 @@ public static CompletableFuture getAttachmentsPlain(GetAtt public static Output getAttachments(GetAttachmentsArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:ec2transitgateway/getAttachments:getAttachments", TypeShape.of(GetAttachmentsResult.class), args, Utilities.withVersion(options)); } + /** + * Get information on EC2 Transit Gateway Attachments. + * + * ## Example Usage + * + * ### By Filter + * + * <!--Start PulumiCodeChooser --> + * <!--End PulumiCodeChooser --> + * + */ + public static Output getAttachments(GetAttachmentsArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:ec2transitgateway/getAttachments:getAttachments", TypeShape.of(GetAttachmentsResult.class), args, Utilities.withVersion(options)); + } /** * Get information on EC2 Transit Gateway Attachments. * @@ -853,6 +918,88 @@ public static CompletableFuture getConnectPlain(GetConnectPlai public static Output getConnect(GetConnectArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:ec2transitgateway/getConnect:getConnect", TypeShape.of(GetConnectResult.class), args, Utilities.withVersion(options)); } + /** + * Get information on an EC2 Transit Gateway Connect. + * + * ## Example Usage + * + * ### By Filter + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.ec2transitgateway.Ec2transitgatewayFunctions;
+     * import com.pulumi.aws.ec2transitgateway.inputs.GetConnectArgs;
+     * 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 = Ec2transitgatewayFunctions.getConnect(GetConnectArgs.builder()
+     *             .filters(GetConnectFilterArgs.builder()
+     *                 .name("transport-transit-gateway-attachment-id")
+     *                 .values("tgw-attach-12345678")
+     *                 .build())
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + * ### By Identifier + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.ec2transitgateway.Ec2transitgatewayFunctions;
+     * import com.pulumi.aws.ec2transitgateway.inputs.GetConnectArgs;
+     * 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 = Ec2transitgatewayFunctions.getConnect(GetConnectArgs.builder()
+     *             .transitGatewayConnectId("tgw-attach-12345678")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getConnect(GetConnectArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:ec2transitgateway/getConnect:getConnect", TypeShape.of(GetConnectResult.class), args, Utilities.withVersion(options)); + } /** * Get information on an EC2 Transit Gateway Connect. * @@ -1424,15 +1571,15 @@ public static Output getConnectPeer(GetConnectPeerArgs arg * <!--End PulumiCodeChooser --> * */ - public static CompletableFuture getConnectPeerPlain(GetConnectPeerPlainArgs args, InvokeOptions options) { - return Deployment.getInstance().invokeAsync("aws:ec2transitgateway/getConnectPeer:getConnectPeer", TypeShape.of(GetConnectPeerResult.class), args, Utilities.withVersion(options)); + public static Output getConnectPeer(GetConnectPeerArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:ec2transitgateway/getConnectPeer:getConnectPeer", TypeShape.of(GetConnectPeerResult.class), args, Utilities.withVersion(options)); } /** - * Get information on an EC2 Transit Gateway's attachment to a Direct Connect Gateway. + * Get information on an EC2 Transit Gateway Connect Peer. * * ## Example Usage * - * ### By Transit Gateway and Direct Connect Gateway Identifiers + * ### By Filter * * <!--Start PulumiCodeChooser --> *
@@ -1443,7 +1590,7 @@ public static CompletableFuture getConnectPeerPlain(GetCon
      * import com.pulumi.Pulumi;
      * import com.pulumi.core.Output;
      * import com.pulumi.aws.ec2transitgateway.Ec2transitgatewayFunctions;
-     * import com.pulumi.aws.ec2transitgateway.inputs.GetDirectConnectGatewayAttachmentArgs;
+     * import com.pulumi.aws.ec2transitgateway.inputs.GetConnectPeerArgs;
      * import java.util.List;
      * import java.util.ArrayList;
      * import java.util.Map;
@@ -1457,9 +1604,46 @@ public static CompletableFuture getConnectPeerPlain(GetCon
      *     }
      * 
      *     public static void stack(Context ctx) {
-     *         final var example = Ec2transitgatewayFunctions.getDirectConnectGatewayAttachment(GetDirectConnectGatewayAttachmentArgs.builder()
-     *             .transitGatewayId(exampleAwsEc2TransitGateway.id())
-     *             .dxGatewayId(exampleAwsDxGateway.id())
+     *         final var example = Ec2transitgatewayFunctions.getConnectPeer(GetConnectPeerArgs.builder()
+     *             .filters(GetConnectPeerFilterArgs.builder()
+     *                 .name("transit-gateway-attachment-id")
+     *                 .values("tgw-attach-12345678")
+     *                 .build())
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + * ### By Identifier + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.ec2transitgateway.Ec2transitgatewayFunctions;
+     * import com.pulumi.aws.ec2transitgateway.inputs.GetConnectPeerArgs;
+     * 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 = Ec2transitgatewayFunctions.getConnectPeer(GetConnectPeerArgs.builder()
+     *             .transitGatewayConnectPeerId("tgw-connect-peer-12345678")
      *             .build());
      * 
      *     }
@@ -1469,8 +1653,8 @@ public static CompletableFuture getConnectPeerPlain(GetCon
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static Output getDirectConnectGatewayAttachment() {
-        return getDirectConnectGatewayAttachment(GetDirectConnectGatewayAttachmentArgs.Empty, InvokeOptions.Empty);
+    public static CompletableFuture getConnectPeerPlain(GetConnectPeerPlainArgs args, InvokeOptions options) {
+        return Deployment.getInstance().invokeAsync("aws:ec2transitgateway/getConnectPeer:getConnectPeer", TypeShape.of(GetConnectPeerResult.class), args, Utilities.withVersion(options));
     }
     /**
      * Get information on an EC2 Transit Gateway's attachment to a Direct Connect Gateway.
@@ -1514,8 +1698,8 @@ public static Output getDirectConnectGa
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static CompletableFuture getDirectConnectGatewayAttachmentPlain() {
-        return getDirectConnectGatewayAttachmentPlain(GetDirectConnectGatewayAttachmentPlainArgs.Empty, InvokeOptions.Empty);
+    public static Output getDirectConnectGatewayAttachment() {
+        return getDirectConnectGatewayAttachment(GetDirectConnectGatewayAttachmentArgs.Empty, InvokeOptions.Empty);
     }
     /**
      * Get information on an EC2 Transit Gateway's attachment to a Direct Connect Gateway.
@@ -1559,8 +1743,8 @@ public static CompletableFuture getDire
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static Output getDirectConnectGatewayAttachment(GetDirectConnectGatewayAttachmentArgs args) {
-        return getDirectConnectGatewayAttachment(args, InvokeOptions.Empty);
+    public static CompletableFuture getDirectConnectGatewayAttachmentPlain() {
+        return getDirectConnectGatewayAttachmentPlain(GetDirectConnectGatewayAttachmentPlainArgs.Empty, InvokeOptions.Empty);
     }
     /**
      * Get information on an EC2 Transit Gateway's attachment to a Direct Connect Gateway.
@@ -1604,8 +1788,8 @@ public static Output getDirectConnectGa
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static CompletableFuture getDirectConnectGatewayAttachmentPlain(GetDirectConnectGatewayAttachmentPlainArgs args) {
-        return getDirectConnectGatewayAttachmentPlain(args, InvokeOptions.Empty);
+    public static Output getDirectConnectGatewayAttachment(GetDirectConnectGatewayAttachmentArgs args) {
+        return getDirectConnectGatewayAttachment(args, InvokeOptions.Empty);
     }
     /**
      * Get information on an EC2 Transit Gateway's attachment to a Direct Connect Gateway.
@@ -1649,8 +1833,8 @@ public static CompletableFuture getDire
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static Output getDirectConnectGatewayAttachment(GetDirectConnectGatewayAttachmentArgs args, InvokeOptions options) {
-        return Deployment.getInstance().invoke("aws:ec2transitgateway/getDirectConnectGatewayAttachment:getDirectConnectGatewayAttachment", TypeShape.of(GetDirectConnectGatewayAttachmentResult.class), args, Utilities.withVersion(options));
+    public static CompletableFuture getDirectConnectGatewayAttachmentPlain(GetDirectConnectGatewayAttachmentPlainArgs args) {
+        return getDirectConnectGatewayAttachmentPlain(args, InvokeOptions.Empty);
     }
     /**
      * Get information on an EC2 Transit Gateway's attachment to a Direct Connect Gateway.
@@ -1694,15 +1878,15 @@ public static Output getDirectConnectGa
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static CompletableFuture getDirectConnectGatewayAttachmentPlain(GetDirectConnectGatewayAttachmentPlainArgs args, InvokeOptions options) {
-        return Deployment.getInstance().invokeAsync("aws:ec2transitgateway/getDirectConnectGatewayAttachment:getDirectConnectGatewayAttachment", TypeShape.of(GetDirectConnectGatewayAttachmentResult.class), args, Utilities.withVersion(options));
+    public static Output getDirectConnectGatewayAttachment(GetDirectConnectGatewayAttachmentArgs args, InvokeOptions options) {
+        return Deployment.getInstance().invoke("aws:ec2transitgateway/getDirectConnectGatewayAttachment:getDirectConnectGatewayAttachment", TypeShape.of(GetDirectConnectGatewayAttachmentResult.class), args, Utilities.withVersion(options));
     }
     /**
-     * Get information on an EC2 Transit Gateway Multicast Domain.
+     * Get information on an EC2 Transit Gateway's attachment to a Direct Connect Gateway.
      * 
      * ## Example Usage
      * 
-     * ### By Filter
+     * ### By Transit Gateway and Direct Connect Gateway Identifiers
      * 
      * <!--Start PulumiCodeChooser -->
      * 
@@ -1713,7 +1897,7 @@ public static CompletableFuture getDire
      * import com.pulumi.Pulumi;
      * import com.pulumi.core.Output;
      * import com.pulumi.aws.ec2transitgateway.Ec2transitgatewayFunctions;
-     * import com.pulumi.aws.ec2transitgateway.inputs.GetMulticastDomainArgs;
+     * import com.pulumi.aws.ec2transitgateway.inputs.GetDirectConnectGatewayAttachmentArgs;
      * import java.util.List;
      * import java.util.ArrayList;
      * import java.util.Map;
@@ -1727,11 +1911,9 @@ public static CompletableFuture getDire
      *     }
      * 
      *     public static void stack(Context ctx) {
-     *         final var example = Ec2transitgatewayFunctions.getMulticastDomain(GetMulticastDomainArgs.builder()
-     *             .filters(GetMulticastDomainFilterArgs.builder()
-     *                 .name("transit-gateway-multicast-domain-id")
-     *                 .values("tgw-mcast-domain-12345678")
-     *                 .build())
+     *         final var example = Ec2transitgatewayFunctions.getDirectConnectGatewayAttachment(GetDirectConnectGatewayAttachmentArgs.builder()
+     *             .transitGatewayId(exampleAwsEc2TransitGateway.id())
+     *             .dxGatewayId(exampleAwsDxGateway.id())
      *             .build());
      * 
      *     }
@@ -1740,7 +1922,16 @@ public static CompletableFuture getDire
      * 
* <!--End PulumiCodeChooser --> * - * ### By Identifier + */ + public static Output getDirectConnectGatewayAttachment(GetDirectConnectGatewayAttachmentArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:ec2transitgateway/getDirectConnectGatewayAttachment:getDirectConnectGatewayAttachment", TypeShape.of(GetDirectConnectGatewayAttachmentResult.class), args, Utilities.withVersion(options)); + } + /** + * Get information on an EC2 Transit Gateway's attachment to a Direct Connect Gateway. + * + * ## Example Usage + * + * ### By Transit Gateway and Direct Connect Gateway Identifiers * * <!--Start PulumiCodeChooser --> *
@@ -1751,7 +1942,7 @@ public static CompletableFuture getDire
      * import com.pulumi.Pulumi;
      * import com.pulumi.core.Output;
      * import com.pulumi.aws.ec2transitgateway.Ec2transitgatewayFunctions;
-     * import com.pulumi.aws.ec2transitgateway.inputs.GetMulticastDomainArgs;
+     * import com.pulumi.aws.ec2transitgateway.inputs.GetDirectConnectGatewayAttachmentArgs;
      * import java.util.List;
      * import java.util.ArrayList;
      * import java.util.Map;
@@ -1765,8 +1956,9 @@ public static CompletableFuture getDire
      *     }
      * 
      *     public static void stack(Context ctx) {
-     *         final var example = Ec2transitgatewayFunctions.getMulticastDomain(GetMulticastDomainArgs.builder()
-     *             .transitGatewayMulticastDomainId("tgw-mcast-domain-12345678")
+     *         final var example = Ec2transitgatewayFunctions.getDirectConnectGatewayAttachment(GetDirectConnectGatewayAttachmentArgs.builder()
+     *             .transitGatewayId(exampleAwsEc2TransitGateway.id())
+     *             .dxGatewayId(exampleAwsDxGateway.id())
      *             .build());
      * 
      *     }
@@ -1776,8 +1968,8 @@ public static CompletableFuture getDire
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static Output getMulticastDomain() {
-        return getMulticastDomain(GetMulticastDomainArgs.Empty, InvokeOptions.Empty);
+    public static CompletableFuture getDirectConnectGatewayAttachmentPlain(GetDirectConnectGatewayAttachmentPlainArgs args, InvokeOptions options) {
+        return Deployment.getInstance().invokeAsync("aws:ec2transitgateway/getDirectConnectGatewayAttachment:getDirectConnectGatewayAttachment", TypeShape.of(GetDirectConnectGatewayAttachmentResult.class), args, Utilities.withVersion(options));
     }
     /**
      * Get information on an EC2 Transit Gateway Multicast Domain.
@@ -1858,8 +2050,90 @@ public static Output getMulticastDomain() {
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static CompletableFuture getMulticastDomainPlain() {
-        return getMulticastDomainPlain(GetMulticastDomainPlainArgs.Empty, InvokeOptions.Empty);
+    public static Output getMulticastDomain() {
+        return getMulticastDomain(GetMulticastDomainArgs.Empty, InvokeOptions.Empty);
+    }
+    /**
+     * Get information on an EC2 Transit Gateway Multicast Domain.
+     * 
+     * ## Example Usage
+     * 
+     * ### By Filter
+     * 
+     * <!--Start PulumiCodeChooser -->
+     * 
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.ec2transitgateway.Ec2transitgatewayFunctions;
+     * import com.pulumi.aws.ec2transitgateway.inputs.GetMulticastDomainArgs;
+     * 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 = Ec2transitgatewayFunctions.getMulticastDomain(GetMulticastDomainArgs.builder()
+     *             .filters(GetMulticastDomainFilterArgs.builder()
+     *                 .name("transit-gateway-multicast-domain-id")
+     *                 .values("tgw-mcast-domain-12345678")
+     *                 .build())
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + * ### By Identifier + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.ec2transitgateway.Ec2transitgatewayFunctions;
+     * import com.pulumi.aws.ec2transitgateway.inputs.GetMulticastDomainArgs;
+     * 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 = Ec2transitgatewayFunctions.getMulticastDomain(GetMulticastDomainArgs.builder()
+     *             .transitGatewayMulticastDomainId("tgw-mcast-domain-12345678")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static CompletableFuture getMulticastDomainPlain() { + return getMulticastDomainPlain(GetMulticastDomainPlainArgs.Empty, InvokeOptions.Empty); } /** * Get information on an EC2 Transit Gateway Multicast Domain. @@ -2107,6 +2381,88 @@ public static CompletableFuture getMulticastDomainPlai public static Output getMulticastDomain(GetMulticastDomainArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:ec2transitgateway/getMulticastDomain:getMulticastDomain", TypeShape.of(GetMulticastDomainResult.class), args, Utilities.withVersion(options)); } + /** + * Get information on an EC2 Transit Gateway Multicast Domain. + * + * ## Example Usage + * + * ### By Filter + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.ec2transitgateway.Ec2transitgatewayFunctions;
+     * import com.pulumi.aws.ec2transitgateway.inputs.GetMulticastDomainArgs;
+     * 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 = Ec2transitgatewayFunctions.getMulticastDomain(GetMulticastDomainArgs.builder()
+     *             .filters(GetMulticastDomainFilterArgs.builder()
+     *                 .name("transit-gateway-multicast-domain-id")
+     *                 .values("tgw-mcast-domain-12345678")
+     *                 .build())
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + * ### By Identifier + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.ec2transitgateway.Ec2transitgatewayFunctions;
+     * import com.pulumi.aws.ec2transitgateway.inputs.GetMulticastDomainArgs;
+     * 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 = Ec2transitgatewayFunctions.getMulticastDomain(GetMulticastDomainArgs.builder()
+     *             .transitGatewayMulticastDomainId("tgw-mcast-domain-12345678")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getMulticastDomain(GetMulticastDomainArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:ec2transitgateway/getMulticastDomain:getMulticastDomain", TypeShape.of(GetMulticastDomainResult.class), args, Utilities.withVersion(options)); + } /** * Get information on an EC2 Transit Gateway Multicast Domain. * @@ -2599,6 +2955,88 @@ public static CompletableFuture getPeeringAttachment public static Output getPeeringAttachment(GetPeeringAttachmentArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:ec2transitgateway/getPeeringAttachment:getPeeringAttachment", TypeShape.of(GetPeeringAttachmentResult.class), args, Utilities.withVersion(options)); } + /** + * Get information on an EC2 Transit Gateway Peering Attachment. + * + * ## Example Usage + * + * ### By Filter + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.ec2transitgateway.Ec2transitgatewayFunctions;
+     * import com.pulumi.aws.ec2transitgateway.inputs.GetPeeringAttachmentArgs;
+     * 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 = Ec2transitgatewayFunctions.getPeeringAttachment(GetPeeringAttachmentArgs.builder()
+     *             .filters(GetPeeringAttachmentFilterArgs.builder()
+     *                 .name("transit-gateway-attachment-id")
+     *                 .values("tgw-attach-12345678")
+     *                 .build())
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + * ### By Identifier + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.ec2transitgateway.Ec2transitgatewayFunctions;
+     * import com.pulumi.aws.ec2transitgateway.inputs.GetPeeringAttachmentArgs;
+     * 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 attachment = Ec2transitgatewayFunctions.getPeeringAttachment(GetPeeringAttachmentArgs.builder()
+     *             .id("tgw-attach-12345678")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getPeeringAttachment(GetPeeringAttachmentArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:ec2transitgateway/getPeeringAttachment:getPeeringAttachment", TypeShape.of(GetPeeringAttachmentResult.class), args, Utilities.withVersion(options)); + } /** * Get information on an EC2 Transit Gateway Peering Attachment. * @@ -2960,15 +3398,15 @@ public static Output getPeeringAttachments(GetPeeri * <!--End PulumiCodeChooser --> * */ - public static CompletableFuture getPeeringAttachmentsPlain(GetPeeringAttachmentsPlainArgs args, InvokeOptions options) { - return Deployment.getInstance().invokeAsync("aws:ec2transitgateway/getPeeringAttachments:getPeeringAttachments", TypeShape.of(GetPeeringAttachmentsResult.class), args, Utilities.withVersion(options)); + public static Output getPeeringAttachments(GetPeeringAttachmentsArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:ec2transitgateway/getPeeringAttachments:getPeeringAttachments", TypeShape.of(GetPeeringAttachmentsResult.class), args, Utilities.withVersion(options)); } /** - * Get information on an EC2 Transit Gateway Route Table. + * Get information on EC2 Transit Gateway Peering Attachments. * * ## Example Usage * - * ### By Filter + * ### All Resources * * <!--Start PulumiCodeChooser --> *
@@ -2979,7 +3417,7 @@ public static CompletableFuture getPeeringAttachmen
      * import com.pulumi.Pulumi;
      * import com.pulumi.core.Output;
      * import com.pulumi.aws.ec2transitgateway.Ec2transitgatewayFunctions;
-     * import com.pulumi.aws.ec2transitgateway.inputs.GetRouteTableArgs;
+     * import com.pulumi.aws.ec2transitgateway.inputs.GetPeeringAttachmentsArgs;
      * import java.util.List;
      * import java.util.ArrayList;
      * import java.util.Map;
@@ -2993,7 +3431,54 @@ public static CompletableFuture getPeeringAttachmen
      *     }
      * 
      *     public static void stack(Context ctx) {
-     *         final var example = Ec2transitgatewayFunctions.getRouteTable(GetRouteTableArgs.builder()
+     *         final var test = Ec2transitgatewayFunctions.getPeeringAttachments();
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + * ### By Filter + * + * <!--Start PulumiCodeChooser --> + * <!--End PulumiCodeChooser --> + * + */ + public static CompletableFuture getPeeringAttachmentsPlain(GetPeeringAttachmentsPlainArgs args, InvokeOptions options) { + return Deployment.getInstance().invokeAsync("aws:ec2transitgateway/getPeeringAttachments:getPeeringAttachments", TypeShape.of(GetPeeringAttachmentsResult.class), args, Utilities.withVersion(options)); + } + /** + * Get information on an EC2 Transit Gateway Route Table. + * + * ## Example Usage + * + * ### By Filter + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.ec2transitgateway.Ec2transitgatewayFunctions;
+     * import com.pulumi.aws.ec2transitgateway.inputs.GetRouteTableArgs;
+     * 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 = Ec2transitgatewayFunctions.getRouteTable(GetRouteTableArgs.builder()
      *             .filters(            
      *                 GetRouteTableFilterArgs.builder()
      *                     .name("default-association-route-table")
@@ -3398,6 +3883,93 @@ public static CompletableFuture getRouteTablePlain(GetRoute
     public static Output getRouteTable(GetRouteTableArgs args, InvokeOptions options) {
         return Deployment.getInstance().invoke("aws:ec2transitgateway/getRouteTable:getRouteTable", TypeShape.of(GetRouteTableResult.class), args, Utilities.withVersion(options));
     }
+    /**
+     * Get information on an EC2 Transit Gateway Route Table.
+     * 
+     * ## Example Usage
+     * 
+     * ### By Filter
+     * 
+     * <!--Start PulumiCodeChooser -->
+     * 
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.ec2transitgateway.Ec2transitgatewayFunctions;
+     * import com.pulumi.aws.ec2transitgateway.inputs.GetRouteTableArgs;
+     * 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 = Ec2transitgatewayFunctions.getRouteTable(GetRouteTableArgs.builder()
+     *             .filters(            
+     *                 GetRouteTableFilterArgs.builder()
+     *                     .name("default-association-route-table")
+     *                     .values("true")
+     *                     .build(),
+     *                 GetRouteTableFilterArgs.builder()
+     *                     .name("transit-gateway-id")
+     *                     .values("tgw-12345678")
+     *                     .build())
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + * ### By Identifier + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.ec2transitgateway.Ec2transitgatewayFunctions;
+     * import com.pulumi.aws.ec2transitgateway.inputs.GetRouteTableArgs;
+     * 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 = Ec2transitgatewayFunctions.getRouteTable(GetRouteTableArgs.builder()
+     *             .id("tgw-rtb-12345678")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getRouteTable(GetRouteTableArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:ec2transitgateway/getRouteTable:getRouteTable", TypeShape.of(GetRouteTableResult.class), args, Utilities.withVersion(options)); + } /** * Get information on an EC2 Transit Gateway Route Table. * @@ -3617,6 +4189,50 @@ public static CompletableFuture getRouteTableAs public static Output getRouteTableAssociations(GetRouteTableAssociationsArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:ec2transitgateway/getRouteTableAssociations:getRouteTableAssociations", TypeShape.of(GetRouteTableAssociationsResult.class), args, Utilities.withVersion(options)); } + /** + * Provides information for multiple EC2 Transit Gateway Route Table Associations, such as their identifiers. + * + * ## Example Usage + * + * ### By Transit Gateway Identifier + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.ec2transitgateway.Ec2transitgatewayFunctions;
+     * import com.pulumi.aws.ec2transitgateway.inputs.GetRouteTableAssociationsArgs;
+     * 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 = Ec2transitgatewayFunctions.getRouteTableAssociations(GetRouteTableAssociationsArgs.builder()
+     *             .transitGatewayRouteTableId(exampleAwsEc2TransitGatewayRouteTable.id())
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getRouteTableAssociations(GetRouteTableAssociationsArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:ec2transitgateway/getRouteTableAssociations:getRouteTableAssociations", TypeShape.of(GetRouteTableAssociationsResult.class), args, Utilities.withVersion(options)); + } /** * Provides information for multiple EC2 Transit Gateway Route Table Associations, such as their identifiers. * @@ -3798,8 +4414,186 @@ public static Output getRouteTablePropagations( * * ## Example Usage * - * ### By Transit Gateway Identifier - * + * ### By Transit Gateway Identifier + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.ec2transitgateway.Ec2transitgatewayFunctions;
+     * import com.pulumi.aws.ec2transitgateway.inputs.GetRouteTablePropagationsArgs;
+     * 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 = Ec2transitgatewayFunctions.getRouteTablePropagations(GetRouteTablePropagationsArgs.builder()
+     *             .transitGatewayRouteTableId(exampleAwsEc2TransitGatewayRouteTable.id())
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getRouteTablePropagations(GetRouteTablePropagationsArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:ec2transitgateway/getRouteTablePropagations:getRouteTablePropagations", TypeShape.of(GetRouteTablePropagationsResult.class), args, Utilities.withVersion(options)); + } + /** + * Provides information for multiple EC2 Transit Gateway Route Table Propagations, such as their identifiers. + * + * ## Example Usage + * + * ### By Transit Gateway Identifier + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.ec2transitgateway.Ec2transitgatewayFunctions;
+     * import com.pulumi.aws.ec2transitgateway.inputs.GetRouteTablePropagationsArgs;
+     * 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 = Ec2transitgatewayFunctions.getRouteTablePropagations(GetRouteTablePropagationsArgs.builder()
+     *             .transitGatewayRouteTableId(exampleAwsEc2TransitGatewayRouteTable.id())
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static CompletableFuture getRouteTablePropagationsPlain(GetRouteTablePropagationsPlainArgs args, InvokeOptions options) { + return Deployment.getInstance().invokeAsync("aws:ec2transitgateway/getRouteTablePropagations:getRouteTablePropagations", TypeShape.of(GetRouteTablePropagationsResult.class), args, Utilities.withVersion(options)); + } + /** + * Provides informations for routes of a specific transit gateway, such as state, type, cidr + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.ec2transitgateway.Ec2transitgatewayFunctions;
+     * import com.pulumi.aws.ec2transitgateway.inputs.GetRouteTableRoutesArgs;
+     * 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 test = Ec2transitgatewayFunctions.getRouteTableRoutes(GetRouteTableRoutesArgs.builder()
+     *             .filters(GetRouteTableRoutesFilterArgs.builder()
+     *                 .name("type")
+     *                 .values("propagated")
+     *                 .build())
+     *             .transitGatewayRouteTableId(example.id())
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getRouteTableRoutes(GetRouteTableRoutesArgs args) { + return getRouteTableRoutes(args, InvokeOptions.Empty); + } + /** + * Provides informations for routes of a specific transit gateway, such as state, type, cidr + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.ec2transitgateway.Ec2transitgatewayFunctions;
+     * import com.pulumi.aws.ec2transitgateway.inputs.GetRouteTableRoutesArgs;
+     * 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 test = Ec2transitgatewayFunctions.getRouteTableRoutes(GetRouteTableRoutesArgs.builder()
+     *             .filters(GetRouteTableRoutesFilterArgs.builder()
+     *                 .name("type")
+     *                 .values("propagated")
+     *                 .build())
+     *             .transitGatewayRouteTableId(example.id())
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static CompletableFuture getRouteTableRoutesPlain(GetRouteTableRoutesPlainArgs args) { + return getRouteTableRoutesPlain(args, InvokeOptions.Empty); + } + /** + * Provides informations for routes of a specific transit gateway, such as state, type, cidr + * + * ## Example Usage + * * <!--Start PulumiCodeChooser --> *
      * {@code
@@ -3809,7 +4603,7 @@ public static Output getRouteTablePropagations(
      * import com.pulumi.Pulumi;
      * import com.pulumi.core.Output;
      * import com.pulumi.aws.ec2transitgateway.Ec2transitgatewayFunctions;
-     * import com.pulumi.aws.ec2transitgateway.inputs.GetRouteTablePropagationsArgs;
+     * import com.pulumi.aws.ec2transitgateway.inputs.GetRouteTableRoutesArgs;
      * import java.util.List;
      * import java.util.ArrayList;
      * import java.util.Map;
@@ -3823,8 +4617,12 @@ public static Output getRouteTablePropagations(
      *     }
      * 
      *     public static void stack(Context ctx) {
-     *         final var example = Ec2transitgatewayFunctions.getRouteTablePropagations(GetRouteTablePropagationsArgs.builder()
-     *             .transitGatewayRouteTableId(exampleAwsEc2TransitGatewayRouteTable.id())
+     *         final var test = Ec2transitgatewayFunctions.getRouteTableRoutes(GetRouteTableRoutesArgs.builder()
+     *             .filters(GetRouteTableRoutesFilterArgs.builder()
+     *                 .name("type")
+     *                 .values("propagated")
+     *                 .build())
+     *             .transitGatewayRouteTableId(example.id())
      *             .build());
      * 
      *     }
@@ -3834,8 +4632,8 @@ public static Output getRouteTablePropagations(
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static CompletableFuture getRouteTablePropagationsPlain(GetRouteTablePropagationsPlainArgs args, InvokeOptions options) {
-        return Deployment.getInstance().invokeAsync("aws:ec2transitgateway/getRouteTablePropagations:getRouteTablePropagations", TypeShape.of(GetRouteTablePropagationsResult.class), args, Utilities.withVersion(options));
+    public static Output getRouteTableRoutes(GetRouteTableRoutesArgs args, InvokeOptions options) {
+        return Deployment.getInstance().invoke("aws:ec2transitgateway/getRouteTableRoutes:getRouteTableRoutes", TypeShape.of(GetRouteTableRoutesResult.class), args, Utilities.withVersion(options));
     }
     /**
      * Provides informations for routes of a specific transit gateway, such as state, type, cidr
@@ -3880,8 +4678,8 @@ public static CompletableFuture getRouteTablePr
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static Output getRouteTableRoutes(GetRouteTableRoutesArgs args) {
-        return getRouteTableRoutes(args, InvokeOptions.Empty);
+    public static Output getRouteTableRoutes(GetRouteTableRoutesArgs args, InvokeOutputOptions options) {
+        return Deployment.getInstance().invoke("aws:ec2transitgateway/getRouteTableRoutes:getRouteTableRoutes", TypeShape.of(GetRouteTableRoutesResult.class), args, Utilities.withVersion(options));
     }
     /**
      * Provides informations for routes of a specific transit gateway, such as state, type, cidr
@@ -3926,14 +4724,16 @@ public static Output getRouteTableRoutes(GetRouteTabl
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static CompletableFuture getRouteTableRoutesPlain(GetRouteTableRoutesPlainArgs args) {
-        return getRouteTableRoutesPlain(args, InvokeOptions.Empty);
+    public static CompletableFuture getRouteTableRoutesPlain(GetRouteTableRoutesPlainArgs args, InvokeOptions options) {
+        return Deployment.getInstance().invokeAsync("aws:ec2transitgateway/getRouteTableRoutes:getRouteTableRoutes", TypeShape.of(GetRouteTableRoutesResult.class), args, Utilities.withVersion(options));
     }
     /**
-     * Provides informations for routes of a specific transit gateway, such as state, type, cidr
+     * Get information on an EC2 Transit Gateway.
      * 
      * ## Example Usage
      * 
+     * ### By Filter
+     * 
      * <!--Start PulumiCodeChooser -->
      * 
      * {@code
@@ -3943,7 +4743,7 @@ public static CompletableFuture getRouteTableRoutesPl
      * import com.pulumi.Pulumi;
      * import com.pulumi.core.Output;
      * import com.pulumi.aws.ec2transitgateway.Ec2transitgatewayFunctions;
-     * import com.pulumi.aws.ec2transitgateway.inputs.GetRouteTableRoutesArgs;
+     * import com.pulumi.aws.ec2transitgateway.inputs.GetTransitGatewayArgs;
      * import java.util.List;
      * import java.util.ArrayList;
      * import java.util.Map;
@@ -3957,12 +4757,11 @@ public static CompletableFuture getRouteTableRoutesPl
      *     }
      * 
      *     public static void stack(Context ctx) {
-     *         final var test = Ec2transitgatewayFunctions.getRouteTableRoutes(GetRouteTableRoutesArgs.builder()
-     *             .filters(GetRouteTableRoutesFilterArgs.builder()
-     *                 .name("type")
-     *                 .values("propagated")
+     *         final var example = Ec2transitgatewayFunctions.getTransitGateway(GetTransitGatewayArgs.builder()
+     *             .filters(GetTransitGatewayFilterArgs.builder()
+     *                 .name("options.amazon-side-asn")
+     *                 .values("64512")
      *                 .build())
-     *             .transitGatewayRouteTableId(example.id())
      *             .build());
      * 
      *     }
@@ -3971,14 +4770,7 @@ public static CompletableFuture getRouteTableRoutesPl
      * 
* <!--End PulumiCodeChooser --> * - */ - public static Output getRouteTableRoutes(GetRouteTableRoutesArgs args, InvokeOptions options) { - return Deployment.getInstance().invoke("aws:ec2transitgateway/getRouteTableRoutes:getRouteTableRoutes", TypeShape.of(GetRouteTableRoutesResult.class), args, Utilities.withVersion(options)); - } - /** - * Provides informations for routes of a specific transit gateway, such as state, type, cidr - * - * ## Example Usage + * ### By Identifier * * <!--Start PulumiCodeChooser --> *
@@ -3989,7 +4781,7 @@ public static Output getRouteTableRoutes(GetRouteTabl
      * import com.pulumi.Pulumi;
      * import com.pulumi.core.Output;
      * import com.pulumi.aws.ec2transitgateway.Ec2transitgatewayFunctions;
-     * import com.pulumi.aws.ec2transitgateway.inputs.GetRouteTableRoutesArgs;
+     * import com.pulumi.aws.ec2transitgateway.inputs.GetTransitGatewayArgs;
      * import java.util.List;
      * import java.util.ArrayList;
      * import java.util.Map;
@@ -4003,12 +4795,8 @@ public static Output getRouteTableRoutes(GetRouteTabl
      *     }
      * 
      *     public static void stack(Context ctx) {
-     *         final var test = Ec2transitgatewayFunctions.getRouteTableRoutes(GetRouteTableRoutesArgs.builder()
-     *             .filters(GetRouteTableRoutesFilterArgs.builder()
-     *                 .name("type")
-     *                 .values("propagated")
-     *                 .build())
-     *             .transitGatewayRouteTableId(example.id())
+     *         final var example = Ec2transitgatewayFunctions.getTransitGateway(GetTransitGatewayArgs.builder()
+     *             .id("tgw-12345678")
      *             .build());
      * 
      *     }
@@ -4018,8 +4806,8 @@ public static Output getRouteTableRoutes(GetRouteTabl
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static CompletableFuture getRouteTableRoutesPlain(GetRouteTableRoutesPlainArgs args, InvokeOptions options) {
-        return Deployment.getInstance().invokeAsync("aws:ec2transitgateway/getRouteTableRoutes:getRouteTableRoutes", TypeShape.of(GetRouteTableRoutesResult.class), args, Utilities.withVersion(options));
+    public static Output getTransitGateway() {
+        return getTransitGateway(GetTransitGatewayArgs.Empty, InvokeOptions.Empty);
     }
     /**
      * Get information on an EC2 Transit Gateway.
@@ -4100,8 +4888,8 @@ public static CompletableFuture getRouteTableRoutesPl
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static Output getTransitGateway() {
-        return getTransitGateway(GetTransitGatewayArgs.Empty, InvokeOptions.Empty);
+    public static CompletableFuture getTransitGatewayPlain() {
+        return getTransitGatewayPlain(GetTransitGatewayPlainArgs.Empty, InvokeOptions.Empty);
     }
     /**
      * Get information on an EC2 Transit Gateway.
@@ -4182,8 +4970,8 @@ public static Output getTransitGateway() {
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static CompletableFuture getTransitGatewayPlain() {
-        return getTransitGatewayPlain(GetTransitGatewayPlainArgs.Empty, InvokeOptions.Empty);
+    public static Output getTransitGateway(GetTransitGatewayArgs args) {
+        return getTransitGateway(args, InvokeOptions.Empty);
     }
     /**
      * Get information on an EC2 Transit Gateway.
@@ -4264,8 +5052,8 @@ public static CompletableFuture getTransitGatewayPlain(
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static Output getTransitGateway(GetTransitGatewayArgs args) {
-        return getTransitGateway(args, InvokeOptions.Empty);
+    public static CompletableFuture getTransitGatewayPlain(GetTransitGatewayPlainArgs args) {
+        return getTransitGatewayPlain(args, InvokeOptions.Empty);
     }
     /**
      * Get information on an EC2 Transit Gateway.
@@ -4346,8 +5134,8 @@ public static Output getTransitGateway(GetTransitGatewa
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static CompletableFuture getTransitGatewayPlain(GetTransitGatewayPlainArgs args) {
-        return getTransitGatewayPlain(args, InvokeOptions.Empty);
+    public static Output getTransitGateway(GetTransitGatewayArgs args, InvokeOptions options) {
+        return Deployment.getInstance().invoke("aws:ec2transitgateway/getTransitGateway:getTransitGateway", TypeShape.of(GetTransitGatewayResult.class), args, Utilities.withVersion(options));
     }
     /**
      * Get information on an EC2 Transit Gateway.
@@ -4428,7 +5216,7 @@ public static CompletableFuture getTransitGatewayPlain(
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static Output getTransitGateway(GetTransitGatewayArgs args, InvokeOptions options) {
+    public static Output getTransitGateway(GetTransitGatewayArgs args, InvokeOutputOptions options) {
         return Deployment.getInstance().invoke("aws:ec2transitgateway/getTransitGateway:getTransitGateway", TypeShape.of(GetTransitGatewayResult.class), args, Utilities.withVersion(options));
     }
     /**
@@ -4923,6 +5711,88 @@ public static CompletableFuture getVpcAttachmentPlain(Ge
     public static Output getVpcAttachment(GetVpcAttachmentArgs args, InvokeOptions options) {
         return Deployment.getInstance().invoke("aws:ec2transitgateway/getVpcAttachment:getVpcAttachment", TypeShape.of(GetVpcAttachmentResult.class), args, Utilities.withVersion(options));
     }
+    /**
+     * Get information on an EC2 Transit Gateway VPC Attachment.
+     * 
+     * ## Example Usage
+     * 
+     * ### By Filter
+     * 
+     * <!--Start PulumiCodeChooser -->
+     * 
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.ec2transitgateway.Ec2transitgatewayFunctions;
+     * import com.pulumi.aws.ec2transitgateway.inputs.GetVpcAttachmentArgs;
+     * 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 = Ec2transitgatewayFunctions.getVpcAttachment(GetVpcAttachmentArgs.builder()
+     *             .filters(GetVpcAttachmentFilterArgs.builder()
+     *                 .name("vpc-id")
+     *                 .values("vpc-12345678")
+     *                 .build())
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + * ### By Identifier + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.ec2transitgateway.Ec2transitgatewayFunctions;
+     * import com.pulumi.aws.ec2transitgateway.inputs.GetVpcAttachmentArgs;
+     * 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 = Ec2transitgatewayFunctions.getVpcAttachment(GetVpcAttachmentArgs.builder()
+     *             .id("tgw-attach-12345678")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getVpcAttachment(GetVpcAttachmentArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:ec2transitgateway/getVpcAttachment:getVpcAttachment", TypeShape.of(GetVpcAttachmentResult.class), args, Utilities.withVersion(options)); + } /** * Get information on an EC2 Transit Gateway VPC Attachment. * @@ -5075,6 +5945,20 @@ public static CompletableFuture getVpcAttachmentsPlain( public static Output getVpcAttachments(GetVpcAttachmentsArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:ec2transitgateway/getVpcAttachments:getVpcAttachments", TypeShape.of(GetVpcAttachmentsResult.class), args, Utilities.withVersion(options)); } + /** + * Get information on EC2 Transit Gateway VPC Attachments. + * + * ## Example Usage + * + * ### By Filter + * + * <!--Start PulumiCodeChooser --> + * <!--End PulumiCodeChooser --> + * + */ + public static Output getVpcAttachments(GetVpcAttachmentsArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:ec2transitgateway/getVpcAttachments:getVpcAttachments", TypeShape.of(GetVpcAttachmentsResult.class), args, Utilities.withVersion(options)); + } /** * Get information on EC2 Transit Gateway VPC Attachments. * @@ -5514,6 +6398,91 @@ public static CompletableFuture getVpnAttachmentPlain(Ge public static Output getVpnAttachment(GetVpnAttachmentArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:ec2transitgateway/getVpnAttachment:getVpnAttachment", TypeShape.of(GetVpnAttachmentResult.class), args, Utilities.withVersion(options)); } + /** + * Get information on an EC2 Transit Gateway VPN Attachment. + * + * > EC2 Transit Gateway VPN Attachments are implicitly created by VPN Connections referencing an EC2 Transit Gateway so there is no managed resource. For ease, the `aws.ec2.VpnConnection` resource includes a `transit_gateway_attachment_id` attribute which can replace some usage of this data source. For tagging the attachment, see the `aws.ec2.Tag` resource. + * + * ## Example Usage + * + * ### By Transit Gateway and VPN Connection Identifiers + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.ec2transitgateway.Ec2transitgatewayFunctions;
+     * import com.pulumi.aws.ec2transitgateway.inputs.GetVpnAttachmentArgs;
+     * 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 = Ec2transitgatewayFunctions.getVpnAttachment(GetVpnAttachmentArgs.builder()
+     *             .transitGatewayId(exampleAwsEc2TransitGateway.id())
+     *             .vpnConnectionId(exampleAwsVpnConnection.id())
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + * ### Filter + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.ec2transitgateway.Ec2transitgatewayFunctions;
+     * import com.pulumi.aws.ec2transitgateway.inputs.GetVpnAttachmentArgs;
+     * 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 test = Ec2transitgatewayFunctions.getVpnAttachment(GetVpnAttachmentArgs.builder()
+     *             .filters(GetVpnAttachmentFilterArgs.builder()
+     *                 .name("resource-id")
+     *                 .values("some-resource")
+     *                 .build())
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getVpnAttachment(GetVpnAttachmentArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:ec2transitgateway/getVpnAttachment:getVpnAttachment", TypeShape.of(GetVpnAttachmentResult.class), args, Utilities.withVersion(options)); + } /** * Get information on an EC2 Transit Gateway VPN Attachment. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/ecr/AccountSetting.java b/sdk/java/src/main/java/com/pulumi/aws/ecr/AccountSetting.java new file mode 100644 index 00000000000..83bee1c49da --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/ecr/AccountSetting.java @@ -0,0 +1,150 @@ +// *** 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.ecr; + +import com.pulumi.aws.Utilities; +import com.pulumi.aws.ecr.AccountSettingArgs; +import com.pulumi.aws.ecr.inputs.AccountSettingState; +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 javax.annotation.Nullable; + +/** + * Provides a resource to manage AWS ECR Basic Scan Type + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+ * {@code
+ * package generated_program;
+ * 
+ * import com.pulumi.Context;
+ * import com.pulumi.Pulumi;
+ * import com.pulumi.core.Output;
+ * import com.pulumi.aws.ecr.AccountSetting;
+ * import com.pulumi.aws.ecr.AccountSettingArgs;
+ * 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 foo = new AccountSetting("foo", AccountSettingArgs.builder()
+ *             .name("BASIC_SCAN_TYPE_VERSION")
+ *             .value("CLAIR")
+ *             .build());
+ * 
+ *     }
+ * }
+ * }
+ * 
+ * <!--End PulumiCodeChooser --> + * + * ## Import + * + * Using `pulumi import`, import EMR Security Configurations using the `name`. For example: + * + * ```sh + * $ pulumi import aws:ecr/accountSetting:AccountSetting foo BASIC_SCAN_TYPE_VERSION + * ``` + * + */ +@ResourceType(type="aws:ecr/accountSetting:AccountSetting") +public class AccountSetting extends com.pulumi.resources.CustomResource { + /** + * The name of the ECR Scan Type. This should be `BASIC_SCAN_TYPE_VERSION`. + * + */ + @Export(name="name", refs={String.class}, tree="[0]") + private Output name; + + /** + * @return The name of the ECR Scan Type. This should be `BASIC_SCAN_TYPE_VERSION`. + * + */ + public Output name() { + return this.name; + } + /** + * The value of the ECR Scan Type. This can be `AWS_NATIVE` or `CLAIR`. + * + */ + @Export(name="value", refs={String.class}, tree="[0]") + private Output value; + + /** + * @return The value of the ECR Scan Type. This can be `AWS_NATIVE` or `CLAIR`. + * + */ + public Output value() { + return this.value; + } + + /** + * + * @param name The _unique_ name of the resulting resource. + */ + public AccountSetting(java.lang.String name) { + this(name, AccountSettingArgs.Empty); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + */ + public AccountSetting(java.lang.String name, AccountSettingArgs 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 AccountSetting(java.lang.String name, AccountSettingArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("aws:ecr/accountSetting:AccountSetting", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false); + } + + private AccountSetting(java.lang.String name, Output id, @Nullable AccountSettingState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("aws:ecr/accountSetting:AccountSetting", name, state, makeResourceOptions(options, id), false); + } + + private static AccountSettingArgs makeArgs(AccountSettingArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + if (options != null && options.getUrn().isPresent()) { + return null; + } + return args == null ? AccountSettingArgs.Empty : args; + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() + .version(Utilities.getVersion()) + .build(); + return com.pulumi.resources.CustomResourceOptions.merge(defaultOptions, options, id); + } + + /** + * Get an existing Host resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param state + * @param options Optional settings to control the behavior of the CustomResource. + */ + public static AccountSetting get(java.lang.String name, Output id, @Nullable AccountSettingState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + return new AccountSetting(name, id, state, options); + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/ecr/AccountSettingArgs.java b/sdk/java/src/main/java/com/pulumi/aws/ecr/AccountSettingArgs.java new file mode 100644 index 00000000000..e0dbb29843e --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/ecr/AccountSettingArgs.java @@ -0,0 +1,124 @@ +// *** 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.ecr; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class AccountSettingArgs extends com.pulumi.resources.ResourceArgs { + + public static final AccountSettingArgs Empty = new AccountSettingArgs(); + + /** + * The name of the ECR Scan Type. This should be `BASIC_SCAN_TYPE_VERSION`. + * + */ + @Import(name="name") + private @Nullable Output name; + + /** + * @return The name of the ECR Scan Type. This should be `BASIC_SCAN_TYPE_VERSION`. + * + */ + public Optional> name() { + return Optional.ofNullable(this.name); + } + + /** + * The value of the ECR Scan Type. This can be `AWS_NATIVE` or `CLAIR`. + * + */ + @Import(name="value", required=true) + private Output value; + + /** + * @return The value of the ECR Scan Type. This can be `AWS_NATIVE` or `CLAIR`. + * + */ + public Output value() { + return this.value; + } + + private AccountSettingArgs() {} + + private AccountSettingArgs(AccountSettingArgs $) { + this.name = $.name; + this.value = $.value; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(AccountSettingArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private AccountSettingArgs $; + + public Builder() { + $ = new AccountSettingArgs(); + } + + public Builder(AccountSettingArgs defaults) { + $ = new AccountSettingArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param name The name of the ECR Scan Type. This should be `BASIC_SCAN_TYPE_VERSION`. + * + * @return builder + * + */ + public Builder name(@Nullable Output name) { + $.name = name; + return this; + } + + /** + * @param name The name of the ECR Scan Type. This should be `BASIC_SCAN_TYPE_VERSION`. + * + * @return builder + * + */ + public Builder name(String name) { + return name(Output.of(name)); + } + + /** + * @param value The value of the ECR Scan Type. This can be `AWS_NATIVE` or `CLAIR`. + * + * @return builder + * + */ + public Builder value(Output value) { + $.value = value; + return this; + } + + /** + * @param value The value of the ECR Scan Type. This can be `AWS_NATIVE` or `CLAIR`. + * + * @return builder + * + */ + public Builder value(String value) { + return value(Output.of(value)); + } + + public AccountSettingArgs build() { + if ($.value == null) { + throw new MissingRequiredPropertyException("AccountSettingArgs", "value"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/ecr/EcrFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/ecr/EcrFunctions.java index 304494eb635..bdaa47815b7 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ecr/EcrFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ecr/EcrFunctions.java @@ -30,6 +30,7 @@ import com.pulumi.core.TypeShape; import com.pulumi.deployment.Deployment; import com.pulumi.deployment.InvokeOptions; +import com.pulumi.deployment.InvokeOutputOptions; import com.pulumi.resources.InvokeArgs; import java.util.concurrent.CompletableFuture; @@ -234,6 +235,46 @@ public static CompletableFuture getAuthorizationTok public static Output getAuthorizationToken(GetAuthorizationTokenArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:ecr/getAuthorizationToken:getAuthorizationToken", TypeShape.of(GetAuthorizationTokenResult.class), args, Utilities.withVersion(options)); } + /** + * The ECR Authorization Token data source allows the authorization token, proxy endpoint, token expiration date, user name and password to be retrieved for an ECR repository. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.ecr.EcrFunctions;
+     * import com.pulumi.aws.ecr.inputs.GetAuthorizationTokenArgs;
+     * 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 token = EcrFunctions.getAuthorizationToken();
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getAuthorizationToken(GetAuthorizationTokenArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:ecr/getAuthorizationToken:getAuthorizationToken", TypeShape.of(GetAuthorizationTokenResult.class), args, Utilities.withVersion(options)); + } /** * The ECR Authorization Token data source allows the authorization token, proxy endpoint, token expiration date, user name and password to be retrieved for an ECR repository. * @@ -283,6 +324,9 @@ public static CompletableFuture getCredentialsPlain(GetCre public static Output getCredentials(GetCredentialsArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:ecr/getCredentials:getCredentials", TypeShape.of(GetCredentialsResult.class), args, Utilities.withVersion(options)); } + public static Output getCredentials(GetCredentialsArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:ecr/getCredentials:getCredentials", TypeShape.of(GetCredentialsResult.class), args, Utilities.withVersion(options)); + } public static CompletableFuture getCredentialsPlain(GetCredentialsPlainArgs args, InvokeOptions options) { return Deployment.getInstance().invokeAsync("aws:ecr/getCredentials:getCredentials", TypeShape.of(GetCredentialsResult.class), args, Utilities.withVersion(options)); } @@ -415,6 +459,49 @@ public static CompletableFuture getImagePlain(GetImagePlainArgs public static Output getImage(GetImageArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:ecr/getImage:getImage", TypeShape.of(GetImageResult.class), args, Utilities.withVersion(options)); } + /** + * The ECR Image data source allows the details of an image with a particular tag or digest to be retrieved. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.ecr.EcrFunctions;
+     * import com.pulumi.aws.ecr.inputs.GetImageArgs;
+     * 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 serviceImage = EcrFunctions.getImage(GetImageArgs.builder()
+     *             .repositoryName("my/service")
+     *             .imageTag("latest")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getImage(GetImageArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:ecr/getImage:getImage", TypeShape.of(GetImageResult.class), args, Utilities.withVersion(options)); + } /** * The ECR Image data source allows the details of an image with a particular tag or digest to be retrieved. * @@ -758,6 +845,66 @@ public static CompletableFuture getLifecyclePo public static Output getLifecyclePolicyDocument(GetLifecyclePolicyDocumentArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:ecr/getLifecyclePolicyDocument:getLifecyclePolicyDocument", TypeShape.of(GetLifecyclePolicyDocumentResult.class), args, Utilities.withVersion(options)); } + /** + * Generates an ECR lifecycle policy document in JSON format. Can be used with resources such as the `aws.ecr.LifecyclePolicy` resource. + * + * > For more information about building AWS ECR lifecycle policy documents, see the [AWS ECR Lifecycle Policy Document Guide](https://docs.aws.amazon.com/AmazonECR/latest/userguide/LifecyclePolicies.html). + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.ecr.EcrFunctions;
+     * import com.pulumi.aws.ecr.inputs.GetLifecyclePolicyDocumentArgs;
+     * import com.pulumi.aws.ecr.LifecyclePolicy;
+     * import com.pulumi.aws.ecr.LifecyclePolicyArgs;
+     * 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 = EcrFunctions.getLifecyclePolicyDocument(GetLifecyclePolicyDocumentArgs.builder()
+     *             .rules(GetLifecyclePolicyDocumentRuleArgs.builder()
+     *                 .priority(1)
+     *                 .description("This is a test.")
+     *                 .selection(GetLifecyclePolicyDocumentRuleSelectionArgs.builder()
+     *                     .tagStatus("tagged")
+     *                     .tagPrefixLists("prod")
+     *                     .countType("imageCountMoreThan")
+     *                     .countNumber(100)
+     *                     .build())
+     *                 .build())
+     *             .build());
+     * 
+     *         var exampleLifecyclePolicy = new LifecyclePolicy("exampleLifecyclePolicy", LifecyclePolicyArgs.builder()
+     *             .repository(exampleAwsEcrRepository.name())
+     *             .policy(example.applyValue(getLifecyclePolicyDocumentResult -> getLifecyclePolicyDocumentResult.json()))
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getLifecyclePolicyDocument(GetLifecyclePolicyDocumentArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:ecr/getLifecyclePolicyDocument:getLifecyclePolicyDocument", TypeShape.of(GetLifecyclePolicyDocumentResult.class), args, Utilities.withVersion(options)); + } /** * Generates an ECR lifecycle policy document in JSON format. Can be used with resources such as the `aws.ecr.LifecyclePolicy` resource. * @@ -944,6 +1091,48 @@ public static CompletableFuture getPullThroughCac public static Output getPullThroughCacheRule(GetPullThroughCacheRuleArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:ecr/getPullThroughCacheRule:getPullThroughCacheRule", TypeShape.of(GetPullThroughCacheRuleResult.class), args, Utilities.withVersion(options)); } + /** + * The ECR Pull Through Cache Rule data source allows the upstream registry URL and registry ID to be retrieved for a Pull Through Cache Rule. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.ecr.EcrFunctions;
+     * import com.pulumi.aws.ecr.inputs.GetPullThroughCacheRuleArgs;
+     * 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 ecrPublic = EcrFunctions.getPullThroughCacheRule(GetPullThroughCacheRuleArgs.builder()
+     *             .ecrRepositoryPrefix("ecr-public")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getPullThroughCacheRule(GetPullThroughCacheRuleArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:ecr/getPullThroughCacheRule:getPullThroughCacheRule", TypeShape.of(GetPullThroughCacheRuleResult.class), args, Utilities.withVersion(options)); + } /** * The ECR Pull Through Cache Rule data source allows the upstream registry URL and registry ID to be retrieved for a Pull Through Cache Rule. * @@ -1191,6 +1380,47 @@ public static CompletableFuture getRepositoriesPlain(Invo public static Output getRepositories(InvokeArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:ecr/getRepositories:getRepositories", TypeShape.of(GetRepositoriesResult.class), args, Utilities.withVersion(options)); } + /** + * Data source for providing information on AWS ECR (Elastic Container Registry) Repositories. + * + * ## Example Usage + * + * ### Basic Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.ecr.EcrFunctions;
+     * 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 = EcrFunctions.getRepositories();
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getRepositories(InvokeArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:ecr/getRepositories:getRepositories", TypeShape.of(GetRepositoriesResult.class), args, Utilities.withVersion(options)); + } /** * Data source for providing information on AWS ECR (Elastic Container Registry) Repositories. * @@ -1358,6 +1588,48 @@ public static CompletableFuture getRepositoryPlain(GetRepos public static Output getRepository(GetRepositoryArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:ecr/getRepository:getRepository", TypeShape.of(GetRepositoryResult.class), args, Utilities.withVersion(options)); } + /** + * The ECR Repository data source allows the ARN, Repository URI and Registry ID to be retrieved for an ECR repository. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.ecr.EcrFunctions;
+     * import com.pulumi.aws.ecr.inputs.GetRepositoryArgs;
+     * 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 service = EcrFunctions.getRepository(GetRepositoryArgs.builder()
+     *             .name("ecr-repository")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getRepository(GetRepositoryArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:ecr/getRepository:getRepository", TypeShape.of(GetRepositoryResult.class), args, Utilities.withVersion(options)); + } /** * The ECR Repository data source allows the ARN, Repository URI and Registry ID to be retrieved for an ECR repository. * @@ -1526,6 +1798,48 @@ public static CompletableFuture getReposito public static Output getRepositoryCreationTemplate(GetRepositoryCreationTemplateArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:ecr/getRepositoryCreationTemplate:getRepositoryCreationTemplate", TypeShape.of(GetRepositoryCreationTemplateResult.class), args, Utilities.withVersion(options)); } + /** + * The ECR Repository Creation Template data source allows the template details to be retrieved for a Repository Creation Template. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.ecr.EcrFunctions;
+     * import com.pulumi.aws.ecr.inputs.GetRepositoryCreationTemplateArgs;
+     * 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 = EcrFunctions.getRepositoryCreationTemplate(GetRepositoryCreationTemplateArgs.builder()
+     *             .prefix("example")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getRepositoryCreationTemplate(GetRepositoryCreationTemplateArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:ecr/getRepositoryCreationTemplate:getRepositoryCreationTemplate", TypeShape.of(GetRepositoryCreationTemplateResult.class), args, Utilities.withVersion(options)); + } /** * The ECR Repository Creation Template data source allows the template details to be retrieved for a Repository Creation Template. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/ecr/inputs/AccountSettingState.java b/sdk/java/src/main/java/com/pulumi/aws/ecr/inputs/AccountSettingState.java new file mode 100644 index 00000000000..8cd4589c0f0 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/ecr/inputs/AccountSettingState.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.ecr.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 AccountSettingState extends com.pulumi.resources.ResourceArgs { + + public static final AccountSettingState Empty = new AccountSettingState(); + + /** + * The name of the ECR Scan Type. This should be `BASIC_SCAN_TYPE_VERSION`. + * + */ + @Import(name="name") + private @Nullable Output name; + + /** + * @return The name of the ECR Scan Type. This should be `BASIC_SCAN_TYPE_VERSION`. + * + */ + public Optional> name() { + return Optional.ofNullable(this.name); + } + + /** + * The value of the ECR Scan Type. This can be `AWS_NATIVE` or `CLAIR`. + * + */ + @Import(name="value") + private @Nullable Output value; + + /** + * @return The value of the ECR Scan Type. This can be `AWS_NATIVE` or `CLAIR`. + * + */ + public Optional> value() { + return Optional.ofNullable(this.value); + } + + private AccountSettingState() {} + + private AccountSettingState(AccountSettingState $) { + this.name = $.name; + this.value = $.value; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(AccountSettingState defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private AccountSettingState $; + + public Builder() { + $ = new AccountSettingState(); + } + + public Builder(AccountSettingState defaults) { + $ = new AccountSettingState(Objects.requireNonNull(defaults)); + } + + /** + * @param name The name of the ECR Scan Type. This should be `BASIC_SCAN_TYPE_VERSION`. + * + * @return builder + * + */ + public Builder name(@Nullable Output name) { + $.name = name; + return this; + } + + /** + * @param name The name of the ECR Scan Type. This should be `BASIC_SCAN_TYPE_VERSION`. + * + * @return builder + * + */ + public Builder name(String name) { + return name(Output.of(name)); + } + + /** + * @param value The value of the ECR Scan Type. This can be `AWS_NATIVE` or `CLAIR`. + * + * @return builder + * + */ + public Builder value(@Nullable Output value) { + $.value = value; + return this; + } + + /** + * @param value The value of the ECR Scan Type. This can be `AWS_NATIVE` or `CLAIR`. + * + * @return builder + * + */ + public Builder value(String value) { + return value(Output.of(value)); + } + + public AccountSettingState build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/ecrpublic/EcrpublicFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/ecrpublic/EcrpublicFunctions.java index 64847b01269..d22c9ba5d34 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ecrpublic/EcrpublicFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ecrpublic/EcrpublicFunctions.java @@ -9,6 +9,7 @@ import com.pulumi.core.TypeShape; import com.pulumi.deployment.Deployment; import com.pulumi.deployment.InvokeOptions; +import com.pulumi.deployment.InvokeOutputOptions; import com.pulumi.resources.InvokeArgs; import java.util.concurrent.CompletableFuture; @@ -218,6 +219,47 @@ public static CompletableFuture getAuthorizationTok public static Output getAuthorizationToken(InvokeArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:ecrpublic/getAuthorizationToken:getAuthorizationToken", TypeShape.of(GetAuthorizationTokenResult.class), args, Utilities.withVersion(options)); } + /** + * The Public ECR Authorization Token data source allows the authorization token, token expiration date, user name, and password to be retrieved for a Public ECR repository. + * + * > **NOTE:** This data source can only be used in the `us-east-1` region. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.ecrpublic.EcrpublicFunctions;
+     * 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 token = EcrpublicFunctions.getAuthorizationToken();
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getAuthorizationToken(InvokeArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:ecrpublic/getAuthorizationToken:getAuthorizationToken", TypeShape.of(GetAuthorizationTokenResult.class), args, Utilities.withVersion(options)); + } /** * The Public ECR Authorization Token data source allows the authorization token, token expiration date, user name, and password to be retrieved for a Public ECR repository. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/ecs/EcsFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/ecs/EcsFunctions.java index 9275bf265b6..edf27dea51a 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ecs/EcsFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ecs/EcsFunctions.java @@ -23,6 +23,7 @@ import com.pulumi.core.TypeShape; import com.pulumi.deployment.Deployment; import com.pulumi.deployment.InvokeOptions; +import com.pulumi.deployment.InvokeOutputOptions; import java.util.concurrent.CompletableFuture; public final class EcsFunctions { @@ -155,6 +156,49 @@ public static CompletableFuture getClusterPlain(GetClusterPlai public static Output getCluster(GetClusterArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:ecs/getCluster:getCluster", TypeShape.of(GetClusterResult.class), args, Utilities.withVersion(options)); } + /** + * The ECS Cluster data source allows access to details of a specific + * cluster within an AWS ECS service. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.ecs.EcsFunctions;
+     * import com.pulumi.aws.ecs.inputs.GetClusterArgs;
+     * 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 ecs-mongo = EcsFunctions.getCluster(GetClusterArgs.builder()
+     *             .clusterName("ecs-mongo-production")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getCluster(GetClusterArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:ecs/getCluster:getCluster", TypeShape.of(GetClusterResult.class), args, Utilities.withVersion(options)); + } /** * The ECS Cluster data source allows access to details of a specific * cluster within an AWS ECS service. @@ -330,6 +374,50 @@ public static CompletableFuture getContainerDefini public static Output getContainerDefinition(GetContainerDefinitionArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:ecs/getContainerDefinition:getContainerDefinition", TypeShape.of(GetContainerDefinitionResult.class), args, Utilities.withVersion(options)); } + /** + * The ECS container definition data source allows access to details of + * a specific container within an AWS ECS service. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.ecs.EcsFunctions;
+     * import com.pulumi.aws.ecs.inputs.GetContainerDefinitionArgs;
+     * 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 ecs-mongo = EcsFunctions.getContainerDefinition(GetContainerDefinitionArgs.builder()
+     *             .taskDefinition(mongo.id())
+     *             .containerName("mongodb")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getContainerDefinition(GetContainerDefinitionArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:ecs/getContainerDefinition:getContainerDefinition", TypeShape.of(GetContainerDefinitionResult.class), args, Utilities.withVersion(options)); + } /** * The ECS container definition data source allows access to details of * a specific container within an AWS ECS service. @@ -506,6 +594,50 @@ public static CompletableFuture getServicePlain(GetServicePlai public static Output getService(GetServiceArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:ecs/getService:getService", TypeShape.of(GetServiceResult.class), args, Utilities.withVersion(options)); } + /** + * The ECS Service data source allows access to details of a specific + * Service within a AWS ECS Cluster. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.ecs.EcsFunctions;
+     * import com.pulumi.aws.ecs.inputs.GetServiceArgs;
+     * 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 = EcsFunctions.getService(GetServiceArgs.builder()
+     *             .serviceName("example")
+     *             .clusterArn(exampleAwsEcsCluster.arn())
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getService(GetServiceArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:ecs/getService:getService", TypeShape.of(GetServiceResult.class), args, Utilities.withVersion(options)); + } /** * The ECS Service data source allows access to details of a specific * Service within a AWS ECS Cluster. @@ -793,6 +925,87 @@ public static CompletableFuture getTaskDefinitionPlain( public static Output getTaskDefinition(GetTaskDefinitionArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:ecs/getTaskDefinition:getTaskDefinition", TypeShape.of(GetTaskDefinitionResult.class), args, Utilities.withVersion(options)); } + /** + * The ECS task definition data source allows access to details of + * a specific AWS ECS task definition. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.ecs.TaskDefinition;
+     * import com.pulumi.aws.ecs.TaskDefinitionArgs;
+     * import com.pulumi.aws.ecs.EcsFunctions;
+     * import com.pulumi.aws.ecs.inputs.GetTaskDefinitionArgs;
+     * import com.pulumi.aws.ecs.Cluster;
+     * import com.pulumi.aws.ecs.ClusterArgs;
+     * import com.pulumi.aws.ecs.Service;
+     * import com.pulumi.aws.ecs.ServiceArgs;
+     * 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 mongoTaskDefinition = new TaskDefinition("mongoTaskDefinition", TaskDefinitionArgs.builder()
+     *             .family("mongodb")
+     *             .containerDefinitions("""
+     * [
+     *   {
+     *     "cpu": 128,
+     *     "environment": [{
+     *       "name": "SECRET",
+     *       "value": "KEY"
+     *     }],
+     *     "essential": true,
+     *     "image": "mongo:latest",
+     *     "memory": 128,
+     *     "memoryReservation": 64,
+     *     "name": "mongodb"
+     *   }
+     * ]
+     *             """)
+     *             .build());
+     * 
+     *         // Simply specify the family to find the latest ACTIVE revision in that family.
+     *         final var mongo = EcsFunctions.getTaskDefinition(GetTaskDefinitionArgs.builder()
+     *             .taskDefinition(mongoTaskDefinition.family())
+     *             .build());
+     * 
+     *         var foo = new Cluster("foo", ClusterArgs.builder()
+     *             .name("foo")
+     *             .build());
+     * 
+     *         var mongoService = new Service("mongoService", ServiceArgs.builder()
+     *             .name("mongo")
+     *             .cluster(foo.id())
+     *             .desiredCount(2)
+     *             .taskDefinition(mongo.applyValue(getTaskDefinitionResult -> getTaskDefinitionResult).applyValue(mongo -> mongo.applyValue(getTaskDefinitionResult -> getTaskDefinitionResult.arn())))
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getTaskDefinition(GetTaskDefinitionArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:ecs/getTaskDefinition:getTaskDefinition", TypeShape.of(GetTaskDefinitionResult.class), args, Utilities.withVersion(options)); + } /** * The ECS task definition data source allows access to details of * a specific AWS ECS task definition. @@ -1039,6 +1252,61 @@ public static CompletableFuture getTaskExecutionPlain(Ge public static Output getTaskExecution(GetTaskExecutionArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:ecs/getTaskExecution:getTaskExecution", TypeShape.of(GetTaskExecutionResult.class), args, Utilities.withVersion(options)); } + /** + * Data source for managing an AWS ECS (Elastic Container) Task Execution. This data source calls the [RunTask](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_RunTask.html) API, allowing execution of one-time tasks that don't fit a standard resource lifecycle. See the feature request issue for additional context. + * + * > **NOTE on preview operations:** This data source calls the `RunTask` API on every read operation, which means new task(s) may be created from a `pulumi preview` command if all attributes are known. Placing this functionality behind a data source is an intentional trade off to enable use cases requiring a one-time task execution without relying on provisioners. Caution should be taken to ensure the data source is only executed once, or that the resulting tasks can safely run in parallel. + * + * ## Example Usage + * + * ### Basic Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.ecs.EcsFunctions;
+     * import com.pulumi.aws.ecs.inputs.GetTaskExecutionArgs;
+     * import com.pulumi.aws.ecs.inputs.GetTaskExecutionNetworkConfigurationArgs;
+     * 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 = EcsFunctions.getTaskExecution(GetTaskExecutionArgs.builder()
+     *             .cluster(exampleAwsEcsCluster.id())
+     *             .taskDefinition(exampleAwsEcsTaskDefinition.arn())
+     *             .desiredCount(1)
+     *             .launchType("FARGATE")
+     *             .networkConfiguration(GetTaskExecutionNetworkConfigurationArgs.builder()
+     *                 .subnets(exampleAwsSubnet.stream().map(element -> element.id()).collect(toList()))
+     *                 .securityGroups(exampleAwsSecurityGroup.id())
+     *                 .assignPublicIp(false)
+     *                 .build())
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getTaskExecution(GetTaskExecutionArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:ecs/getTaskExecution:getTaskExecution", TypeShape.of(GetTaskExecutionResult.class), args, Utilities.withVersion(options)); + } /** * Data source for managing an AWS ECS (Elastic Container) Task Execution. This data source calls the [RunTask](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_RunTask.html) API, allowing execution of one-time tasks that don't fit a standard resource lifecycle. See the feature request issue for additional context. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/ecs/inputs/ClusterSettingArgs.java b/sdk/java/src/main/java/com/pulumi/aws/ecs/inputs/ClusterSettingArgs.java index 591bfa13ae3..cbb2bc2cea3 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ecs/inputs/ClusterSettingArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ecs/inputs/ClusterSettingArgs.java @@ -30,14 +30,14 @@ public Output name() { } /** - * Value to assign to the setting. Valid values: `enabled`, `disabled`. + * Value to assign to the setting. Valid values: `enhanced`, `enabled`, `disabled`. * */ @Import(name="value", required=true) private Output value; /** - * @return Value to assign to the setting. Valid values: `enabled`, `disabled`. + * @return Value to assign to the setting. Valid values: `enhanced`, `enabled`, `disabled`. * */ public Output value() { @@ -91,7 +91,7 @@ public Builder name(String name) { } /** - * @param value Value to assign to the setting. Valid values: `enabled`, `disabled`. + * @param value Value to assign to the setting. Valid values: `enhanced`, `enabled`, `disabled`. * * @return builder * @@ -102,7 +102,7 @@ public Builder value(Output value) { } /** - * @param value Value to assign to the setting. Valid values: `enabled`, `disabled`. + * @param value Value to assign to the setting. Valid values: `enhanced`, `enabled`, `disabled`. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/ecs/outputs/ClusterSetting.java b/sdk/java/src/main/java/com/pulumi/aws/ecs/outputs/ClusterSetting.java index 9eb2fd4c694..18be7560a74 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ecs/outputs/ClusterSetting.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ecs/outputs/ClusterSetting.java @@ -16,7 +16,7 @@ public final class ClusterSetting { */ private String name; /** - * @return Value to assign to the setting. Valid values: `enabled`, `disabled`. + * @return Value to assign to the setting. Valid values: `enhanced`, `enabled`, `disabled`. * */ private String value; @@ -30,7 +30,7 @@ public String name() { return this.name; } /** - * @return Value to assign to the setting. Valid values: `enabled`, `disabled`. + * @return Value to assign to the setting. Valid values: `enhanced`, `enabled`, `disabled`. * */ public String value() { diff --git a/sdk/java/src/main/java/com/pulumi/aws/efs/EfsFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/efs/EfsFunctions.java index c41a6e5e192..be7248d57f0 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/efs/EfsFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/efs/EfsFunctions.java @@ -20,6 +20,7 @@ import com.pulumi.core.TypeShape; import com.pulumi.deployment.Deployment; import com.pulumi.deployment.InvokeOptions; +import com.pulumi.deployment.InvokeOutputOptions; import java.util.concurrent.CompletableFuture; public final class EfsFunctions { @@ -149,6 +150,48 @@ public static CompletableFuture getAccessPointPlain(GetAcc public static Output getAccessPoint(GetAccessPointArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:efs/getAccessPoint:getAccessPoint", TypeShape.of(GetAccessPointResult.class), args, Utilities.withVersion(options)); } + /** + * Provides information about an Elastic File System (EFS) Access Point. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.efs.EfsFunctions;
+     * import com.pulumi.aws.efs.inputs.GetAccessPointArgs;
+     * 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 test = EfsFunctions.getAccessPoint(GetAccessPointArgs.builder()
+     *             .accessPointId("fsap-12345678")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getAccessPoint(GetAccessPointArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:efs/getAccessPoint:getAccessPoint", TypeShape.of(GetAccessPointResult.class), args, Utilities.withVersion(options)); + } /** * Provides information about an Elastic File System (EFS) Access Point. * @@ -317,6 +360,48 @@ public static CompletableFuture getAccessPointsPlain(GetA public static Output getAccessPoints(GetAccessPointsArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:efs/getAccessPoints:getAccessPoints", TypeShape.of(GetAccessPointsResult.class), args, Utilities.withVersion(options)); } + /** + * Provides information about multiple Elastic File System (EFS) Access Points. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.efs.EfsFunctions;
+     * import com.pulumi.aws.efs.inputs.GetAccessPointsArgs;
+     * 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 test = EfsFunctions.getAccessPoints(GetAccessPointsArgs.builder()
+     *             .fileSystemId("fs-12345678")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getAccessPoints(GetAccessPointsArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:efs/getAccessPoints:getAccessPoints", TypeShape.of(GetAccessPointsResult.class), args, Utilities.withVersion(options)); + } /** * Provides information about multiple Elastic File System (EFS) Access Points. * @@ -599,6 +684,54 @@ public static CompletableFuture getFileSystemPlain(GetFileS public static Output getFileSystem(GetFileSystemArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:efs/getFileSystem:getFileSystem", TypeShape.of(GetFileSystemResult.class), args, Utilities.withVersion(options)); } + /** + * Provides information about an Elastic File System (EFS) File System. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.efs.EfsFunctions;
+     * import com.pulumi.aws.efs.inputs.GetFileSystemArgs;
+     * import java.util.List;
+     * import java.util.ArrayList;
+     * import java.util.Map;
+     * import java.io.File;
+     * import java.nio.file.Files;
+     * import java.nio.file.Paths;
+     * 
+     * public class App {
+     *     public static void main(String[] args) {
+     *         Pulumi.run(App::stack);
+     *     }
+     * 
+     *     public static void stack(Context ctx) {
+     *         final var config = ctx.config();
+     *         final var fileSystemId = config.get("fileSystemId").orElse("");
+     *         final var byId = EfsFunctions.getFileSystem(GetFileSystemArgs.builder()
+     *             .fileSystemId(fileSystemId)
+     *             .build());
+     * 
+     *         final var byTag = EfsFunctions.getFileSystem(GetFileSystemArgs.builder()
+     *             .tags(Map.of("Environment", "dev"))
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getFileSystem(GetFileSystemArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:efs/getFileSystem:getFileSystem", TypeShape.of(GetFileSystemResult.class), args, Utilities.withVersion(options)); + } /** * Provides information about an Elastic File System (EFS) File System. * @@ -867,6 +1000,50 @@ public static CompletableFuture getMountTargetPlain(GetMou public static Output getMountTarget(GetMountTargetArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:efs/getMountTarget:getMountTarget", TypeShape.of(GetMountTargetResult.class), args, Utilities.withVersion(options)); } + /** + * Provides information about an Elastic File System Mount Target (EFS). + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.efs.EfsFunctions;
+     * import com.pulumi.aws.efs.inputs.GetMountTargetArgs;
+     * import java.util.List;
+     * import java.util.ArrayList;
+     * import java.util.Map;
+     * import java.io.File;
+     * import java.nio.file.Files;
+     * import java.nio.file.Paths;
+     * 
+     * public class App {
+     *     public static void main(String[] args) {
+     *         Pulumi.run(App::stack);
+     *     }
+     * 
+     *     public static void stack(Context ctx) {
+     *         final var config = ctx.config();
+     *         final var mountTargetId = config.get("mountTargetId").orElse("");
+     *         final var byId = EfsFunctions.getMountTarget(GetMountTargetArgs.builder()
+     *             .mountTargetId(mountTargetId)
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getMountTarget(GetMountTargetArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:efs/getMountTarget:getMountTarget", TypeShape.of(GetMountTargetResult.class), args, Utilities.withVersion(options)); + } /** * Provides information about an Elastic File System Mount Target (EFS). * diff --git a/sdk/java/src/main/java/com/pulumi/aws/eks/AccessPolicyAssociation.java b/sdk/java/src/main/java/com/pulumi/aws/eks/AccessPolicyAssociation.java index a180815de3e..e6a163c6890 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/eks/AccessPolicyAssociation.java +++ b/sdk/java/src/main/java/com/pulumi/aws/eks/AccessPolicyAssociation.java @@ -61,7 +61,7 @@ * * ## Import * - * Using `pulumi import`, import EKS access entry using the `cluster_name` `principal_arn` and `policy_arn` separated by a colon (`#`). For example: + * Using `pulumi import`, import EKS access entry using the `cluster_name` `principal_arn` and `policy_arn` separated by an octothorp (`#`). For example: * * ```sh * $ pulumi import aws:eks/accessPolicyAssociation:AccessPolicyAssociation my_eks_access_entry my_cluster_name#my_principal_arn#my_policy_arn diff --git a/sdk/java/src/main/java/com/pulumi/aws/eks/EksFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/eks/EksFunctions.java index 445102cf240..cbe195ec38c 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/eks/EksFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/eks/EksFunctions.java @@ -30,6 +30,7 @@ import com.pulumi.core.TypeShape; import com.pulumi.deployment.Deployment; import com.pulumi.deployment.InvokeOptions; +import com.pulumi.deployment.InvokeOutputOptions; import com.pulumi.resources.InvokeArgs; import java.util.concurrent.CompletableFuture; @@ -166,6 +167,50 @@ public static CompletableFuture getAccessEntryPlain(GetAcc public static Output getAccessEntry(GetAccessEntryArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:eks/getAccessEntry:getAccessEntry", TypeShape.of(GetAccessEntryResult.class), args, Utilities.withVersion(options)); } + /** + * Access Entry Configurations for an EKS Cluster. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.eks.EksFunctions;
+     * import com.pulumi.aws.eks.inputs.GetAccessEntryArgs;
+     * 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 = EksFunctions.getAccessEntry(GetAccessEntryArgs.builder()
+     *             .clusterName(exampleAwsEksCluster.name())
+     *             .principalArn(exampleAwsIamRole.arn())
+     *             .build());
+     * 
+     *         ctx.export("eksAccessEntryOutputs", exampleAwsEksAccessEntry);
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getAccessEntry(GetAccessEntryArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:eks/getAccessEntry:getAccessEntry", TypeShape.of(GetAccessEntryResult.class), args, Utilities.withVersion(options)); + } /** * Access Entry Configurations for an EKS Cluster. * @@ -342,6 +387,50 @@ public static CompletableFuture getAddonPlain(GetAddonPlainArgs public static Output getAddon(GetAddonArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:eks/getAddon:getAddon", TypeShape.of(GetAddonResult.class), args, Utilities.withVersion(options)); } + /** + * Retrieve information about an EKS add-on. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.eks.EksFunctions;
+     * import com.pulumi.aws.eks.inputs.GetAddonArgs;
+     * 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 = EksFunctions.getAddon(GetAddonArgs.builder()
+     *             .addonName("vpc-cni")
+     *             .clusterName(exampleAwsEksCluster.name())
+     *             .build());
+     * 
+     *         ctx.export("eksAddonOutputs", exampleAwsEksAddon);
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getAddon(GetAddonArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:eks/getAddon:getAddon", TypeShape.of(GetAddonResult.class), args, Utilities.withVersion(options)); + } /** * Retrieve information about an EKS add-on. * @@ -563,6 +652,65 @@ public static CompletableFuture getAddonVersionPlain(GetA public static Output getAddonVersion(GetAddonVersionArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:eks/getAddonVersion:getAddonVersion", TypeShape.of(GetAddonVersionResult.class), args, Utilities.withVersion(options)); } + /** + * Retrieve information about a specific EKS add-on version compatible with an EKS cluster version. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.eks.EksFunctions;
+     * import com.pulumi.aws.eks.inputs.GetAddonVersionArgs;
+     * import com.pulumi.aws.eks.Addon;
+     * import com.pulumi.aws.eks.AddonArgs;
+     * 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 default = EksFunctions.getAddonVersion(GetAddonVersionArgs.builder()
+     *             .addonName("vpc-cni")
+     *             .kubernetesVersion(example.version())
+     *             .build());
+     * 
+     *         final var latest = EksFunctions.getAddonVersion(GetAddonVersionArgs.builder()
+     *             .addonName("vpc-cni")
+     *             .kubernetesVersion(example.version())
+     *             .mostRecent(true)
+     *             .build());
+     * 
+     *         var vpcCni = new Addon("vpcCni", AddonArgs.builder()
+     *             .clusterName(example.name())
+     *             .addonName("vpc-cni")
+     *             .addonVersion(latest.applyValue(getAddonVersionResult -> getAddonVersionResult.version()))
+     *             .build());
+     * 
+     *         ctx.export("default", default_.version());
+     *         ctx.export("latest", latest.applyValue(getAddonVersionResult -> getAddonVersionResult.version()));
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getAddonVersion(GetAddonVersionArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:eks/getAddonVersion:getAddonVersion", TypeShape.of(GetAddonVersionResult.class), args, Utilities.withVersion(options)); + } /** * Retrieve information about a specific EKS add-on version compatible with an EKS cluster version. * @@ -754,6 +902,50 @@ public static CompletableFuture getClusterPlain(GetClusterPlai public static Output getCluster(GetClusterArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:eks/getCluster:getCluster", TypeShape.of(GetClusterResult.class), args, Utilities.withVersion(options)); } + /** + * Retrieve information about an EKS Cluster. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.eks.EksFunctions;
+     * import com.pulumi.aws.eks.inputs.GetClusterArgs;
+     * 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 = EksFunctions.getCluster(GetClusterArgs.builder()
+     *             .name("example")
+     *             .build());
+     * 
+     *         ctx.export("endpoint", example.applyValue(getClusterResult -> getClusterResult.endpoint()));
+     *         ctx.export("kubeconfig-certificate-authority-data", example.applyValue(getClusterResult -> getClusterResult.certificateAuthorities()[0].data()));
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getCluster(GetClusterArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:eks/getCluster:getCluster", TypeShape.of(GetClusterResult.class), args, Utilities.withVersion(options)); + } /** * Retrieve information about an EKS Cluster. * @@ -954,6 +1146,58 @@ public static CompletableFuture getClusterAuthPlain(GetClu public static Output getClusterAuth(GetClusterAuthArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:eks/getClusterAuth:getClusterAuth", TypeShape.of(GetClusterAuthResult.class), args, Utilities.withVersion(options)); } + /** + * Get an authentication token to communicate with an EKS cluster. + * + * Uses IAM credentials from the AWS provider to generate a temporary token that is compatible with + * [AWS IAM Authenticator](https://github.com/kubernetes-sigs/aws-iam-authenticator) authentication. + * This can be used to authenticate to an EKS cluster or to a cluster that has the AWS IAM Authenticator + * server configured. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.eks.EksFunctions;
+     * import com.pulumi.aws.eks.inputs.GetClusterArgs;
+     * import com.pulumi.aws.eks.inputs.GetClusterAuthArgs;
+     * 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 = EksFunctions.getCluster(GetClusterArgs.builder()
+     *             .name("example")
+     *             .build());
+     * 
+     *         final var exampleGetClusterAuth = EksFunctions.getClusterAuth(GetClusterAuthArgs.builder()
+     *             .name("example")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getClusterAuth(GetClusterAuthArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:eks/getClusterAuth:getClusterAuth", TypeShape.of(GetClusterAuthResult.class), args, Utilities.withVersion(options)); + } /** * Get an authentication token to communicate with an EKS cluster. * @@ -1041,6 +1285,13 @@ public static CompletableFuture getClustersPlain(InvokeArgs a public static Output getClusters(InvokeArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:eks/getClusters:getClusters", TypeShape.of(GetClustersResult.class), args, Utilities.withVersion(options)); } + /** + * Retrieve EKS Clusters list + * + */ + public static Output getClusters(InvokeArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:eks/getClusters:getClusters", TypeShape.of(GetClustersResult.class), args, Utilities.withVersion(options)); + } /** * Retrieve EKS Clusters list * @@ -1177,6 +1428,49 @@ public static CompletableFuture getNodeGroupPlain(GetNodeGro public static Output getNodeGroup(GetNodeGroupArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:eks/getNodeGroup:getNodeGroup", TypeShape.of(GetNodeGroupResult.class), args, Utilities.withVersion(options)); } + /** + * Retrieve information about an EKS Node Group. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.eks.EksFunctions;
+     * import com.pulumi.aws.eks.inputs.GetNodeGroupArgs;
+     * 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 = EksFunctions.getNodeGroup(GetNodeGroupArgs.builder()
+     *             .clusterName("example")
+     *             .nodeGroupName("example")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getNodeGroup(GetNodeGroupArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:eks/getNodeGroup:getNodeGroup", TypeShape.of(GetNodeGroupResult.class), args, Utilities.withVersion(options)); + } /** * Retrieve information about an EKS Node Group. * @@ -1256,6 +1550,18 @@ public static CompletableFuture getNodeGroupsPlain(GetNodeG public static Output getNodeGroups(GetNodeGroupsArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:eks/getNodeGroups:getNodeGroups", TypeShape.of(GetNodeGroupsResult.class), args, Utilities.withVersion(options)); } + /** + * Retrieve the EKS Node Groups associated with a named EKS cluster. This will allow you to pass a list of Node Group names to other resources. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + * <!--End PulumiCodeChooser --> + * + */ + public static Output getNodeGroups(GetNodeGroupsArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:eks/getNodeGroups:getNodeGroups", TypeShape.of(GetNodeGroupsResult.class), args, Utilities.withVersion(options)); + } /** * Retrieve the EKS Node Groups associated with a named EKS cluster. This will allow you to pass a list of Node Group names to other resources. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/elasticache/ElasticacheFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/elasticache/ElasticacheFunctions.java index c027b0085aa..4bbc3ea79b0 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/elasticache/ElasticacheFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/elasticache/ElasticacheFunctions.java @@ -26,6 +26,7 @@ import com.pulumi.core.TypeShape; import com.pulumi.deployment.Deployment; import com.pulumi.deployment.InvokeOptions; +import com.pulumi.deployment.InvokeOutputOptions; import java.util.concurrent.CompletableFuture; public final class ElasticacheFunctions { @@ -155,6 +156,48 @@ public static CompletableFuture getClusterPlain(GetClusterPlai public static Output getCluster(GetClusterArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:elasticache/getCluster:getCluster", TypeShape.of(GetClusterResult.class), args, Utilities.withVersion(options)); } + /** + * Use this data source to get information about an ElastiCache Cluster + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.elasticache.ElasticacheFunctions;
+     * import com.pulumi.aws.elasticache.inputs.GetClusterArgs;
+     * 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 myCluster = ElasticacheFunctions.getCluster(GetClusterArgs.builder()
+     *             .clusterId("my-cluster-id")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getCluster(GetClusterArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:elasticache/getCluster:getCluster", TypeShape.of(GetClusterResult.class), args, Utilities.withVersion(options)); + } /** * Use this data source to get information about an ElastiCache Cluster * @@ -323,6 +366,48 @@ public static CompletableFuture getReplicationGroupPl public static Output getReplicationGroup(GetReplicationGroupArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:elasticache/getReplicationGroup:getReplicationGroup", TypeShape.of(GetReplicationGroupResult.class), args, Utilities.withVersion(options)); } + /** + * Use this data source to get information about an ElastiCache Replication Group. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.elasticache.ElasticacheFunctions;
+     * import com.pulumi.aws.elasticache.inputs.GetReplicationGroupArgs;
+     * 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 bar = ElasticacheFunctions.getReplicationGroup(GetReplicationGroupArgs.builder()
+     *             .replicationGroupId("example")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getReplicationGroup(GetReplicationGroupArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:elasticache/getReplicationGroup:getReplicationGroup", TypeShape.of(GetReplicationGroupResult.class), args, Utilities.withVersion(options)); + } /** * Use this data source to get information about an ElastiCache Replication Group. * @@ -500,6 +585,51 @@ public static CompletableFuture getReservedC public static Output getReservedCacheNodeOffering(GetReservedCacheNodeOfferingArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:elasticache/getReservedCacheNodeOffering:getReservedCacheNodeOffering", TypeShape.of(GetReservedCacheNodeOfferingResult.class), args, Utilities.withVersion(options)); } + /** + * Information about a single ElastiCache Reserved Cache Node Offering. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.elasticache.ElasticacheFunctions;
+     * import com.pulumi.aws.elasticache.inputs.GetReservedCacheNodeOfferingArgs;
+     * import java.util.List;
+     * import java.util.ArrayList;
+     * import java.util.Map;
+     * import java.io.File;
+     * import java.nio.file.Files;
+     * import java.nio.file.Paths;
+     * 
+     * public class App {
+     *     public static void main(String[] args) {
+     *         Pulumi.run(App::stack);
+     *     }
+     * 
+     *     public static void stack(Context ctx) {
+     *         final var example = ElasticacheFunctions.getReservedCacheNodeOffering(GetReservedCacheNodeOfferingArgs.builder()
+     *             .cacheNodeType("cache.t4g.small")
+     *             .duration("P1Y")
+     *             .offeringType("No Upfront")
+     *             .productDescription("redis")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getReservedCacheNodeOffering(GetReservedCacheNodeOfferingArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:elasticache/getReservedCacheNodeOffering:getReservedCacheNodeOffering", TypeShape.of(GetReservedCacheNodeOfferingResult.class), args, Utilities.withVersion(options)); + } /** * Information about a single ElastiCache Reserved Cache Node Offering. * @@ -671,6 +801,48 @@ public static CompletableFuture getServerlessCachePlai public static Output getServerlessCache(GetServerlessCacheArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:elasticache/getServerlessCache:getServerlessCache", TypeShape.of(GetServerlessCacheResult.class), args, Utilities.withVersion(options)); } + /** + * Use this data source to get information about an ElastiCache Serverless Cache. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.elasticache.ElasticacheFunctions;
+     * import com.pulumi.aws.elasticache.inputs.GetServerlessCacheArgs;
+     * import java.util.List;
+     * import java.util.ArrayList;
+     * import java.util.Map;
+     * import java.io.File;
+     * import java.nio.file.Files;
+     * import java.nio.file.Paths;
+     * 
+     * public class App {
+     *     public static void main(String[] args) {
+     *         Pulumi.run(App::stack);
+     *     }
+     * 
+     *     public static void stack(Context ctx) {
+     *         final var example = ElasticacheFunctions.getServerlessCache(GetServerlessCacheArgs.builder()
+     *             .name("example")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getServerlessCache(GetServerlessCacheArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:elasticache/getServerlessCache:getServerlessCache", TypeShape.of(GetServerlessCacheResult.class), args, Utilities.withVersion(options)); + } /** * Use this data source to get information about an ElastiCache Serverless Cache. * @@ -839,6 +1011,48 @@ public static CompletableFuture getSubnetGroupPlain(GetSub public static Output getSubnetGroup(GetSubnetGroupArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:elasticache/getSubnetGroup:getSubnetGroup", TypeShape.of(GetSubnetGroupResult.class), args, Utilities.withVersion(options)); } + /** + * Provides information about a ElastiCache Subnet Group. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.elasticache.ElasticacheFunctions;
+     * import com.pulumi.aws.elasticache.inputs.GetSubnetGroupArgs;
+     * import java.util.List;
+     * import java.util.ArrayList;
+     * import java.util.Map;
+     * import java.io.File;
+     * import java.nio.file.Files;
+     * import java.nio.file.Paths;
+     * 
+     * public class App {
+     *     public static void main(String[] args) {
+     *         Pulumi.run(App::stack);
+     *     }
+     * 
+     *     public static void stack(Context ctx) {
+     *         final var example = ElasticacheFunctions.getSubnetGroup(GetSubnetGroupArgs.builder()
+     *             .name("my-subnet-group")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getSubnetGroup(GetSubnetGroupArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:elasticache/getSubnetGroup:getSubnetGroup", TypeShape.of(GetSubnetGroupResult.class), args, Utilities.withVersion(options)); + } /** * Provides information about a ElastiCache Subnet Group. * @@ -1007,6 +1221,48 @@ public static CompletableFuture getUserPlain(GetUserPlainArgs arg public static Output getUser(GetUserArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:elasticache/getUser:getUser", TypeShape.of(GetUserResult.class), args, Utilities.withVersion(options)); } + /** + * Use this data source to get information about an ElastiCache User. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.elasticache.ElasticacheFunctions;
+     * import com.pulumi.aws.elasticache.inputs.GetUserArgs;
+     * 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 bar = ElasticacheFunctions.getUser(GetUserArgs.builder()
+     *             .userId("example")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getUser(GetUserArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:elasticache/getUser:getUser", TypeShape.of(GetUserResult.class), args, Utilities.withVersion(options)); + } /** * Use this data source to get information about an ElastiCache User. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/elasticbeanstalk/ElasticbeanstalkFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/elasticbeanstalk/ElasticbeanstalkFunctions.java index 50e05e18474..2a642daa01e 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/elasticbeanstalk/ElasticbeanstalkFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/elasticbeanstalk/ElasticbeanstalkFunctions.java @@ -17,6 +17,7 @@ import com.pulumi.core.TypeShape; import com.pulumi.deployment.Deployment; import com.pulumi.deployment.InvokeOptions; +import com.pulumi.deployment.InvokeOutputOptions; import java.util.concurrent.CompletableFuture; public final class ElasticbeanstalkFunctions { @@ -152,6 +153,50 @@ public static CompletableFuture getApplicationPlain(GetApp public static Output getApplication(GetApplicationArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:elasticbeanstalk/getApplication:getApplication", TypeShape.of(GetApplicationResult.class), args, Utilities.withVersion(options)); } + /** + * Retrieve information about an Elastic Beanstalk Application. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.elasticbeanstalk.ElasticbeanstalkFunctions;
+     * import com.pulumi.aws.elasticbeanstalk.inputs.GetApplicationArgs;
+     * 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 = ElasticbeanstalkFunctions.getApplication(GetApplicationArgs.builder()
+     *             .name("example")
+     *             .build());
+     * 
+     *         ctx.export("arn", example.applyValue(getApplicationResult -> getApplicationResult.arn()));
+     *         ctx.export("description", example.applyValue(getApplicationResult -> getApplicationResult.description()));
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getApplication(GetApplicationArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:elasticbeanstalk/getApplication:getApplication", TypeShape.of(GetApplicationResult.class), args, Utilities.withVersion(options)); + } /** * Retrieve information about an Elastic Beanstalk Application. * @@ -396,6 +441,46 @@ public static CompletableFuture getHostedZonePlain(GetHoste public static Output getHostedZone(GetHostedZoneArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:elasticbeanstalk/getHostedZone:getHostedZone", TypeShape.of(GetHostedZoneResult.class), args, Utilities.withVersion(options)); } + /** + * Use this data source to get the ID of an [elastic beanstalk hosted zone](http://docs.aws.amazon.com/general/latest/gr/rande.html#elasticbeanstalk_region). + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.elasticbeanstalk.ElasticbeanstalkFunctions;
+     * import com.pulumi.aws.elasticbeanstalk.inputs.GetHostedZoneArgs;
+     * 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 current = ElasticbeanstalkFunctions.getHostedZone();
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getHostedZone(GetHostedZoneArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:elasticbeanstalk/getHostedZone:getHostedZone", TypeShape.of(GetHostedZoneResult.class), args, Utilities.withVersion(options)); + } /** * Use this data source to get the ID of an [elastic beanstalk hosted zone](http://docs.aws.amazon.com/general/latest/gr/rande.html#elasticbeanstalk_region). * @@ -565,6 +650,49 @@ public static CompletableFuture getSolutionStackPlain(Ge public static Output getSolutionStack(GetSolutionStackArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:elasticbeanstalk/getSolutionStack:getSolutionStack", TypeShape.of(GetSolutionStackResult.class), args, Utilities.withVersion(options)); } + /** + * Use this data source to get the name of a elastic beanstalk solution stack. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.elasticbeanstalk.ElasticbeanstalkFunctions;
+     * import com.pulumi.aws.elasticbeanstalk.inputs.GetSolutionStackArgs;
+     * 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 multiDocker = ElasticbeanstalkFunctions.getSolutionStack(GetSolutionStackArgs.builder()
+     *             .mostRecent(true)
+     *             .nameRegex("^64bit Amazon Linux (.*) Multi-container Docker (.*)$")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getSolutionStack(GetSolutionStackArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:elasticbeanstalk/getSolutionStack:getSolutionStack", TypeShape.of(GetSolutionStackResult.class), args, Utilities.withVersion(options)); + } /** * Use this data source to get the name of a elastic beanstalk solution stack. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/elasticsearch/ElasticsearchFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/elasticsearch/ElasticsearchFunctions.java index f4f092624c3..eb2864c99d9 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/elasticsearch/ElasticsearchFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/elasticsearch/ElasticsearchFunctions.java @@ -11,6 +11,7 @@ import com.pulumi.core.TypeShape; import com.pulumi.deployment.Deployment; import com.pulumi.deployment.InvokeOptions; +import com.pulumi.deployment.InvokeOutputOptions; import java.util.concurrent.CompletableFuture; public final class ElasticsearchFunctions { @@ -140,6 +141,48 @@ public static CompletableFuture getDomainPlain(GetDomainPlainAr public static Output getDomain(GetDomainArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:elasticsearch/getDomain:getDomain", TypeShape.of(GetDomainResult.class), args, Utilities.withVersion(options)); } + /** + * Use this data source to get information about an Elasticsearch Domain + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.elasticsearch.ElasticsearchFunctions;
+     * import com.pulumi.aws.elasticsearch.inputs.GetDomainArgs;
+     * 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 myDomain = ElasticsearchFunctions.getDomain(GetDomainArgs.builder()
+     *             .domainName("my-domain-name")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getDomain(GetDomainArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:elasticsearch/getDomain:getDomain", TypeShape.of(GetDomainResult.class), args, Utilities.withVersion(options)); + } /** * Use this data source to get information about an Elasticsearch Domain * diff --git a/sdk/java/src/main/java/com/pulumi/aws/elb/ElbFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/elb/ElbFunctions.java index c010a7dc7d5..95140f9110e 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/elb/ElbFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/elb/ElbFunctions.java @@ -17,6 +17,7 @@ import com.pulumi.core.TypeShape; import com.pulumi.deployment.Deployment; import com.pulumi.deployment.InvokeOptions; +import com.pulumi.deployment.InvokeOutputOptions; import java.util.concurrent.CompletableFuture; public final class ElbFunctions { @@ -295,6 +296,61 @@ public static CompletableFuture getHostedZoneIdPlain(GetH public static Output getHostedZoneId(GetHostedZoneIdArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:elb/getHostedZoneId:getHostedZoneId", TypeShape.of(GetHostedZoneIdResult.class), args, Utilities.withVersion(options)); } + /** + * Use this data source to get the HostedZoneId of the AWS Elastic Load Balancing HostedZoneId + * in a given region for the purpose of using in an AWS Route53 Alias. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.elb.ElbFunctions;
+     * import com.pulumi.aws.elb.inputs.GetHostedZoneIdArgs;
+     * import com.pulumi.aws.route53.Record;
+     * import com.pulumi.aws.route53.RecordArgs;
+     * import com.pulumi.aws.route53.inputs.RecordAliasArgs;
+     * 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 main = ElbFunctions.getHostedZoneId();
+     * 
+     *         var www = new Record("www", RecordArgs.builder()
+     *             .zoneId(primary.zoneId())
+     *             .name("example.com")
+     *             .type("A")
+     *             .aliases(RecordAliasArgs.builder()
+     *                 .name(mainAwsElb.dnsName())
+     *                 .zoneId(main.applyValue(getHostedZoneIdResult -> getHostedZoneIdResult.id()))
+     *                 .evaluateTargetHealth(true)
+     *                 .build())
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getHostedZoneId(GetHostedZoneIdArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:elb/getHostedZoneId:getHostedZoneId", TypeShape.of(GetHostedZoneIdResult.class), args, Utilities.withVersion(options)); + } /** * Use this data source to get the HostedZoneId of the AWS Elastic Load Balancing HostedZoneId * in a given region for the purpose of using in an AWS Route53 Alias. @@ -500,6 +556,56 @@ public static CompletableFuture getLoadBalancerPlain(GetL public static Output getLoadBalancer(GetLoadBalancerArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:elb/getLoadBalancer:getLoadBalancer", TypeShape.of(GetLoadBalancerResult.class), args, Utilities.withVersion(options)); } + /** + * Provides information about a "classic" Elastic Load Balancer (ELB). + * See LB Data Source if you are looking for "v2" + * Application Load Balancer (ALB) or Network Load Balancer (NLB). + * + * This data source can prove useful when a module accepts an LB as an input + * variable and needs to, for example, determine the security groups associated + * with it, etc. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.elb.ElbFunctions;
+     * import com.pulumi.aws.elb.inputs.GetLoadBalancerArgs;
+     * import java.util.List;
+     * import java.util.ArrayList;
+     * import java.util.Map;
+     * import java.io.File;
+     * import java.nio.file.Files;
+     * import java.nio.file.Paths;
+     * 
+     * public class App {
+     *     public static void main(String[] args) {
+     *         Pulumi.run(App::stack);
+     *     }
+     * 
+     *     public static void stack(Context ctx) {
+     *         final var config = ctx.config();
+     *         final var lbName = config.get("lbName").orElse("");
+     *         final var test = ElbFunctions.getLoadBalancer(GetLoadBalancerArgs.builder()
+     *             .name(lbName)
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getLoadBalancer(GetLoadBalancerArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:elb/getLoadBalancer:getLoadBalancer", TypeShape.of(GetLoadBalancerResult.class), args, Utilities.withVersion(options)); + } /** * Provides information about a "classic" Elastic Load Balancer (ELB). * See LB Data Source if you are looking for "v2" @@ -1030,6 +1136,102 @@ public static CompletableFuture getServiceAccountPlain( public static Output getServiceAccount(GetServiceAccountArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:elb/getServiceAccount:getServiceAccount", TypeShape.of(GetServiceAccountResult.class), args, Utilities.withVersion(options)); } + /** + * Use this data source to get the Account ID of the [AWS Elastic Load Balancing Service Account](http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/enable-access-logs.html#attach-bucket-policy) + * in a given region for the purpose of permitting in S3 bucket policy. + * + * > **Note:** For AWS Regions opened since Jakarta (`ap-southeast-3`) in December 2021, AWS [documents that](https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/enable-access-logs.html#attach-bucket-policy) a [service principal name](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html#principal-services) should be used instead of an AWS account ID in any relevant IAM policy. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.elb.ElbFunctions;
+     * import com.pulumi.aws.elb.inputs.GetServiceAccountArgs;
+     * import com.pulumi.aws.s3.BucketV2;
+     * import com.pulumi.aws.s3.BucketV2Args;
+     * import com.pulumi.aws.s3.BucketAclV2;
+     * import com.pulumi.aws.s3.BucketAclV2Args;
+     * import com.pulumi.aws.iam.IamFunctions;
+     * import com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;
+     * import com.pulumi.aws.s3.BucketPolicy;
+     * import com.pulumi.aws.s3.BucketPolicyArgs;
+     * import com.pulumi.aws.elb.LoadBalancer;
+     * import com.pulumi.aws.elb.LoadBalancerArgs;
+     * import com.pulumi.aws.elb.inputs.LoadBalancerAccessLogsArgs;
+     * import com.pulumi.aws.elb.inputs.LoadBalancerListenerArgs;
+     * 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 main = ElbFunctions.getServiceAccount();
+     * 
+     *         var elbLogs = new BucketV2("elbLogs", BucketV2Args.builder()
+     *             .bucket("my-elb-tf-test-bucket")
+     *             .build());
+     * 
+     *         var elbLogsAcl = new BucketAclV2("elbLogsAcl", BucketAclV2Args.builder()
+     *             .bucket(elbLogs.id())
+     *             .acl("private")
+     *             .build());
+     * 
+     *         final var allowElbLogging = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()
+     *             .statements(GetPolicyDocumentStatementArgs.builder()
+     *                 .effect("Allow")
+     *                 .principals(GetPolicyDocumentStatementPrincipalArgs.builder()
+     *                     .type("AWS")
+     *                     .identifiers(main.applyValue(getServiceAccountResult -> getServiceAccountResult.arn()))
+     *                     .build())
+     *                 .actions("s3:PutObject")
+     *                 .resources(elbLogs.arn().applyValue(arn -> String.format("%s/AWSLogs/*", arn)))
+     *                 .build())
+     *             .build());
+     * 
+     *         var allowElbLoggingBucketPolicy = new BucketPolicy("allowElbLoggingBucketPolicy", BucketPolicyArgs.builder()
+     *             .bucket(elbLogs.id())
+     *             .policy(allowElbLogging.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult).applyValue(allowElbLogging -> allowElbLogging.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())))
+     *             .build());
+     * 
+     *         var bar = new LoadBalancer("bar", LoadBalancerArgs.builder()
+     *             .name("my-foobar-elb")
+     *             .availabilityZones("us-west-2a")
+     *             .accessLogs(LoadBalancerAccessLogsArgs.builder()
+     *                 .bucket(elbLogs.id())
+     *                 .interval(5)
+     *                 .build())
+     *             .listeners(LoadBalancerListenerArgs.builder()
+     *                 .instancePort(8000)
+     *                 .instanceProtocol("http")
+     *                 .lbPort(80)
+     *                 .lbProtocol("http")
+     *                 .build())
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getServiceAccount(GetServiceAccountArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:elb/getServiceAccount:getServiceAccount", TypeShape.of(GetServiceAccountResult.class), args, Utilities.withVersion(options)); + } /** * Use this data source to get the Account ID of the [AWS Elastic Load Balancing Service Account](http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/enable-access-logs.html#attach-bucket-policy) * in a given region for the purpose of permitting in S3 bucket policy. diff --git a/sdk/java/src/main/java/com/pulumi/aws/emr/EmrFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/emr/EmrFunctions.java index 580a0e1d0fe..4cbfa29ec2b 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/emr/EmrFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/emr/EmrFunctions.java @@ -14,6 +14,7 @@ import com.pulumi.core.TypeShape; import com.pulumi.deployment.Deployment; import com.pulumi.deployment.InvokeOptions; +import com.pulumi.deployment.InvokeOutputOptions; import java.util.concurrent.CompletableFuture; public final class EmrFunctions { @@ -247,6 +248,52 @@ public static CompletableFuture getReleaseLabelsPlain(Ge public static Output getReleaseLabels(GetReleaseLabelsArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:emr/getReleaseLabels:getReleaseLabels", TypeShape.of(GetReleaseLabelsResult.class), args, Utilities.withVersion(options)); } + /** + * Retrieve information about EMR Release Labels. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.emr.EmrFunctions;
+     * import com.pulumi.aws.emr.inputs.GetReleaseLabelsArgs;
+     * import com.pulumi.aws.emr.inputs.GetReleaseLabelsFiltersArgs;
+     * 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 }{{@code
+     *     public static void main(String[] args) }{{@code
+     *         Pulumi.run(App::stack);
+     *     }}{@code
+     * 
+     *     public static void stack(Context ctx) }{{@code
+     *         final var example = EmrFunctions.getReleaseLabels(GetReleaseLabelsArgs.builder()
+     *             .filters(GetReleaseLabelsFiltersArgs.builder()
+     *                 .application("spark}{@literal @}{@code 2.1.0")
+     *                 .prefix("emr-5")
+     *                 .build())
+     *             .build());
+     * 
+     *     }}{@code
+     * }}{@code
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getReleaseLabels(GetReleaseLabelsArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:emr/getReleaseLabels:getReleaseLabels", TypeShape.of(GetReleaseLabelsResult.class), args, Utilities.withVersion(options)); + } /** * Retrieve information about EMR Release Labels. * @@ -578,6 +625,101 @@ public static CompletableFuture getSupportedIns public static Output getSupportedInstanceTypes(GetSupportedInstanceTypesArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:emr/getSupportedInstanceTypes:getSupportedInstanceTypes", TypeShape.of(GetSupportedInstanceTypesResult.class), args, Utilities.withVersion(options)); } + /** + * Data source for managing AWS EMR Supported Instance Types. + * + * ## Example Usage + * + * ### Basic Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.emr.EmrFunctions;
+     * import com.pulumi.aws.emr.inputs.GetSupportedInstanceTypesArgs;
+     * 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 = EmrFunctions.getSupportedInstanceTypes(GetSupportedInstanceTypesArgs.builder()
+     *             .releaseLabel("ebs-6.15.0")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + * ### With a Lifecycle Pre-Condition + * + * This data source can be used with a lifecycle precondition to ensure a given instance type is supported by EMR. + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.emr.EmrFunctions;
+     * import com.pulumi.aws.emr.inputs.GetSupportedInstanceTypesArgs;
+     * import com.pulumi.aws.emr.Cluster;
+     * import com.pulumi.aws.emr.ClusterArgs;
+     * import com.pulumi.aws.emr.inputs.ClusterMasterInstanceGroupArgs;
+     * 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 instanceType = "r7g.large";
+     * 
+     *         final var releaseLabel = "emr-6.15.0";
+     * 
+     *         final var test = EmrFunctions.getSupportedInstanceTypes(GetSupportedInstanceTypesArgs.builder()
+     *             .releaseLabel(releaseLabel)
+     *             .build());
+     * 
+     *         var testCluster = new Cluster("testCluster", ClusterArgs.builder()
+     *             .releaseLabel(releaseLabel)
+     *             .masterInstanceGroup(ClusterMasterInstanceGroupArgs.builder()
+     *                 .instanceType(instanceType)
+     *                 .build())
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getSupportedInstanceTypes(GetSupportedInstanceTypesArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:emr/getSupportedInstanceTypes:getSupportedInstanceTypes", TypeShape.of(GetSupportedInstanceTypesResult.class), args, Utilities.withVersion(options)); + } /** * Data source for managing AWS EMR Supported Instance Types. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/emrcontainers/EmrcontainersFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/emrcontainers/EmrcontainersFunctions.java index e8c276fda39..2e6fffe7898 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/emrcontainers/EmrcontainersFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/emrcontainers/EmrcontainersFunctions.java @@ -11,6 +11,7 @@ import com.pulumi.core.TypeShape; import com.pulumi.deployment.Deployment; import com.pulumi.deployment.InvokeOptions; +import com.pulumi.deployment.InvokeOutputOptions; import java.util.concurrent.CompletableFuture; public final class EmrcontainersFunctions { @@ -146,6 +147,50 @@ public static CompletableFuture getVirtualClusterPlain( public static Output getVirtualCluster(GetVirtualClusterArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:emrcontainers/getVirtualCluster:getVirtualCluster", TypeShape.of(GetVirtualClusterResult.class), args, Utilities.withVersion(options)); } + /** + * Retrieve information about an EMR Containers (EMR on EKS) Virtual Cluster. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.emrcontainers.EmrcontainersFunctions;
+     * import com.pulumi.aws.emrcontainers.inputs.GetVirtualClusterArgs;
+     * 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 = EmrcontainersFunctions.getVirtualCluster(GetVirtualClusterArgs.builder()
+     *             .virtualClusterId("example id")
+     *             .build());
+     * 
+     *         ctx.export("name", example.applyValue(getVirtualClusterResult -> getVirtualClusterResult.name()));
+     *         ctx.export("arn", example.applyValue(getVirtualClusterResult -> getVirtualClusterResult.arn()));
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getVirtualCluster(GetVirtualClusterArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:emrcontainers/getVirtualCluster:getVirtualCluster", TypeShape.of(GetVirtualClusterResult.class), args, Utilities.withVersion(options)); + } /** * Retrieve information about an EMR Containers (EMR on EKS) Virtual Cluster. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/fsx/FsxFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/fsx/FsxFunctions.java index f6b2b0d5e97..b1c2fd31e18 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/fsx/FsxFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/fsx/FsxFunctions.java @@ -23,6 +23,7 @@ import com.pulumi.core.TypeShape; import com.pulumi.deployment.Deployment; import com.pulumi.deployment.InvokeOptions; +import com.pulumi.deployment.InvokeOutputOptions; import java.util.concurrent.CompletableFuture; public final class FsxFunctions { @@ -158,6 +159,50 @@ public static CompletableFuture getOntapFileSystemPlai public static Output getOntapFileSystem(GetOntapFileSystemArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:fsx/getOntapFileSystem:getOntapFileSystem", TypeShape.of(GetOntapFileSystemResult.class), args, Utilities.withVersion(options)); } + /** + * Retrieve information on FSx ONTAP File System. + * + * ## Example Usage + * + * ### Basic Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.fsx.FsxFunctions;
+     * import com.pulumi.aws.fsx.inputs.GetOntapFileSystemArgs;
+     * 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 = FsxFunctions.getOntapFileSystem(GetOntapFileSystemArgs.builder()
+     *             .id("fs-12345678")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getOntapFileSystem(GetOntapFileSystemArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:fsx/getOntapFileSystem:getOntapFileSystem", TypeShape.of(GetOntapFileSystemResult.class), args, Utilities.withVersion(options)); + } /** * Retrieve information on FSx ONTAP File System. * @@ -612,6 +657,88 @@ public static CompletableFuture getOntapSto public static Output getOntapStorageVirtualMachine(GetOntapStorageVirtualMachineArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:fsx/getOntapStorageVirtualMachine:getOntapStorageVirtualMachine", TypeShape.of(GetOntapStorageVirtualMachineResult.class), args, Utilities.withVersion(options)); } + /** + * Retrieve information on FSx ONTAP Storage Virtual Machine (SVM). + * + * ## Example Usage + * + * ### Basic Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.fsx.FsxFunctions;
+     * import com.pulumi.aws.fsx.inputs.GetOntapStorageVirtualMachineArgs;
+     * 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 = FsxFunctions.getOntapStorageVirtualMachine(GetOntapStorageVirtualMachineArgs.builder()
+     *             .id("svm-12345678")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + * ### Filter Example + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.fsx.FsxFunctions;
+     * import com.pulumi.aws.fsx.inputs.GetOntapStorageVirtualMachineArgs;
+     * 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 = FsxFunctions.getOntapStorageVirtualMachine(GetOntapStorageVirtualMachineArgs.builder()
+     *             .filters(GetOntapStorageVirtualMachineFilterArgs.builder()
+     *                 .name("file-system-id")
+     *                 .values("fs-12345678")
+     *                 .build())
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getOntapStorageVirtualMachine(GetOntapStorageVirtualMachineArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:fsx/getOntapStorageVirtualMachine:getOntapStorageVirtualMachine", TypeShape.of(GetOntapStorageVirtualMachineResult.class), args, Utilities.withVersion(options)); + } /** * Retrieve information on FSx ONTAP Storage Virtual Machine (SVM). * @@ -929,6 +1056,53 @@ public static CompletableFuture getOntapSt public static Output getOntapStorageVirtualMachines(GetOntapStorageVirtualMachinesArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:fsx/getOntapStorageVirtualMachines:getOntapStorageVirtualMachines", TypeShape.of(GetOntapStorageVirtualMachinesResult.class), args, Utilities.withVersion(options)); } + /** + * This resource can be useful for getting back a set of FSx ONTAP Storage Virtual Machine (SVM) IDs. + * + * ## Example Usage + * + * The following shows outputting all SVM IDs for a given FSx ONTAP File System. + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.fsx.FsxFunctions;
+     * import com.pulumi.aws.fsx.inputs.GetOntapStorageVirtualMachinesArgs;
+     * 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 = FsxFunctions.getOntapStorageVirtualMachines(GetOntapStorageVirtualMachinesArgs.builder()
+     *             .filters(GetOntapStorageVirtualMachinesFilterArgs.builder()
+     *                 .name("file-system-id")
+     *                 .values("fs-12345678")
+     *                 .build())
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getOntapStorageVirtualMachines(GetOntapStorageVirtualMachinesArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:fsx/getOntapStorageVirtualMachines:getOntapStorageVirtualMachines", TypeShape.of(GetOntapStorageVirtualMachinesResult.class), args, Utilities.withVersion(options)); + } /** * This resource can be useful for getting back a set of FSx ONTAP Storage Virtual Machine (SVM) IDs. * @@ -1216,6 +1390,54 @@ public static CompletableFuture getOpenZfsSnapshotPlai public static Output getOpenZfsSnapshot(GetOpenZfsSnapshotArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:fsx/getOpenZfsSnapshot:getOpenZfsSnapshot", TypeShape.of(GetOpenZfsSnapshotResult.class), args, Utilities.withVersion(options)); } + /** + * Use this data source to get information about an Amazon FSx for OpenZFS Snapshot for use when provisioning new Volumes. + * + * ## Example Usage + * + * ### Root volume Example + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.fsx.FsxFunctions;
+     * import com.pulumi.aws.fsx.inputs.GetOpenZfsSnapshotArgs;
+     * 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 = FsxFunctions.getOpenZfsSnapshot(GetOpenZfsSnapshotArgs.builder()
+     *             .mostRecent(true)
+     *             .filters(GetOpenZfsSnapshotFilterArgs.builder()
+     *                 .name("volume-id")
+     *                 .values("fsvol-073a32b6098a73feb")
+     *                 .build())
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getOpenZfsSnapshot(GetOpenZfsSnapshotArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:fsx/getOpenZfsSnapshot:getOpenZfsSnapshot", TypeShape.of(GetOpenZfsSnapshotResult.class), args, Utilities.withVersion(options)); + } /** * Use this data source to get information about an Amazon FSx for OpenZFS Snapshot for use when provisioning new Volumes. * @@ -1396,6 +1618,50 @@ public static CompletableFuture getWindowsFileSystem public static Output getWindowsFileSystem(GetWindowsFileSystemArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:fsx/getWindowsFileSystem:getWindowsFileSystem", TypeShape.of(GetWindowsFileSystemResult.class), args, Utilities.withVersion(options)); } + /** + * Retrieve information on FSx Windows File System. + * + * ## Example Usage + * + * ### Root volume Example + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.fsx.FsxFunctions;
+     * import com.pulumi.aws.fsx.inputs.GetWindowsFileSystemArgs;
+     * 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 = FsxFunctions.getWindowsFileSystem(GetWindowsFileSystemArgs.builder()
+     *             .id("fs-12345678")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getWindowsFileSystem(GetWindowsFileSystemArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:fsx/getWindowsFileSystem:getWindowsFileSystem", TypeShape.of(GetWindowsFileSystemResult.class), args, Utilities.withVersion(options)); + } /** * Retrieve information on FSx Windows File System. * 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 7fe4a782d30..d3d86e7e049 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 @@ -499,7 +499,7 @@ public Output> tagsAll() { return this.tagsAll; } /** - * Throughput (megabytes per second) of the file system in power of 2 increments. Minimum of `8` and maximum of `2048`. + * Throughput (megabytes per second) of the file system. For valid values, refer to the [AWS documentation](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/performance.html). * * The following arguments are optional: * @@ -508,7 +508,7 @@ public Output> tagsAll() { private Output throughputCapacity; /** - * @return Throughput (megabytes per second) of the file system in power of 2 increments. Minimum of `8` and maximum of `2048`. + * @return Throughput (megabytes per second) of the file system. For valid values, refer to the [AWS documentation](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/performance.html). * * The following arguments are optional: * 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 fedbd165fcc..c0c9c0f4f6a 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 @@ -309,7 +309,7 @@ public Optional>> tags() { } /** - * Throughput (megabytes per second) of the file system in power of 2 increments. Minimum of `8` and maximum of `2048`. + * Throughput (megabytes per second) of the file system. For valid values, refer to the [AWS documentation](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/performance.html). * * The following arguments are optional: * @@ -318,7 +318,7 @@ public Optional>> tags() { private Output throughputCapacity; /** - * @return Throughput (megabytes per second) of the file system in power of 2 increments. Minimum of `8` and maximum of `2048`. + * @return Throughput (megabytes per second) of the file system. For valid values, refer to the [AWS documentation](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/performance.html). * * The following arguments are optional: * @@ -816,7 +816,7 @@ public Builder tags(Map tags) { } /** - * @param throughputCapacity Throughput (megabytes per second) of the file system in power of 2 increments. Minimum of `8` and maximum of `2048`. + * @param throughputCapacity Throughput (megabytes per second) of the file system. For valid values, refer to the [AWS documentation](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/performance.html). * * The following arguments are optional: * @@ -829,7 +829,7 @@ public Builder throughputCapacity(Output throughputCapacity) { } /** - * @param throughputCapacity Throughput (megabytes per second) of the file system in power of 2 increments. Minimum of `8` and maximum of `2048`. + * @param throughputCapacity Throughput (megabytes per second) of the file system. For valid values, refer to the [AWS documentation](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/performance.html). * * The following arguments are optional: * 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 60920c4046e..a6d11a9007f 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 @@ -421,7 +421,7 @@ public Optional>> tagsAll() { } /** - * Throughput (megabytes per second) of the file system in power of 2 increments. Minimum of `8` and maximum of `2048`. + * Throughput (megabytes per second) of the file system. For valid values, refer to the [AWS documentation](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/performance.html). * * The following arguments are optional: * @@ -430,7 +430,7 @@ public Optional>> tagsAll() { private @Nullable Output throughputCapacity; /** - * @return Throughput (megabytes per second) of the file system in power of 2 increments. Minimum of `8` and maximum of `2048`. + * @return Throughput (megabytes per second) of the file system. For valid values, refer to the [AWS documentation](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/performance.html). * * The following arguments are optional: * @@ -1116,7 +1116,7 @@ public Builder tagsAll(Map tagsAll) { } /** - * @param throughputCapacity Throughput (megabytes per second) of the file system in power of 2 increments. Minimum of `8` and maximum of `2048`. + * @param throughputCapacity Throughput (megabytes per second) of the file system. For valid values, refer to the [AWS documentation](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/performance.html). * * The following arguments are optional: * @@ -1129,7 +1129,7 @@ public Builder throughputCapacity(@Nullable Output throughputCapacity) } /** - * @param throughputCapacity Throughput (megabytes per second) of the file system in power of 2 increments. Minimum of `8` and maximum of `2048`. + * @param throughputCapacity Throughput (megabytes per second) of the file system. For valid values, refer to the [AWS documentation](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/performance.html). * * The following arguments are optional: * diff --git a/sdk/java/src/main/java/com/pulumi/aws/globalaccelerator/GlobalacceleratorFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/globalaccelerator/GlobalacceleratorFunctions.java index 0a6b8c52d90..a5d67aabbbe 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/globalaccelerator/GlobalacceleratorFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/globalaccelerator/GlobalacceleratorFunctions.java @@ -14,6 +14,7 @@ import com.pulumi.core.TypeShape; import com.pulumi.deployment.Deployment; import com.pulumi.deployment.InvokeOptions; +import com.pulumi.deployment.InvokeOutputOptions; import java.util.concurrent.CompletableFuture; public final class GlobalacceleratorFunctions { @@ -247,6 +248,52 @@ public static CompletableFuture getAcceleratorPlain(GetAcc public static Output getAccelerator(GetAcceleratorArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:globalaccelerator/getAccelerator:getAccelerator", TypeShape.of(GetAcceleratorResult.class), args, Utilities.withVersion(options)); } + /** + * Provides information about a Global Accelerator accelerator. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.globalaccelerator.GlobalacceleratorFunctions;
+     * import com.pulumi.aws.globalaccelerator.inputs.GetAcceleratorArgs;
+     * import java.util.List;
+     * import java.util.ArrayList;
+     * import java.util.Map;
+     * import java.io.File;
+     * import java.nio.file.Files;
+     * import java.nio.file.Paths;
+     * 
+     * public class App {
+     *     public static void main(String[] args) {
+     *         Pulumi.run(App::stack);
+     *     }
+     * 
+     *     public static void stack(Context ctx) {
+     *         final var config = ctx.config();
+     *         final var acceleratorArn = config.get("acceleratorArn").orElse("");
+     *         final var acceleratorName = config.get("acceleratorName").orElse("");
+     *         final var example = GlobalacceleratorFunctions.getAccelerator(GetAcceleratorArgs.builder()
+     *             .arn(acceleratorArn)
+     *             .name(acceleratorName)
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getAccelerator(GetAcceleratorArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:globalaccelerator/getAccelerator:getAccelerator", TypeShape.of(GetAcceleratorResult.class), args, Utilities.withVersion(options)); + } /** * Provides information about a Global Accelerator accelerator. * @@ -523,6 +570,52 @@ public static CompletableFuture getCustomRout public static Output getCustomRoutingAccelerator(GetCustomRoutingAcceleratorArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:globalaccelerator/getCustomRoutingAccelerator:getCustomRoutingAccelerator", TypeShape.of(GetCustomRoutingAcceleratorResult.class), args, Utilities.withVersion(options)); } + /** + * Provides information about a Global Accelerator custom routing accelerator. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.globalaccelerator.GlobalacceleratorFunctions;
+     * import com.pulumi.aws.globalaccelerator.inputs.GetCustomRoutingAcceleratorArgs;
+     * import java.util.List;
+     * import java.util.ArrayList;
+     * import java.util.Map;
+     * import java.io.File;
+     * import java.nio.file.Files;
+     * import java.nio.file.Paths;
+     * 
+     * public class App {
+     *     public static void main(String[] args) {
+     *         Pulumi.run(App::stack);
+     *     }
+     * 
+     *     public static void stack(Context ctx) {
+     *         final var config = ctx.config();
+     *         final var acceleratorArn = config.get("acceleratorArn").orElse("");
+     *         final var acceleratorName = config.get("acceleratorName").orElse("");
+     *         final var example = GlobalacceleratorFunctions.getCustomRoutingAccelerator(GetCustomRoutingAcceleratorArgs.builder()
+     *             .arn(acceleratorArn)
+     *             .name(acceleratorName)
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getCustomRoutingAccelerator(GetCustomRoutingAcceleratorArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:globalaccelerator/getCustomRoutingAccelerator:getCustomRoutingAccelerator", TypeShape.of(GetCustomRoutingAcceleratorResult.class), args, Utilities.withVersion(options)); + } /** * Provides information about a Global Accelerator custom routing accelerator. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/glue/CatalogTableOptimizer.java b/sdk/java/src/main/java/com/pulumi/aws/glue/CatalogTableOptimizer.java index 78c89422cd9..c1d6e2c3bed 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/glue/CatalogTableOptimizer.java +++ b/sdk/java/src/main/java/com/pulumi/aws/glue/CatalogTableOptimizer.java @@ -20,7 +20,7 @@ * * ## Example Usage * - * ### Basic Usage + * ### Compaction Optimizer * * <!--Start PulumiCodeChooser --> *
@@ -63,6 +63,109 @@
  * 
* <!--End PulumiCodeChooser --> * + * ### Snapshot Retention Optimizer + * + * <!--Start PulumiCodeChooser --> + *
+ * {@code
+ * package generated_program;
+ * 
+ * import com.pulumi.Context;
+ * import com.pulumi.Pulumi;
+ * import com.pulumi.core.Output;
+ * import com.pulumi.aws.glue.CatalogTableOptimizer;
+ * import com.pulumi.aws.glue.CatalogTableOptimizerArgs;
+ * import com.pulumi.aws.glue.inputs.CatalogTableOptimizerConfigurationArgs;
+ * import com.pulumi.aws.glue.inputs.CatalogTableOptimizerConfigurationRetentionConfigurationArgs;
+ * import com.pulumi.aws.glue.inputs.CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationArgs;
+ * 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 CatalogTableOptimizer("example", CatalogTableOptimizerArgs.builder()
+ *             .catalogId("123456789012")
+ *             .databaseName("example_database")
+ *             .tableName("example_table")
+ *             .configuration(CatalogTableOptimizerConfigurationArgs.builder()
+ *                 .roleArn("arn:aws:iam::123456789012:role/example-role")
+ *                 .enabled(true)
+ *                 .retentionConfiguration(CatalogTableOptimizerConfigurationRetentionConfigurationArgs.builder()
+ *                     .icebergConfiguration(CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationArgs.builder()
+ *                         .snapshotRetentionPeriodInDays(7)
+ *                         .numberOfSnapshotsToRetain(3)
+ *                         .cleanExpiredFiles(true)
+ *                         .build())
+ *                     .build())
+ *                 .build())
+ *             .type("retention")
+ *             .build());
+ * 
+ *     }
+ * }
+ * }
+ * 
+ * <!--End PulumiCodeChooser --> + * + * ### Orphan File Deletion Optimizer + * + * <!--Start PulumiCodeChooser --> + *
+ * {@code
+ * package generated_program;
+ * 
+ * import com.pulumi.Context;
+ * import com.pulumi.Pulumi;
+ * import com.pulumi.core.Output;
+ * import com.pulumi.aws.glue.CatalogTableOptimizer;
+ * import com.pulumi.aws.glue.CatalogTableOptimizerArgs;
+ * import com.pulumi.aws.glue.inputs.CatalogTableOptimizerConfigurationArgs;
+ * import com.pulumi.aws.glue.inputs.CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationArgs;
+ * import com.pulumi.aws.glue.inputs.CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationArgs;
+ * 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 CatalogTableOptimizer("example", CatalogTableOptimizerArgs.builder()
+ *             .catalogId("123456789012")
+ *             .databaseName("example_database")
+ *             .tableName("example_table")
+ *             .configuration(CatalogTableOptimizerConfigurationArgs.builder()
+ *                 .roleArn("arn:aws:iam::123456789012:role/example-role")
+ *                 .enabled(true)
+ *                 .orphanFileDeletionConfiguration(CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationArgs.builder()
+ *                     .icebergConfiguration(CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationArgs.builder()
+ *                         .orphanFileRetentionPeriodInDays(7)
+ *                         .location("s3://example-bucket/example_table/")
+ *                         .build())
+ *                     .build())
+ *                 .build())
+ *             .type("orphan_file_deletion")
+ *             .build());
+ * 
+ *     }
+ * }
+ * }
+ * 
+ * <!--End PulumiCodeChooser --> + * * ## Import * * Using `pulumi import`, import Glue Catalog Table Optimizer using the `catalog_id,database_name,table_name,type`. For example: @@ -89,14 +192,14 @@ public Output catalogId() { return this.catalogId; } /** - * A configuration block that defines the table optimizer settings. The block contains: + * A configuration block that defines the table optimizer settings. See Configuration for additional details. * */ @Export(name="configuration", refs={CatalogTableOptimizerConfiguration.class}, tree="[0]") private Output configuration; /** - * @return A configuration block that defines the table optimizer settings. The block contains: + * @return A configuration block that defines the table optimizer settings. See Configuration for additional details. * */ public Output> configuration() { @@ -131,14 +234,14 @@ public Output tableName() { return this.tableName; } /** - * The type of table optimizer. Currently, the only valid value is compaction. + * The type of table optimizer. Valid values are `compaction`, `retention`, and `orphan_file_deletion`. * */ @Export(name="type", refs={String.class}, tree="[0]") private Output type; /** - * @return The type of table optimizer. Currently, the only valid value is compaction. + * @return The type of table optimizer. Valid values are `compaction`, `retention`, and `orphan_file_deletion`. * */ public Output type() { diff --git a/sdk/java/src/main/java/com/pulumi/aws/glue/CatalogTableOptimizerArgs.java b/sdk/java/src/main/java/com/pulumi/aws/glue/CatalogTableOptimizerArgs.java index cba21a9d7f6..56e0923b8e5 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/glue/CatalogTableOptimizerArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/glue/CatalogTableOptimizerArgs.java @@ -33,14 +33,14 @@ public Output catalogId() { } /** - * A configuration block that defines the table optimizer settings. The block contains: + * A configuration block that defines the table optimizer settings. See Configuration for additional details. * */ @Import(name="configuration") private @Nullable Output configuration; /** - * @return A configuration block that defines the table optimizer settings. The block contains: + * @return A configuration block that defines the table optimizer settings. See Configuration for additional details. * */ public Optional> configuration() { @@ -78,14 +78,14 @@ public Output tableName() { } /** - * The type of table optimizer. Currently, the only valid value is compaction. + * The type of table optimizer. Valid values are `compaction`, `retention`, and `orphan_file_deletion`. * */ @Import(name="type", required=true) private Output type; /** - * @return The type of table optimizer. Currently, the only valid value is compaction. + * @return The type of table optimizer. Valid values are `compaction`, `retention`, and `orphan_file_deletion`. * */ public Output type() { @@ -142,7 +142,7 @@ public Builder catalogId(String catalogId) { } /** - * @param configuration A configuration block that defines the table optimizer settings. The block contains: + * @param configuration A configuration block that defines the table optimizer settings. See Configuration for additional details. * * @return builder * @@ -153,7 +153,7 @@ public Builder configuration(@Nullable Output type) { } /** - * @param type The type of table optimizer. Currently, the only valid value is compaction. + * @param type The type of table optimizer. Valid values are `compaction`, `retention`, and `orphan_file_deletion`. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/glue/GlueFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/glue/GlueFunctions.java index 95fb636fce2..a878a2ea134 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/glue/GlueFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/glue/GlueFunctions.java @@ -23,6 +23,7 @@ import com.pulumi.core.TypeShape; import com.pulumi.deployment.Deployment; import com.pulumi.deployment.InvokeOptions; +import com.pulumi.deployment.InvokeOutputOptions; import java.util.concurrent.CompletableFuture; public final class GlueFunctions { @@ -155,6 +156,49 @@ public static CompletableFuture getCatalogTablePlain(GetC public static Output getCatalogTable(GetCatalogTableArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:glue/getCatalogTable:getCatalogTable", TypeShape.of(GetCatalogTableResult.class), args, Utilities.withVersion(options)); } + /** + * This data source can be used to fetch information about an AWS Glue Data Catalog Table. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.glue.GlueFunctions;
+     * import com.pulumi.aws.glue.inputs.GetCatalogTableArgs;
+     * 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 = GlueFunctions.getCatalogTable(GetCatalogTableArgs.builder()
+     *             .name("MyCatalogTable")
+     *             .databaseName("MyCatalogDatabase")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getCatalogTable(GetCatalogTableArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:glue/getCatalogTable:getCatalogTable", TypeShape.of(GetCatalogTableResult.class), args, Utilities.withVersion(options)); + } /** * This data source can be used to fetch information about an AWS Glue Data Catalog Table. * @@ -324,6 +368,48 @@ public static CompletableFuture getConnectionPlain(GetConne public static Output getConnection(GetConnectionArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:glue/getConnection:getConnection", TypeShape.of(GetConnectionResult.class), args, Utilities.withVersion(options)); } + /** + * This data source can be used to fetch information about a specific Glue Connection. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.glue.GlueFunctions;
+     * import com.pulumi.aws.glue.inputs.GetConnectionArgs;
+     * 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 = GlueFunctions.getConnection(GetConnectionArgs.builder()
+     *             .id("123456789123:connection")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getConnection(GetConnectionArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:glue/getConnection:getConnection", TypeShape.of(GetConnectionResult.class), args, Utilities.withVersion(options)); + } /** * This data source can be used to fetch information about a specific Glue Connection. * @@ -492,6 +578,48 @@ public static CompletableFuture getDataC public static Output getDataCatalogEncryptionSettings(GetDataCatalogEncryptionSettingsArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:glue/getDataCatalogEncryptionSettings:getDataCatalogEncryptionSettings", TypeShape.of(GetDataCatalogEncryptionSettingsResult.class), args, Utilities.withVersion(options)); } + /** + * This data source can be used to fetch information about AWS Glue Data Catalog Encryption Settings. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.glue.GlueFunctions;
+     * import com.pulumi.aws.glue.inputs.GetDataCatalogEncryptionSettingsArgs;
+     * 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 = GlueFunctions.getDataCatalogEncryptionSettings(GetDataCatalogEncryptionSettingsArgs.builder()
+     *             .id("123456789123")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getDataCatalogEncryptionSettings(GetDataCatalogEncryptionSettingsArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:glue/getDataCatalogEncryptionSettings:getDataCatalogEncryptionSettings", TypeShape.of(GetDataCatalogEncryptionSettingsResult.class), args, Utilities.withVersion(options)); + } /** * This data source can be used to fetch information about AWS Glue Data Catalog Encryption Settings. * @@ -666,6 +794,50 @@ public static CompletableFuture getRegistryPlain(GetRegistryP public static Output getRegistry(GetRegistryArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:glue/getRegistry:getRegistry", TypeShape.of(GetRegistryResult.class), args, Utilities.withVersion(options)); } + /** + * Data source for managing an AWS Glue Registry. + * + * ## Example Usage + * + * ### Basic Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.glue.GlueFunctions;
+     * import com.pulumi.aws.glue.inputs.GetRegistryArgs;
+     * 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 = GlueFunctions.getRegistry(GetRegistryArgs.builder()
+     *             .name("example")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getRegistry(GetRegistryArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:glue/getRegistry:getRegistry", TypeShape.of(GetRegistryResult.class), args, Utilities.withVersion(options)); + } /** * Data source for managing an AWS Glue Registry. * @@ -1647,6 +1819,241 @@ public static Output getScript(GetScriptArgs args, InvokeOption * <!--End PulumiCodeChooser --> * */ + public static Output getScript(GetScriptArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:glue/getScript:getScript", TypeShape.of(GetScriptResult.class), args, Utilities.withVersion(options)); + } + /** + * Use this data source to generate a Glue script from a Directed Acyclic Graph (DAG). + * + * ## Example Usage + * + * ### Generate Python Script + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.glue.GlueFunctions;
+     * import com.pulumi.aws.glue.inputs.GetScriptArgs;
+     * 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 = GlueFunctions.getScript(GetScriptArgs.builder()
+     *             .language("PYTHON")
+     *             .dagEdges(            
+     *                 GetScriptDagEdgeArgs.builder()
+     *                     .source("datasource0")
+     *                     .target("applymapping1")
+     *                     .build(),
+     *                 GetScriptDagEdgeArgs.builder()
+     *                     .source("applymapping1")
+     *                     .target("selectfields2")
+     *                     .build(),
+     *                 GetScriptDagEdgeArgs.builder()
+     *                     .source("selectfields2")
+     *                     .target("resolvechoice3")
+     *                     .build(),
+     *                 GetScriptDagEdgeArgs.builder()
+     *                     .source("resolvechoice3")
+     *                     .target("datasink4")
+     *                     .build())
+     *             .dagNodes(            
+     *                 GetScriptDagNodeArgs.builder()
+     *                     .id("datasource0")
+     *                     .nodeType("DataSource")
+     *                     .args(                    
+     *                         GetScriptDagNodeArgArgs.builder()
+     *                             .name("database")
+     *                             .value(String.format("\"%s\"", source.name()))
+     *                             .build(),
+     *                         GetScriptDagNodeArgArgs.builder()
+     *                             .name("table_name")
+     *                             .value(String.format("\"%s\"", sourceAwsGlueCatalogTable.name()))
+     *                             .build())
+     *                     .build(),
+     *                 GetScriptDagNodeArgs.builder()
+     *                     .id("applymapping1")
+     *                     .nodeType("ApplyMapping")
+     *                     .args(GetScriptDagNodeArgArgs.builder()
+     *                         .name("mapping")
+     *                         .value("[(\"column1\", \"string\", \"column1\", \"string\")]")
+     *                         .build())
+     *                     .build(),
+     *                 GetScriptDagNodeArgs.builder()
+     *                     .id("selectfields2")
+     *                     .nodeType("SelectFields")
+     *                     .args(GetScriptDagNodeArgArgs.builder()
+     *                         .name("paths")
+     *                         .value("[\"column1\"]")
+     *                         .build())
+     *                     .build(),
+     *                 GetScriptDagNodeArgs.builder()
+     *                     .id("resolvechoice3")
+     *                     .nodeType("ResolveChoice")
+     *                     .args(                    
+     *                         GetScriptDagNodeArgArgs.builder()
+     *                             .name("choice")
+     *                             .value("\"MATCH_CATALOG\"")
+     *                             .build(),
+     *                         GetScriptDagNodeArgArgs.builder()
+     *                             .name("database")
+     *                             .value(String.format("\"%s\"", destination.name()))
+     *                             .build(),
+     *                         GetScriptDagNodeArgArgs.builder()
+     *                             .name("table_name")
+     *                             .value(String.format("\"%s\"", destinationAwsGlueCatalogTable.name()))
+     *                             .build())
+     *                     .build(),
+     *                 GetScriptDagNodeArgs.builder()
+     *                     .id("datasink4")
+     *                     .nodeType("DataSink")
+     *                     .args(                    
+     *                         GetScriptDagNodeArgArgs.builder()
+     *                             .name("database")
+     *                             .value(String.format("\"%s\"", destination.name()))
+     *                             .build(),
+     *                         GetScriptDagNodeArgArgs.builder()
+     *                             .name("table_name")
+     *                             .value(String.format("\"%s\"", destinationAwsGlueCatalogTable.name()))
+     *                             .build())
+     *                     .build())
+     *             .build());
+     * 
+     *         ctx.export("pythonScript", example.applyValue(getScriptResult -> getScriptResult.pythonScript()));
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + * ### Generate Scala Code + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.glue.GlueFunctions;
+     * import com.pulumi.aws.glue.inputs.GetScriptArgs;
+     * 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 = GlueFunctions.getScript(GetScriptArgs.builder()
+     *             .language("SCALA")
+     *             .dagEdges(            
+     *                 GetScriptDagEdgeArgs.builder()
+     *                     .source("datasource0")
+     *                     .target("applymapping1")
+     *                     .build(),
+     *                 GetScriptDagEdgeArgs.builder()
+     *                     .source("applymapping1")
+     *                     .target("selectfields2")
+     *                     .build(),
+     *                 GetScriptDagEdgeArgs.builder()
+     *                     .source("selectfields2")
+     *                     .target("resolvechoice3")
+     *                     .build(),
+     *                 GetScriptDagEdgeArgs.builder()
+     *                     .source("resolvechoice3")
+     *                     .target("datasink4")
+     *                     .build())
+     *             .dagNodes(            
+     *                 GetScriptDagNodeArgs.builder()
+     *                     .id("datasource0")
+     *                     .nodeType("DataSource")
+     *                     .args(                    
+     *                         GetScriptDagNodeArgArgs.builder()
+     *                             .name("database")
+     *                             .value(String.format("\"%s\"", source.name()))
+     *                             .build(),
+     *                         GetScriptDagNodeArgArgs.builder()
+     *                             .name("table_name")
+     *                             .value(String.format("\"%s\"", sourceAwsGlueCatalogTable.name()))
+     *                             .build())
+     *                     .build(),
+     *                 GetScriptDagNodeArgs.builder()
+     *                     .id("applymapping1")
+     *                     .nodeType("ApplyMapping")
+     *                     .args(GetScriptDagNodeArgArgs.builder()
+     *                         .name("mappings")
+     *                         .value("[(\"column1\", \"string\", \"column1\", \"string\")]")
+     *                         .build())
+     *                     .build(),
+     *                 GetScriptDagNodeArgs.builder()
+     *                     .id("selectfields2")
+     *                     .nodeType("SelectFields")
+     *                     .args(GetScriptDagNodeArgArgs.builder()
+     *                         .name("paths")
+     *                         .value("[\"column1\"]")
+     *                         .build())
+     *                     .build(),
+     *                 GetScriptDagNodeArgs.builder()
+     *                     .id("resolvechoice3")
+     *                     .nodeType("ResolveChoice")
+     *                     .args(                    
+     *                         GetScriptDagNodeArgArgs.builder()
+     *                             .name("choice")
+     *                             .value("\"MATCH_CATALOG\"")
+     *                             .build(),
+     *                         GetScriptDagNodeArgArgs.builder()
+     *                             .name("database")
+     *                             .value(String.format("\"%s\"", destination.name()))
+     *                             .build(),
+     *                         GetScriptDagNodeArgArgs.builder()
+     *                             .name("table_name")
+     *                             .value(String.format("\"%s\"", destinationAwsGlueCatalogTable.name()))
+     *                             .build())
+     *                     .build(),
+     *                 GetScriptDagNodeArgs.builder()
+     *                     .id("datasink4")
+     *                     .nodeType("DataSink")
+     *                     .args(                    
+     *                         GetScriptDagNodeArgArgs.builder()
+     *                             .name("database")
+     *                             .value(String.format("\"%s\"", destination.name()))
+     *                             .build(),
+     *                         GetScriptDagNodeArgArgs.builder()
+     *                             .name("table_name")
+     *                             .value(String.format("\"%s\"", destinationAwsGlueCatalogTable.name()))
+     *                             .build())
+     *                     .build())
+     *             .build());
+     * 
+     *         ctx.export("scalaCode", example.applyValue(getScriptResult -> getScriptResult.scalaCode()));
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ public static CompletableFuture getScriptPlain(GetScriptPlainArgs args, InvokeOptions options) { return Deployment.getInstance().invokeAsync("aws:glue/getScript:getScript", TypeShape.of(GetScriptResult.class), args, Utilities.withVersion(options)); } diff --git a/sdk/java/src/main/java/com/pulumi/aws/glue/inputs/CatalogTableOptimizerConfigurationArgs.java b/sdk/java/src/main/java/com/pulumi/aws/glue/inputs/CatalogTableOptimizerConfigurationArgs.java index 4870798b84c..638d0802bd8 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/glue/inputs/CatalogTableOptimizerConfigurationArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/glue/inputs/CatalogTableOptimizerConfigurationArgs.java @@ -3,12 +3,16 @@ package com.pulumi.aws.glue.inputs; +import com.pulumi.aws.glue.inputs.CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationArgs; +import com.pulumi.aws.glue.inputs.CatalogTableOptimizerConfigurationRetentionConfigurationArgs; import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; import com.pulumi.exceptions.MissingRequiredPropertyException; import java.lang.Boolean; import java.lang.String; import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; public final class CatalogTableOptimizerConfigurationArgs extends com.pulumi.resources.ResourceArgs { @@ -30,6 +34,36 @@ public Output enabled() { return this.enabled; } + /** + * The configuration block for an orphan file deletion optimizer. See Orphan File Deletion Configuration for additional details. + * + */ + @Import(name="orphanFileDeletionConfiguration") + private @Nullable Output orphanFileDeletionConfiguration; + + /** + * @return The configuration block for an orphan file deletion optimizer. See Orphan File Deletion Configuration for additional details. + * + */ + public Optional> orphanFileDeletionConfiguration() { + return Optional.ofNullable(this.orphanFileDeletionConfiguration); + } + + /** + * The configuration block for a snapshot retention optimizer. See Retention Configuration for additional details. + * + */ + @Import(name="retentionConfiguration") + private @Nullable Output retentionConfiguration; + + /** + * @return The configuration block for a snapshot retention optimizer. See Retention Configuration for additional details. + * + */ + public Optional> retentionConfiguration() { + return Optional.ofNullable(this.retentionConfiguration); + } + /** * The ARN of the IAM role to use for the table optimizer. * @@ -49,6 +83,8 @@ private CatalogTableOptimizerConfigurationArgs() {} private CatalogTableOptimizerConfigurationArgs(CatalogTableOptimizerConfigurationArgs $) { this.enabled = $.enabled; + this.orphanFileDeletionConfiguration = $.orphanFileDeletionConfiguration; + this.retentionConfiguration = $.retentionConfiguration; this.roleArn = $.roleArn; } @@ -91,6 +127,48 @@ public Builder enabled(Boolean enabled) { return enabled(Output.of(enabled)); } + /** + * @param orphanFileDeletionConfiguration The configuration block for an orphan file deletion optimizer. See Orphan File Deletion Configuration for additional details. + * + * @return builder + * + */ + public Builder orphanFileDeletionConfiguration(@Nullable Output orphanFileDeletionConfiguration) { + $.orphanFileDeletionConfiguration = orphanFileDeletionConfiguration; + return this; + } + + /** + * @param orphanFileDeletionConfiguration The configuration block for an orphan file deletion optimizer. See Orphan File Deletion Configuration for additional details. + * + * @return builder + * + */ + public Builder orphanFileDeletionConfiguration(CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationArgs orphanFileDeletionConfiguration) { + return orphanFileDeletionConfiguration(Output.of(orphanFileDeletionConfiguration)); + } + + /** + * @param retentionConfiguration The configuration block for a snapshot retention optimizer. See Retention Configuration for additional details. + * + * @return builder + * + */ + public Builder retentionConfiguration(@Nullable Output retentionConfiguration) { + $.retentionConfiguration = retentionConfiguration; + return this; + } + + /** + * @param retentionConfiguration The configuration block for a snapshot retention optimizer. See Retention Configuration for additional details. + * + * @return builder + * + */ + public Builder retentionConfiguration(CatalogTableOptimizerConfigurationRetentionConfigurationArgs retentionConfiguration) { + return retentionConfiguration(Output.of(retentionConfiguration)); + } + /** * @param roleArn The ARN of the IAM role to use for the table optimizer. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/glue/inputs/CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationArgs.java b/sdk/java/src/main/java/com/pulumi/aws/glue/inputs/CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationArgs.java new file mode 100644 index 00000000000..6a94f233c46 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/glue/inputs/CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationArgs.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.glue.inputs; + +import com.pulumi.aws.glue.inputs.CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationArgs extends com.pulumi.resources.ResourceArgs { + + public static final CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationArgs Empty = new CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationArgs(); + + /** + * The configuration for an Iceberg orphan file deletion optimizer. + * + */ + @Import(name="icebergConfiguration") + private @Nullable Output icebergConfiguration; + + /** + * @return The configuration for an Iceberg orphan file deletion optimizer. + * + */ + public Optional> icebergConfiguration() { + return Optional.ofNullable(this.icebergConfiguration); + } + + private CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationArgs() {} + + private CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationArgs(CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationArgs $) { + this.icebergConfiguration = $.icebergConfiguration; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationArgs $; + + public Builder() { + $ = new CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationArgs(); + } + + public Builder(CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationArgs defaults) { + $ = new CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param icebergConfiguration The configuration for an Iceberg orphan file deletion optimizer. + * + * @return builder + * + */ + public Builder icebergConfiguration(@Nullable Output icebergConfiguration) { + $.icebergConfiguration = icebergConfiguration; + return this; + } + + /** + * @param icebergConfiguration The configuration for an Iceberg orphan file deletion optimizer. + * + * @return builder + * + */ + public Builder icebergConfiguration(CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationArgs icebergConfiguration) { + return icebergConfiguration(Output.of(icebergConfiguration)); + } + + public CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/glue/inputs/CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationArgs.java b/sdk/java/src/main/java/com/pulumi/aws/glue/inputs/CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationArgs.java new file mode 100644 index 00000000000..9eb467d62a7 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/glue/inputs/CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationArgs.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.Double; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationArgs extends com.pulumi.resources.ResourceArgs { + + public static final CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationArgs Empty = new CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationArgs(); + + /** + * Specifies a directory in which to look for files. You may choose a sub-directory rather than the top-level table location. Defaults to the table's location. + * + */ + @Import(name="location") + private @Nullable Output location; + + /** + * @return Specifies a directory in which to look for files. You may choose a sub-directory rather than the top-level table location. Defaults to the table's location. + * + */ + public Optional> location() { + return Optional.ofNullable(this.location); + } + + /** + * The number of days that orphan files should be retained before file deletion. Defaults to `3`. + * + */ + @Import(name="orphanFileRetentionPeriodInDays") + private @Nullable Output orphanFileRetentionPeriodInDays; + + /** + * @return The number of days that orphan files should be retained before file deletion. Defaults to `3`. + * + */ + public Optional> orphanFileRetentionPeriodInDays() { + return Optional.ofNullable(this.orphanFileRetentionPeriodInDays); + } + + private CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationArgs() {} + + private CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationArgs(CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationArgs $) { + this.location = $.location; + this.orphanFileRetentionPeriodInDays = $.orphanFileRetentionPeriodInDays; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationArgs $; + + public Builder() { + $ = new CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationArgs(); + } + + public Builder(CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationArgs defaults) { + $ = new CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param location Specifies a directory in which to look for files. You may choose a sub-directory rather than the top-level table location. Defaults to the table's location. + * + * @return builder + * + */ + public Builder location(@Nullable Output location) { + $.location = location; + return this; + } + + /** + * @param location Specifies a directory in which to look for files. You may choose a sub-directory rather than the top-level table location. Defaults to the table's location. + * + * @return builder + * + */ + public Builder location(String location) { + return location(Output.of(location)); + } + + /** + * @param orphanFileRetentionPeriodInDays The number of days that orphan files should be retained before file deletion. Defaults to `3`. + * + * @return builder + * + */ + public Builder orphanFileRetentionPeriodInDays(@Nullable Output orphanFileRetentionPeriodInDays) { + $.orphanFileRetentionPeriodInDays = orphanFileRetentionPeriodInDays; + return this; + } + + /** + * @param orphanFileRetentionPeriodInDays The number of days that orphan files should be retained before file deletion. Defaults to `3`. + * + * @return builder + * + */ + public Builder orphanFileRetentionPeriodInDays(Double orphanFileRetentionPeriodInDays) { + return orphanFileRetentionPeriodInDays(Output.of(orphanFileRetentionPeriodInDays)); + } + + public CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/glue/inputs/CatalogTableOptimizerConfigurationRetentionConfigurationArgs.java b/sdk/java/src/main/java/com/pulumi/aws/glue/inputs/CatalogTableOptimizerConfigurationRetentionConfigurationArgs.java new file mode 100644 index 00000000000..c9aed074084 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/glue/inputs/CatalogTableOptimizerConfigurationRetentionConfigurationArgs.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.glue.inputs; + +import com.pulumi.aws.glue.inputs.CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class CatalogTableOptimizerConfigurationRetentionConfigurationArgs extends com.pulumi.resources.ResourceArgs { + + public static final CatalogTableOptimizerConfigurationRetentionConfigurationArgs Empty = new CatalogTableOptimizerConfigurationRetentionConfigurationArgs(); + + /** + * The configuration for an Iceberg snapshot retention optimizer. + * + */ + @Import(name="icebergConfiguration") + private @Nullable Output icebergConfiguration; + + /** + * @return The configuration for an Iceberg snapshot retention optimizer. + * + */ + public Optional> icebergConfiguration() { + return Optional.ofNullable(this.icebergConfiguration); + } + + private CatalogTableOptimizerConfigurationRetentionConfigurationArgs() {} + + private CatalogTableOptimizerConfigurationRetentionConfigurationArgs(CatalogTableOptimizerConfigurationRetentionConfigurationArgs $) { + this.icebergConfiguration = $.icebergConfiguration; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(CatalogTableOptimizerConfigurationRetentionConfigurationArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private CatalogTableOptimizerConfigurationRetentionConfigurationArgs $; + + public Builder() { + $ = new CatalogTableOptimizerConfigurationRetentionConfigurationArgs(); + } + + public Builder(CatalogTableOptimizerConfigurationRetentionConfigurationArgs defaults) { + $ = new CatalogTableOptimizerConfigurationRetentionConfigurationArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param icebergConfiguration The configuration for an Iceberg snapshot retention optimizer. + * + * @return builder + * + */ + public Builder icebergConfiguration(@Nullable Output icebergConfiguration) { + $.icebergConfiguration = icebergConfiguration; + return this; + } + + /** + * @param icebergConfiguration The configuration for an Iceberg snapshot retention optimizer. + * + * @return builder + * + */ + public Builder icebergConfiguration(CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationArgs icebergConfiguration) { + return icebergConfiguration(Output.of(icebergConfiguration)); + } + + public CatalogTableOptimizerConfigurationRetentionConfigurationArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/glue/inputs/CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationArgs.java b/sdk/java/src/main/java/com/pulumi/aws/glue/inputs/CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationArgs.java new file mode 100644 index 00000000000..453ee8fc611 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/glue/inputs/CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationArgs.java @@ -0,0 +1,158 @@ +// *** 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.Boolean; +import java.lang.Double; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationArgs extends com.pulumi.resources.ResourceArgs { + + public static final CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationArgs Empty = new CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationArgs(); + + /** + * If set to `false`, snapshots are only deleted from table metadata, and the underlying data and metadata files are not deleted. Defaults to `false`. + * + */ + @Import(name="cleanExpiredFiles") + private @Nullable Output cleanExpiredFiles; + + /** + * @return If set to `false`, snapshots are only deleted from table metadata, and the underlying data and metadata files are not deleted. Defaults to `false`. + * + */ + public Optional> cleanExpiredFiles() { + return Optional.ofNullable(this.cleanExpiredFiles); + } + + /** + * The number of Iceberg snapshots to retain within the retention period. Defaults to `1` or the corresponding Iceberg table configuration field if it exists. + * + */ + @Import(name="numberOfSnapshotsToRetain") + private @Nullable Output numberOfSnapshotsToRetain; + + /** + * @return The number of Iceberg snapshots to retain within the retention period. Defaults to `1` or the corresponding Iceberg table configuration field if it exists. + * + */ + public Optional> numberOfSnapshotsToRetain() { + return Optional.ofNullable(this.numberOfSnapshotsToRetain); + } + + /** + * The number of days to retain the Iceberg snapshots. Defaults to `5`, or the corresponding Iceberg table configuration field if it exists. + * + */ + @Import(name="snapshotRetentionPeriodInDays") + private @Nullable Output snapshotRetentionPeriodInDays; + + /** + * @return The number of days to retain the Iceberg snapshots. Defaults to `5`, or the corresponding Iceberg table configuration field if it exists. + * + */ + public Optional> snapshotRetentionPeriodInDays() { + return Optional.ofNullable(this.snapshotRetentionPeriodInDays); + } + + private CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationArgs() {} + + private CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationArgs(CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationArgs $) { + this.cleanExpiredFiles = $.cleanExpiredFiles; + this.numberOfSnapshotsToRetain = $.numberOfSnapshotsToRetain; + this.snapshotRetentionPeriodInDays = $.snapshotRetentionPeriodInDays; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationArgs $; + + public Builder() { + $ = new CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationArgs(); + } + + public Builder(CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationArgs defaults) { + $ = new CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param cleanExpiredFiles If set to `false`, snapshots are only deleted from table metadata, and the underlying data and metadata files are not deleted. Defaults to `false`. + * + * @return builder + * + */ + public Builder cleanExpiredFiles(@Nullable Output cleanExpiredFiles) { + $.cleanExpiredFiles = cleanExpiredFiles; + return this; + } + + /** + * @param cleanExpiredFiles If set to `false`, snapshots are only deleted from table metadata, and the underlying data and metadata files are not deleted. Defaults to `false`. + * + * @return builder + * + */ + public Builder cleanExpiredFiles(Boolean cleanExpiredFiles) { + return cleanExpiredFiles(Output.of(cleanExpiredFiles)); + } + + /** + * @param numberOfSnapshotsToRetain The number of Iceberg snapshots to retain within the retention period. Defaults to `1` or the corresponding Iceberg table configuration field if it exists. + * + * @return builder + * + */ + public Builder numberOfSnapshotsToRetain(@Nullable Output numberOfSnapshotsToRetain) { + $.numberOfSnapshotsToRetain = numberOfSnapshotsToRetain; + return this; + } + + /** + * @param numberOfSnapshotsToRetain The number of Iceberg snapshots to retain within the retention period. Defaults to `1` or the corresponding Iceberg table configuration field if it exists. + * + * @return builder + * + */ + public Builder numberOfSnapshotsToRetain(Double numberOfSnapshotsToRetain) { + return numberOfSnapshotsToRetain(Output.of(numberOfSnapshotsToRetain)); + } + + /** + * @param snapshotRetentionPeriodInDays The number of days to retain the Iceberg snapshots. Defaults to `5`, or the corresponding Iceberg table configuration field if it exists. + * + * @return builder + * + */ + public Builder snapshotRetentionPeriodInDays(@Nullable Output snapshotRetentionPeriodInDays) { + $.snapshotRetentionPeriodInDays = snapshotRetentionPeriodInDays; + return this; + } + + /** + * @param snapshotRetentionPeriodInDays The number of days to retain the Iceberg snapshots. Defaults to `5`, or the corresponding Iceberg table configuration field if it exists. + * + * @return builder + * + */ + public Builder snapshotRetentionPeriodInDays(Double snapshotRetentionPeriodInDays) { + return snapshotRetentionPeriodInDays(Output.of(snapshotRetentionPeriodInDays)); + } + + public CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/glue/inputs/CatalogTableOptimizerState.java b/sdk/java/src/main/java/com/pulumi/aws/glue/inputs/CatalogTableOptimizerState.java index 39e82c64acf..b00484b9b42 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/glue/inputs/CatalogTableOptimizerState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/glue/inputs/CatalogTableOptimizerState.java @@ -32,14 +32,14 @@ public Optional> catalogId() { } /** - * A configuration block that defines the table optimizer settings. The block contains: + * A configuration block that defines the table optimizer settings. See Configuration for additional details. * */ @Import(name="configuration") private @Nullable Output configuration; /** - * @return A configuration block that defines the table optimizer settings. The block contains: + * @return A configuration block that defines the table optimizer settings. See Configuration for additional details. * */ public Optional> configuration() { @@ -77,14 +77,14 @@ public Optional> tableName() { } /** - * The type of table optimizer. Currently, the only valid value is compaction. + * The type of table optimizer. Valid values are `compaction`, `retention`, and `orphan_file_deletion`. * */ @Import(name="type") private @Nullable Output type; /** - * @return The type of table optimizer. Currently, the only valid value is compaction. + * @return The type of table optimizer. Valid values are `compaction`, `retention`, and `orphan_file_deletion`. * */ public Optional> type() { @@ -141,7 +141,7 @@ public Builder catalogId(String catalogId) { } /** - * @param configuration A configuration block that defines the table optimizer settings. The block contains: + * @param configuration A configuration block that defines the table optimizer settings. See Configuration for additional details. * * @return builder * @@ -152,7 +152,7 @@ public Builder configuration(@Nullable Output type) { } /** - * @param type The type of table optimizer. Currently, the only valid value is compaction. + * @param type The type of table optimizer. Valid values are `compaction`, `retention`, and `orphan_file_deletion`. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/glue/outputs/CatalogTableOptimizerConfiguration.java b/sdk/java/src/main/java/com/pulumi/aws/glue/outputs/CatalogTableOptimizerConfiguration.java index b4c8a25bf3c..ea19b16a5a0 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/glue/outputs/CatalogTableOptimizerConfiguration.java +++ b/sdk/java/src/main/java/com/pulumi/aws/glue/outputs/CatalogTableOptimizerConfiguration.java @@ -3,11 +3,15 @@ package com.pulumi.aws.glue.outputs; +import com.pulumi.aws.glue.outputs.CatalogTableOptimizerConfigurationOrphanFileDeletionConfiguration; +import com.pulumi.aws.glue.outputs.CatalogTableOptimizerConfigurationRetentionConfiguration; import com.pulumi.core.annotations.CustomType; import com.pulumi.exceptions.MissingRequiredPropertyException; import java.lang.Boolean; import java.lang.String; import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; @CustomType public final class CatalogTableOptimizerConfiguration { @@ -16,6 +20,16 @@ public final class CatalogTableOptimizerConfiguration { * */ private Boolean enabled; + /** + * @return The configuration block for an orphan file deletion optimizer. See Orphan File Deletion Configuration for additional details. + * + */ + private @Nullable CatalogTableOptimizerConfigurationOrphanFileDeletionConfiguration orphanFileDeletionConfiguration; + /** + * @return The configuration block for a snapshot retention optimizer. See Retention Configuration for additional details. + * + */ + private @Nullable CatalogTableOptimizerConfigurationRetentionConfiguration retentionConfiguration; /** * @return The ARN of the IAM role to use for the table optimizer. * @@ -30,6 +44,20 @@ private CatalogTableOptimizerConfiguration() {} public Boolean enabled() { return this.enabled; } + /** + * @return The configuration block for an orphan file deletion optimizer. See Orphan File Deletion Configuration for additional details. + * + */ + public Optional orphanFileDeletionConfiguration() { + return Optional.ofNullable(this.orphanFileDeletionConfiguration); + } + /** + * @return The configuration block for a snapshot retention optimizer. See Retention Configuration for additional details. + * + */ + public Optional retentionConfiguration() { + return Optional.ofNullable(this.retentionConfiguration); + } /** * @return The ARN of the IAM role to use for the table optimizer. * @@ -48,11 +76,15 @@ public static Builder builder(CatalogTableOptimizerConfiguration defaults) { @CustomType.Builder public static final class Builder { private Boolean enabled; + private @Nullable CatalogTableOptimizerConfigurationOrphanFileDeletionConfiguration orphanFileDeletionConfiguration; + private @Nullable CatalogTableOptimizerConfigurationRetentionConfiguration retentionConfiguration; private String roleArn; public Builder() {} public Builder(CatalogTableOptimizerConfiguration defaults) { Objects.requireNonNull(defaults); this.enabled = defaults.enabled; + this.orphanFileDeletionConfiguration = defaults.orphanFileDeletionConfiguration; + this.retentionConfiguration = defaults.retentionConfiguration; this.roleArn = defaults.roleArn; } @@ -65,6 +97,18 @@ public Builder enabled(Boolean enabled) { return this; } @CustomType.Setter + public Builder orphanFileDeletionConfiguration(@Nullable CatalogTableOptimizerConfigurationOrphanFileDeletionConfiguration orphanFileDeletionConfiguration) { + + this.orphanFileDeletionConfiguration = orphanFileDeletionConfiguration; + return this; + } + @CustomType.Setter + public Builder retentionConfiguration(@Nullable CatalogTableOptimizerConfigurationRetentionConfiguration retentionConfiguration) { + + this.retentionConfiguration = retentionConfiguration; + return this; + } + @CustomType.Setter public Builder roleArn(String roleArn) { if (roleArn == null) { throw new MissingRequiredPropertyException("CatalogTableOptimizerConfiguration", "roleArn"); @@ -75,6 +119,8 @@ public Builder roleArn(String roleArn) { public CatalogTableOptimizerConfiguration build() { final var _resultValue = new CatalogTableOptimizerConfiguration(); _resultValue.enabled = enabled; + _resultValue.orphanFileDeletionConfiguration = orphanFileDeletionConfiguration; + _resultValue.retentionConfiguration = retentionConfiguration; _resultValue.roleArn = roleArn; return _resultValue; } diff --git a/sdk/java/src/main/java/com/pulumi/aws/glue/outputs/CatalogTableOptimizerConfigurationOrphanFileDeletionConfiguration.java b/sdk/java/src/main/java/com/pulumi/aws/glue/outputs/CatalogTableOptimizerConfigurationOrphanFileDeletionConfiguration.java new file mode 100644 index 00000000000..0fd7e140840 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/glue/outputs/CatalogTableOptimizerConfigurationOrphanFileDeletionConfiguration.java @@ -0,0 +1,57 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.glue.outputs; + +import com.pulumi.aws.glue.outputs.CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfiguration; +import com.pulumi.core.annotations.CustomType; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class CatalogTableOptimizerConfigurationOrphanFileDeletionConfiguration { + /** + * @return The configuration for an Iceberg orphan file deletion optimizer. + * + */ + private @Nullable CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfiguration icebergConfiguration; + + private CatalogTableOptimizerConfigurationOrphanFileDeletionConfiguration() {} + /** + * @return The configuration for an Iceberg orphan file deletion optimizer. + * + */ + public Optional icebergConfiguration() { + return Optional.ofNullable(this.icebergConfiguration); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(CatalogTableOptimizerConfigurationOrphanFileDeletionConfiguration defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfiguration icebergConfiguration; + public Builder() {} + public Builder(CatalogTableOptimizerConfigurationOrphanFileDeletionConfiguration defaults) { + Objects.requireNonNull(defaults); + this.icebergConfiguration = defaults.icebergConfiguration; + } + + @CustomType.Setter + public Builder icebergConfiguration(@Nullable CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfiguration icebergConfiguration) { + + this.icebergConfiguration = icebergConfiguration; + return this; + } + public CatalogTableOptimizerConfigurationOrphanFileDeletionConfiguration build() { + final var _resultValue = new CatalogTableOptimizerConfigurationOrphanFileDeletionConfiguration(); + _resultValue.icebergConfiguration = icebergConfiguration; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/glue/outputs/CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfiguration.java b/sdk/java/src/main/java/com/pulumi/aws/glue/outputs/CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfiguration.java new file mode 100644 index 00000000000..be9ec3b7f88 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/glue/outputs/CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfiguration.java @@ -0,0 +1,79 @@ +// *** 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.Double; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfiguration { + /** + * @return Specifies a directory in which to look for files. You may choose a sub-directory rather than the top-level table location. Defaults to the table's location. + * + */ + private @Nullable String location; + /** + * @return The number of days that orphan files should be retained before file deletion. Defaults to `3`. + * + */ + private @Nullable Double orphanFileRetentionPeriodInDays; + + private CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfiguration() {} + /** + * @return Specifies a directory in which to look for files. You may choose a sub-directory rather than the top-level table location. Defaults to the table's location. + * + */ + public Optional location() { + return Optional.ofNullable(this.location); + } + /** + * @return The number of days that orphan files should be retained before file deletion. Defaults to `3`. + * + */ + public Optional orphanFileRetentionPeriodInDays() { + return Optional.ofNullable(this.orphanFileRetentionPeriodInDays); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfiguration defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable String location; + private @Nullable Double orphanFileRetentionPeriodInDays; + public Builder() {} + public Builder(CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfiguration defaults) { + Objects.requireNonNull(defaults); + this.location = defaults.location; + this.orphanFileRetentionPeriodInDays = defaults.orphanFileRetentionPeriodInDays; + } + + @CustomType.Setter + public Builder location(@Nullable String location) { + + this.location = location; + return this; + } + @CustomType.Setter + public Builder orphanFileRetentionPeriodInDays(@Nullable Double orphanFileRetentionPeriodInDays) { + + this.orphanFileRetentionPeriodInDays = orphanFileRetentionPeriodInDays; + return this; + } + public CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfiguration build() { + final var _resultValue = new CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfiguration(); + _resultValue.location = location; + _resultValue.orphanFileRetentionPeriodInDays = orphanFileRetentionPeriodInDays; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/glue/outputs/CatalogTableOptimizerConfigurationRetentionConfiguration.java b/sdk/java/src/main/java/com/pulumi/aws/glue/outputs/CatalogTableOptimizerConfigurationRetentionConfiguration.java new file mode 100644 index 00000000000..d7924ae45b0 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/glue/outputs/CatalogTableOptimizerConfigurationRetentionConfiguration.java @@ -0,0 +1,57 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.glue.outputs; + +import com.pulumi.aws.glue.outputs.CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfiguration; +import com.pulumi.core.annotations.CustomType; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class CatalogTableOptimizerConfigurationRetentionConfiguration { + /** + * @return The configuration for an Iceberg snapshot retention optimizer. + * + */ + private @Nullable CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfiguration icebergConfiguration; + + private CatalogTableOptimizerConfigurationRetentionConfiguration() {} + /** + * @return The configuration for an Iceberg snapshot retention optimizer. + * + */ + public Optional icebergConfiguration() { + return Optional.ofNullable(this.icebergConfiguration); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(CatalogTableOptimizerConfigurationRetentionConfiguration defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfiguration icebergConfiguration; + public Builder() {} + public Builder(CatalogTableOptimizerConfigurationRetentionConfiguration defaults) { + Objects.requireNonNull(defaults); + this.icebergConfiguration = defaults.icebergConfiguration; + } + + @CustomType.Setter + public Builder icebergConfiguration(@Nullable CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfiguration icebergConfiguration) { + + this.icebergConfiguration = icebergConfiguration; + return this; + } + public CatalogTableOptimizerConfigurationRetentionConfiguration build() { + final var _resultValue = new CatalogTableOptimizerConfigurationRetentionConfiguration(); + _resultValue.icebergConfiguration = icebergConfiguration; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/glue/outputs/CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfiguration.java b/sdk/java/src/main/java/com/pulumi/aws/glue/outputs/CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfiguration.java new file mode 100644 index 00000000000..e2003ab1e89 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/glue/outputs/CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfiguration.java @@ -0,0 +1,100 @@ +// *** 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.Boolean; +import java.lang.Double; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfiguration { + /** + * @return If set to `false`, snapshots are only deleted from table metadata, and the underlying data and metadata files are not deleted. Defaults to `false`. + * + */ + private @Nullable Boolean cleanExpiredFiles; + /** + * @return The number of Iceberg snapshots to retain within the retention period. Defaults to `1` or the corresponding Iceberg table configuration field if it exists. + * + */ + private @Nullable Double numberOfSnapshotsToRetain; + /** + * @return The number of days to retain the Iceberg snapshots. Defaults to `5`, or the corresponding Iceberg table configuration field if it exists. + * + */ + private @Nullable Double snapshotRetentionPeriodInDays; + + private CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfiguration() {} + /** + * @return If set to `false`, snapshots are only deleted from table metadata, and the underlying data and metadata files are not deleted. Defaults to `false`. + * + */ + public Optional cleanExpiredFiles() { + return Optional.ofNullable(this.cleanExpiredFiles); + } + /** + * @return The number of Iceberg snapshots to retain within the retention period. Defaults to `1` or the corresponding Iceberg table configuration field if it exists. + * + */ + public Optional numberOfSnapshotsToRetain() { + return Optional.ofNullable(this.numberOfSnapshotsToRetain); + } + /** + * @return The number of days to retain the Iceberg snapshots. Defaults to `5`, or the corresponding Iceberg table configuration field if it exists. + * + */ + public Optional snapshotRetentionPeriodInDays() { + return Optional.ofNullable(this.snapshotRetentionPeriodInDays); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfiguration defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable Boolean cleanExpiredFiles; + private @Nullable Double numberOfSnapshotsToRetain; + private @Nullable Double snapshotRetentionPeriodInDays; + public Builder() {} + public Builder(CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfiguration defaults) { + Objects.requireNonNull(defaults); + this.cleanExpiredFiles = defaults.cleanExpiredFiles; + this.numberOfSnapshotsToRetain = defaults.numberOfSnapshotsToRetain; + this.snapshotRetentionPeriodInDays = defaults.snapshotRetentionPeriodInDays; + } + + @CustomType.Setter + public Builder cleanExpiredFiles(@Nullable Boolean cleanExpiredFiles) { + + this.cleanExpiredFiles = cleanExpiredFiles; + return this; + } + @CustomType.Setter + public Builder numberOfSnapshotsToRetain(@Nullable Double numberOfSnapshotsToRetain) { + + this.numberOfSnapshotsToRetain = numberOfSnapshotsToRetain; + return this; + } + @CustomType.Setter + public Builder snapshotRetentionPeriodInDays(@Nullable Double snapshotRetentionPeriodInDays) { + + this.snapshotRetentionPeriodInDays = snapshotRetentionPeriodInDays; + return this; + } + public CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfiguration build() { + final var _resultValue = new CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfiguration(); + _resultValue.cleanExpiredFiles = cleanExpiredFiles; + _resultValue.numberOfSnapshotsToRetain = numberOfSnapshotsToRetain; + _resultValue.snapshotRetentionPeriodInDays = snapshotRetentionPeriodInDays; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/grafana/GrafanaFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/grafana/GrafanaFunctions.java index a18c71d1a72..bb3c664ef10 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/grafana/GrafanaFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/grafana/GrafanaFunctions.java @@ -11,6 +11,7 @@ import com.pulumi.core.TypeShape; import com.pulumi.deployment.Deployment; import com.pulumi.deployment.InvokeOptions; +import com.pulumi.deployment.InvokeOutputOptions; import java.util.concurrent.CompletableFuture; public final class GrafanaFunctions { @@ -146,6 +147,50 @@ public static CompletableFuture getWorkspacePlain(GetWorkspa public static Output getWorkspace(GetWorkspaceArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:grafana/getWorkspace:getWorkspace", TypeShape.of(GetWorkspaceResult.class), args, Utilities.withVersion(options)); } + /** + * Provides an Amazon Managed Grafana workspace data source. + * + * ## Example Usage + * + * ### Basic configuration + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.grafana.GrafanaFunctions;
+     * import com.pulumi.aws.grafana.inputs.GetWorkspaceArgs;
+     * 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 = GrafanaFunctions.getWorkspace(GetWorkspaceArgs.builder()
+     *             .workspaceId("g-2054c75a02")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getWorkspace(GetWorkspaceArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:grafana/getWorkspace:getWorkspace", TypeShape.of(GetWorkspaceResult.class), args, Utilities.withVersion(options)); + } /** * Provides an Amazon Managed Grafana workspace data source. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/guardduty/GuarddutyFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/guardduty/GuarddutyFunctions.java index fc2ed65de21..601fb281b7b 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/guardduty/GuarddutyFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/guardduty/GuarddutyFunctions.java @@ -14,6 +14,7 @@ import com.pulumi.core.TypeShape; import com.pulumi.deployment.Deployment; import com.pulumi.deployment.InvokeOptions; +import com.pulumi.deployment.InvokeOutputOptions; import java.util.concurrent.CompletableFuture; public final class GuarddutyFunctions { @@ -217,6 +218,46 @@ public static CompletableFuture getDetectorPlain(GetDetectorP public static Output getDetector(GetDetectorArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:guardduty/getDetector:getDetector", TypeShape.of(GetDetectorResult.class), args, Utilities.withVersion(options)); } + /** + * Retrieve information about a GuardDuty detector. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.guardduty.GuarddutyFunctions;
+     * import com.pulumi.aws.guardduty.inputs.GetDetectorArgs;
+     * 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 = GuarddutyFunctions.getDetector();
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getDetector(GetDetectorArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:guardduty/getDetector:getDetector", TypeShape.of(GetDetectorResult.class), args, Utilities.withVersion(options)); + } /** * Retrieve information about a GuardDuty detector. * @@ -389,6 +430,50 @@ public static CompletableFuture getFindingIdsPlain(GetFindi public static Output getFindingIds(GetFindingIdsArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:guardduty/getFindingIds:getFindingIds", TypeShape.of(GetFindingIdsResult.class), args, Utilities.withVersion(options)); } + /** + * Data source for managing an AWS GuardDuty Finding Ids. + * + * ## Example Usage + * + * ### Basic Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.guardduty.GuarddutyFunctions;
+     * import com.pulumi.aws.guardduty.inputs.GetFindingIdsArgs;
+     * 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 = GuarddutyFunctions.getFindingIds(GetFindingIdsArgs.builder()
+     *             .detectorId(exampleAwsGuarddutyDetector.id())
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getFindingIds(GetFindingIdsArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:guardduty/getFindingIds:getFindingIds", TypeShape.of(GetFindingIdsResult.class), args, Utilities.withVersion(options)); + } /** * Data source for managing an AWS GuardDuty Finding Ids. * 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 67cda65ff21..764548aca28 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 @@ -57,6 +57,7 @@ import com.pulumi.core.TypeShape; import com.pulumi.deployment.Deployment; import com.pulumi.deployment.InvokeOptions; +import com.pulumi.deployment.InvokeOutputOptions; import com.pulumi.resources.InvokeArgs; import java.util.concurrent.CompletableFuture; @@ -190,6 +191,49 @@ public static CompletableFuture getAccessKeysPlain(GetAcces public static Output getAccessKeys(GetAccessKeysArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:iam/getAccessKeys:getAccessKeys", TypeShape.of(GetAccessKeysResult.class), args, Utilities.withVersion(options)); } + /** + * This data source can be used to fetch information about IAM access keys of a + * specific IAM user. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.iam.IamFunctions;
+     * import com.pulumi.aws.iam.inputs.GetAccessKeysArgs;
+     * 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 = IamFunctions.getAccessKeys(GetAccessKeysArgs.builder()
+     *             .user("an_example_user_name")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getAccessKeys(GetAccessKeysArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:iam/getAccessKeys:getAccessKeys", TypeShape.of(GetAccessKeysResult.class), args, Utilities.withVersion(options)); + } /** * This data source can be used to fetch information about IAM access keys of a * specific IAM user. @@ -438,6 +482,47 @@ public static CompletableFuture getAccountAliasPlain(Invo public static Output getAccountAlias(InvokeArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:iam/getAccountAlias:getAccountAlias", TypeShape.of(GetAccountAliasResult.class), args, Utilities.withVersion(options)); } + /** + * The IAM Account Alias data source allows access to the account alias + * for the effective account in which this provider is working. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.iam.IamFunctions;
+     * 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 current = IamFunctions.getAccountAlias();
+     * 
+     *         ctx.export("accountAlias", current.applyValue(getAccountAliasResult -> getAccountAliasResult.accountAlias()));
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getAccountAlias(InvokeArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:iam/getAccountAlias:getAccountAlias", TypeShape.of(GetAccountAliasResult.class), args, Utilities.withVersion(options)); + } /** * The IAM Account Alias data source allows access to the account alias * for the effective account in which this provider is working. @@ -611,6 +696,50 @@ public static CompletableFuture getGroupPlain(GetGroupPlainArgs public static Output getGroup(GetGroupArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:iam/getGroup:getGroup", TypeShape.of(GetGroupResult.class), args, Utilities.withVersion(options)); } + /** + * This data source can be used to fetch information about a specific + * IAM group. By using this data source, you can reference IAM group + * properties without having to hard code ARNs as input. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.iam.IamFunctions;
+     * import com.pulumi.aws.iam.inputs.GetGroupArgs;
+     * 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 = IamFunctions.getGroup(GetGroupArgs.builder()
+     *             .groupName("an_example_group_name")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getGroup(GetGroupArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:iam/getGroup:getGroup", TypeShape.of(GetGroupResult.class), args, Utilities.withVersion(options)); + } /** * This data source can be used to fetch information about a specific * IAM group. By using this data source, you can reference IAM group @@ -787,6 +916,50 @@ public static CompletableFuture getInstanceProfilePlai public static Output getInstanceProfile(GetInstanceProfileArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:iam/getInstanceProfile:getInstanceProfile", TypeShape.of(GetInstanceProfileResult.class), args, Utilities.withVersion(options)); } + /** + * This data source can be used to fetch information about a specific + * IAM instance profile. By using this data source, you can reference IAM + * instance profile properties without having to hard code ARNs as input. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.iam.IamFunctions;
+     * import com.pulumi.aws.iam.inputs.GetInstanceProfileArgs;
+     * 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 = IamFunctions.getInstanceProfile(GetInstanceProfileArgs.builder()
+     *             .name("an_example_instance_profile_name")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getInstanceProfile(GetInstanceProfileArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:iam/getInstanceProfile:getInstanceProfile", TypeShape.of(GetInstanceProfileResult.class), args, Utilities.withVersion(options)); + } /** * This data source can be used to fetch information about a specific * IAM instance profile. By using this data source, you can reference IAM @@ -963,6 +1136,50 @@ public static CompletableFuture getInstanceProfilesPl public static Output getInstanceProfiles(GetInstanceProfilesArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:iam/getInstanceProfiles:getInstanceProfiles", TypeShape.of(GetInstanceProfilesResult.class), args, Utilities.withVersion(options)); } + /** + * This data source can be used to fetch information about all + * IAM instance profiles under a role. By using this data source, you can reference IAM + * instance profile properties without having to hard code ARNs as input. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.iam.IamFunctions;
+     * import com.pulumi.aws.iam.inputs.GetInstanceProfilesArgs;
+     * 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 = IamFunctions.getInstanceProfiles(GetInstanceProfilesArgs.builder()
+     *             .roleName("an_example_iam_role_name")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getInstanceProfiles(GetInstanceProfilesArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:iam/getInstanceProfiles:getInstanceProfiles", TypeShape.of(GetInstanceProfilesResult.class), args, Utilities.withVersion(options)); + } /** * This data source can be used to fetch information about all * IAM instance profiles under a role. By using this data source, you can reference IAM @@ -1466,17 +1683,16 @@ public static Output getOpenIdConnectProvider(Ge * <!--End PulumiCodeChooser --> * */ - public static CompletableFuture getOpenIdConnectProviderPlain(GetOpenIdConnectProviderPlainArgs args, InvokeOptions options) { - return Deployment.getInstance().invokeAsync("aws:iam/getOpenIdConnectProvider:getOpenIdConnectProvider", TypeShape.of(GetOpenIdConnectProviderResult.class), args, Utilities.withVersion(options)); + public static Output getOpenIdConnectProvider(GetOpenIdConnectProviderArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:iam/getOpenIdConnectProvider:getOpenIdConnectProvider", TypeShape.of(GetOpenIdConnectProviderResult.class), args, Utilities.withVersion(options)); } /** * This data source can be used to fetch information about a specific - * IAM policy. + * IAM OpenID Connect provider. By using this data source, you can retrieve the + * the resource information by either its `arn` or `url`. * * ## Example Usage * - * ### By ARN - * * <!--Start PulumiCodeChooser --> *
      * {@code
@@ -1486,7 +1702,7 @@ public static CompletableFuture getOpenIdConnect
      * import com.pulumi.Pulumi;
      * import com.pulumi.core.Output;
      * import com.pulumi.aws.iam.IamFunctions;
-     * import com.pulumi.aws.iam.inputs.GetPolicyArgs;
+     * import com.pulumi.aws.iam.inputs.GetOpenIdConnectProviderArgs;
      * import java.util.List;
      * import java.util.ArrayList;
      * import java.util.Map;
@@ -1500,8 +1716,8 @@ public static CompletableFuture getOpenIdConnect
      *     }
      * 
      *     public static void stack(Context ctx) {
-     *         final var example = IamFunctions.getPolicy(GetPolicyArgs.builder()
-     *             .arn("arn:aws:iam::123456789012:policy/UsersManageOwnCredentials")
+     *         final var example = IamFunctions.getOpenIdConnectProvider(GetOpenIdConnectProviderArgs.builder()
+     *             .arn("arn:aws:iam::123456789012:oidc-provider/accounts.google.com")
      *             .build());
      * 
      *     }
@@ -1510,8 +1726,6 @@ public static CompletableFuture getOpenIdConnect
      * 
* <!--End PulumiCodeChooser --> * - * ### By Name - * * <!--Start PulumiCodeChooser --> *
      * {@code
@@ -1521,7 +1735,7 @@ public static CompletableFuture getOpenIdConnect
      * import com.pulumi.Pulumi;
      * import com.pulumi.core.Output;
      * import com.pulumi.aws.iam.IamFunctions;
-     * import com.pulumi.aws.iam.inputs.GetPolicyArgs;
+     * import com.pulumi.aws.iam.inputs.GetOpenIdConnectProviderArgs;
      * import java.util.List;
      * import java.util.ArrayList;
      * import java.util.Map;
@@ -1535,8 +1749,8 @@ public static CompletableFuture getOpenIdConnect
      *     }
      * 
      *     public static void stack(Context ctx) {
-     *         final var example = IamFunctions.getPolicy(GetPolicyArgs.builder()
-     *             .name("test_policy")
+     *         final var example = IamFunctions.getOpenIdConnectProvider(GetOpenIdConnectProviderArgs.builder()
+     *             .url("https://accounts.google.com")
      *             .build());
      * 
      *     }
@@ -1546,8 +1760,8 @@ public static CompletableFuture getOpenIdConnect
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static Output getPolicy() {
-        return getPolicy(GetPolicyArgs.Empty, InvokeOptions.Empty);
+    public static CompletableFuture getOpenIdConnectProviderPlain(GetOpenIdConnectProviderPlainArgs args, InvokeOptions options) {
+        return Deployment.getInstance().invokeAsync("aws:iam/getOpenIdConnectProvider:getOpenIdConnectProvider", TypeShape.of(GetOpenIdConnectProviderResult.class), args, Utilities.withVersion(options));
     }
     /**
      * This data source can be used to fetch information about a specific
@@ -1626,8 +1840,8 @@ public static Output getPolicy() {
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static CompletableFuture getPolicyPlain() {
-        return getPolicyPlain(GetPolicyPlainArgs.Empty, InvokeOptions.Empty);
+    public static Output getPolicy() {
+        return getPolicy(GetPolicyArgs.Empty, InvokeOptions.Empty);
     }
     /**
      * This data source can be used to fetch information about a specific
@@ -1706,8 +1920,8 @@ public static CompletableFuture getPolicyPlain() {
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static Output getPolicy(GetPolicyArgs args) {
-        return getPolicy(args, InvokeOptions.Empty);
+    public static CompletableFuture getPolicyPlain() {
+        return getPolicyPlain(GetPolicyPlainArgs.Empty, InvokeOptions.Empty);
     }
     /**
      * This data source can be used to fetch information about a specific
@@ -1786,8 +2000,8 @@ public static Output getPolicy(GetPolicyArgs args) {
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static CompletableFuture getPolicyPlain(GetPolicyPlainArgs args) {
-        return getPolicyPlain(args, InvokeOptions.Empty);
+    public static Output getPolicy(GetPolicyArgs args) {
+        return getPolicy(args, InvokeOptions.Empty);
     }
     /**
      * This data source can be used to fetch information about a specific
@@ -1866,8 +2080,8 @@ public static CompletableFuture getPolicyPlain(GetPolicyPlainAr
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static Output getPolicy(GetPolicyArgs args, InvokeOptions options) {
-        return Deployment.getInstance().invoke("aws:iam/getPolicy:getPolicy", TypeShape.of(GetPolicyResult.class), args, Utilities.withVersion(options));
+    public static CompletableFuture getPolicyPlain(GetPolicyPlainArgs args) {
+        return getPolicyPlain(args, InvokeOptions.Empty);
     }
     /**
      * This data source can be used to fetch information about a specific
@@ -1946,9 +2160,169 @@ public static Output getPolicy(GetPolicyArgs args, InvokeOption
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static CompletableFuture getPolicyPlain(GetPolicyPlainArgs args, InvokeOptions options) {
-        return Deployment.getInstance().invokeAsync("aws:iam/getPolicy:getPolicy", TypeShape.of(GetPolicyResult.class), args, Utilities.withVersion(options));
-    }
+    public static Output getPolicy(GetPolicyArgs args, InvokeOptions options) {
+        return Deployment.getInstance().invoke("aws:iam/getPolicy:getPolicy", TypeShape.of(GetPolicyResult.class), args, Utilities.withVersion(options));
+    }
+    /**
+     * This data source can be used to fetch information about a specific
+     * IAM policy.
+     * 
+     * ## Example Usage
+     * 
+     * ### By ARN
+     * 
+     * <!--Start PulumiCodeChooser -->
+     * 
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.iam.IamFunctions;
+     * import com.pulumi.aws.iam.inputs.GetPolicyArgs;
+     * 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 = IamFunctions.getPolicy(GetPolicyArgs.builder()
+     *             .arn("arn:aws:iam::123456789012:policy/UsersManageOwnCredentials")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + * ### By Name + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.iam.IamFunctions;
+     * import com.pulumi.aws.iam.inputs.GetPolicyArgs;
+     * 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 = IamFunctions.getPolicy(GetPolicyArgs.builder()
+     *             .name("test_policy")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getPolicy(GetPolicyArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:iam/getPolicy:getPolicy", TypeShape.of(GetPolicyResult.class), args, Utilities.withVersion(options)); + } + /** + * This data source can be used to fetch information about a specific + * IAM policy. + * + * ## Example Usage + * + * ### By ARN + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.iam.IamFunctions;
+     * import com.pulumi.aws.iam.inputs.GetPolicyArgs;
+     * 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 = IamFunctions.getPolicy(GetPolicyArgs.builder()
+     *             .arn("arn:aws:iam::123456789012:policy/UsersManageOwnCredentials")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + * ### By Name + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.iam.IamFunctions;
+     * import com.pulumi.aws.iam.inputs.GetPolicyArgs;
+     * 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 = IamFunctions.getPolicy(GetPolicyArgs.builder()
+     *             .name("test_policy")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static CompletableFuture getPolicyPlain(GetPolicyPlainArgs args, InvokeOptions options) { + return Deployment.getInstance().invokeAsync("aws:iam/getPolicy:getPolicy", TypeShape.of(GetPolicyResult.class), args, Utilities.withVersion(options)); + } /** * Generates an IAM policy document in JSON format for use with resources that expect policy documents such as `aws.iam.Policy`. * @@ -5012,22 +5386,17 @@ public static Output getPolicyDocument(GetPolicyDocumen * `data.aws_iam_policy_document.combined.json` will evaluate to: * */ - public static CompletableFuture getPolicyDocumentPlain(GetPolicyDocumentPlainArgs args, InvokeOptions options) { - return Deployment.getInstance().invokeAsync("aws:iam/getPolicyDocument:getPolicyDocument", TypeShape.of(GetPolicyDocumentResult.class), args, Utilities.withVersion(options)); + public static Output getPolicyDocument(GetPolicyDocumentArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:iam/getPolicyDocument:getPolicyDocument", TypeShape.of(GetPolicyDocumentResult.class), args, Utilities.withVersion(options)); } /** - * Runs a simulation of the IAM policies of a particular principal against a given hypothetical request. - * - * You can use this data source in conjunction with - * Preconditions and Postconditions so that your configuration can test either whether it should have sufficient access to do its own work, or whether policies your configuration declares itself are sufficient for their intended use elsewhere. + * Generates an IAM policy document in JSON format for use with resources that expect policy documents such as `aws.iam.Policy`. * - * > **Note:** Correctly using this data source requires familiarity with various details of AWS Identity and Access Management, and how various AWS services integrate with it. For general information on the AWS IAM policy simulator, see [Testing IAM policies with the IAM policy simulator](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_testing-policies.html). This data source wraps the `iam:SimulatePrincipalPolicy` API action described on that page. + * Using this data source to generate policy documents is *optional*. It is also valid to use literal JSON strings in your configuration or to use the `file` interpolation function to read a raw JSON policy document from a file. * * ## Example Usage * - * ### Self Access-checking Example - * - * 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. + * ### Basic Example * * <!--Start PulumiCodeChooser --> *
@@ -5037,10 +5406,10 @@ public static CompletableFuture getPolicyDocumentPlain(
      * import com.pulumi.Context;
      * import com.pulumi.Pulumi;
      * import com.pulumi.core.Output;
-     * import com.pulumi.aws.AwsFunctions;
-     * import com.pulumi.aws.inputs.GetCallerIdentityArgs;
      * import com.pulumi.aws.iam.IamFunctions;
-     * import com.pulumi.aws.iam.inputs.GetPrincipalPolicySimulationArgs;
+     * import com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;
+     * import com.pulumi.aws.iam.Policy;
+     * import com.pulumi.aws.iam.PolicyArgs;
      * import java.util.List;
      * import java.util.ArrayList;
      * import java.util.Map;
@@ -5054,15 +5423,39 @@ public static CompletableFuture getPolicyDocumentPlain(
      *     }
      * 
      *     public static void stack(Context ctx) {
-     *         final var current = AwsFunctions.getCallerIdentity();
+     *         final var example = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()
+     *             .statements(            
+     *                 GetPolicyDocumentStatementArgs.builder()
+     *                     .sid("1")
+     *                     .actions(                    
+     *                         "s3:ListAllMyBuckets",
+     *                         "s3:GetBucketLocation")
+     *                     .resources("arn:aws:s3:::*")
+     *                     .build(),
+     *                 GetPolicyDocumentStatementArgs.builder()
+     *                     .actions("s3:ListBucket")
+     *                     .resources(String.format("arn:aws:s3:::%s", s3BucketName))
+     *                     .conditions(GetPolicyDocumentStatementConditionArgs.builder()
+     *                         .test("StringLike")
+     *                         .variable("s3:prefix")
+     *                         .values(                        
+     *                             "",
+     *                             "home/",
+     *                             "home/&{aws:username}/")
+     *                         .build())
+     *                     .build(),
+     *                 GetPolicyDocumentStatementArgs.builder()
+     *                     .actions("s3:*")
+     *                     .resources(                    
+     *                         String.format("arn:aws:s3:::%s/home/&{{aws:username}}", s3BucketName),
+     *                         String.format("arn:aws:s3:::%s/home/&{{aws:username}}/*", s3BucketName))
+     *                     .build())
+     *             .build());
      * 
-     *         final var s3ObjectAccess = IamFunctions.getPrincipalPolicySimulation(GetPrincipalPolicySimulationArgs.builder()
-     *             .actionNames(            
-     *                 "s3:GetObject",
-     *                 "s3:PutObject",
-     *                 "s3:DeleteObject")
-     *             .policySourceArn(current.applyValue(getCallerIdentityResult -> getCallerIdentityResult.arn()))
-     *             .resourceArns("arn:aws:s3:::my-test-bucket")
+     *         var examplePolicy = new Policy("examplePolicy", PolicyArgs.builder()
+     *             .name("example_policy")
+     *             .path("/")
+     *             .policy(example.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json()))
      *             .build());
      * 
      *     }
@@ -5071,7 +5464,9 @@ public static CompletableFuture getPolicyDocumentPlain(
      * 
* <!--End PulumiCodeChooser --> * - * If you intend to use this data source to quickly raise an error when the given credentials are insufficient then you must use `depends_on` inside any resource which would require those credentials, to ensure that the policy check will run first: + * ### Example Multiple Condition Keys and Values + * + * You can specify a [condition with multiple keys and values](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_multi-value-conditions.html) by supplying multiple `condition` blocks with the same `test` value, but differing `variable` and `values` values. * * <!--Start PulumiCodeChooser --> *
@@ -5081,9 +5476,8 @@ public static CompletableFuture getPolicyDocumentPlain(
      * import com.pulumi.Context;
      * import com.pulumi.Pulumi;
      * import com.pulumi.core.Output;
-     * import com.pulumi.aws.s3.BucketObject;
-     * import com.pulumi.aws.s3.BucketObjectArgs;
-     * import com.pulumi.resources.CustomResourceOptions;
+     * import com.pulumi.aws.iam.IamFunctions;
+     * import com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;
      * import java.util.List;
      * import java.util.ArrayList;
      * import java.util.Map;
@@ -5097,31 +5491,720 @@ public static CompletableFuture getPolicyDocumentPlain(
      *     }
      * 
      *     public static void stack(Context ctx) {
-     *         var example = new BucketObject("example", BucketObjectArgs.builder()
-     *             .bucket("my-test-bucket")
-     *             .build(), CustomResourceOptions.builder()
-     *                 .dependsOn(s3ObjectAccess)
-     *                 .build());
-     * 
-     *     }
-     * }
-     * }
-     * 
- * <!--End PulumiCodeChooser --> - * - * ### Testing the Effect of a Declared Policy - * - * The following example declares an S3 bucket and a user that should have access to the bucket, and then uses `aws.iam.getPrincipalPolicySimulation` to verify that the user does indeed have access to perform needed operations against the bucket. - * - * <!--Start PulumiCodeChooser --> - *
-     * {@code
-     * package generated_program;
-     * 
-     * import com.pulumi.Context;
-     * import com.pulumi.Pulumi;
-     * import com.pulumi.core.Output;
-     * import com.pulumi.aws.AwsFunctions;
+     *         final var exampleMultipleConditionKeysAndValues = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()
+     *             .statements(GetPolicyDocumentStatementArgs.builder()
+     *                 .actions(                
+     *                     "kms:Decrypt",
+     *                     "kms:GenerateDataKey")
+     *                 .resources("*")
+     *                 .conditions(                
+     *                     GetPolicyDocumentStatementConditionArgs.builder()
+     *                         .test("ForAnyValue:StringEquals")
+     *                         .variable("kms:EncryptionContext:service")
+     *                         .values("pi")
+     *                         .build(),
+     *                     GetPolicyDocumentStatementConditionArgs.builder()
+     *                         .test("ForAnyValue:StringEquals")
+     *                         .variable("kms:EncryptionContext:aws:pi:service")
+     *                         .values("rds")
+     *                         .build(),
+     *                     GetPolicyDocumentStatementConditionArgs.builder()
+     *                         .test("ForAnyValue:StringEquals")
+     *                         .variable("kms:EncryptionContext:aws:rds:db-id")
+     *                         .values(                        
+     *                             "db-AAAAABBBBBCCCCCDDDDDEEEEE",
+     *                             "db-EEEEEDDDDDCCCCCBBBBBAAAAA")
+     *                         .build())
+     *                 .build())
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + * `data.aws_iam_policy_document.example_multiple_condition_keys_and_values.json` will evaluate to: + * + * ### Example Assume-Role Policy with Multiple Principals + * + * You can specify multiple principal blocks with different types. You can also use this data source to generate an assume-role policy. + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.iam.IamFunctions;
+     * import com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;
+     * import 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 eventStreamBucketRoleAssumeRolePolicy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()
+     *             .statements(GetPolicyDocumentStatementArgs.builder()
+     *                 .actions("sts:AssumeRole")
+     *                 .principals(                
+     *                     GetPolicyDocumentStatementPrincipalArgs.builder()
+     *                         .type("Service")
+     *                         .identifiers("firehose.amazonaws.com")
+     *                         .build(),
+     *                     GetPolicyDocumentStatementPrincipalArgs.builder()
+     *                         .type("AWS")
+     *                         .identifiers(trustedRoleArn)
+     *                         .build(),
+     *                     GetPolicyDocumentStatementPrincipalArgs.builder()
+     *                         .type("Federated")
+     *                         .identifiers(                        
+     *                             String.format("arn:aws:iam::%s:saml-provider/%s", accountId,providerName),
+     *                             "cognito-identity.amazonaws.com")
+     *                         .build())
+     *                 .build())
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + * ### Example Using A Source Document + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.iam.IamFunctions;
+     * import com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;
+     * import 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 source = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()
+     *             .statements(            
+     *                 GetPolicyDocumentStatementArgs.builder()
+     *                     .actions("ec2:*")
+     *                     .resources("*")
+     *                     .build(),
+     *                 GetPolicyDocumentStatementArgs.builder()
+     *                     .sid("SidToOverride")
+     *                     .actions("s3:*")
+     *                     .resources("*")
+     *                     .build())
+     *             .build());
+     * 
+     *         final var sourceDocumentExample = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()
+     *             .sourcePolicyDocuments(source.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json()))
+     *             .statements(GetPolicyDocumentStatementArgs.builder()
+     *                 .sid("SidToOverride")
+     *                 .actions("s3:*")
+     *                 .resources(                
+     *                     "arn:aws:s3:::somebucket",
+     *                     "arn:aws:s3:::somebucket/*")
+     *                 .build())
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + * `data.aws_iam_policy_document.source_document_example.json` will evaluate to: + * + * ### Example Using An Override Document + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.iam.IamFunctions;
+     * import com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;
+     * import 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 override = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()
+     *             .statements(GetPolicyDocumentStatementArgs.builder()
+     *                 .sid("SidToOverride")
+     *                 .actions("s3:*")
+     *                 .resources("*")
+     *                 .build())
+     *             .build());
+     * 
+     *         final var overridePolicyDocumentExample = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()
+     *             .overridePolicyDocuments(override.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json()))
+     *             .statements(            
+     *                 GetPolicyDocumentStatementArgs.builder()
+     *                     .actions("ec2:*")
+     *                     .resources("*")
+     *                     .build(),
+     *                 GetPolicyDocumentStatementArgs.builder()
+     *                     .sid("SidToOverride")
+     *                     .actions("s3:*")
+     *                     .resources(                    
+     *                         "arn:aws:s3:::somebucket",
+     *                         "arn:aws:s3:::somebucket/*")
+     *                     .build())
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + * `data.aws_iam_policy_document.override_policy_document_example.json` will evaluate to: + * + * ### Example with Both Source and Override Documents + * + * You can also combine `source_policy_documents` and `override_policy_documents` in the same document. + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.iam.IamFunctions;
+     * import com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;
+     * import 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 source = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()
+     *             .statements(GetPolicyDocumentStatementArgs.builder()
+     *                 .sid("OverridePlaceholder")
+     *                 .actions("ec2:DescribeAccountAttributes")
+     *                 .resources("*")
+     *                 .build())
+     *             .build());
+     * 
+     *         final var override = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()
+     *             .statements(GetPolicyDocumentStatementArgs.builder()
+     *                 .sid("OverridePlaceholder")
+     *                 .actions("s3:GetObject")
+     *                 .resources("*")
+     *                 .build())
+     *             .build());
+     * 
+     *         final var politik = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()
+     *             .sourcePolicyDocuments(source.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json()))
+     *             .overridePolicyDocuments(override.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json()))
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + * `data.aws_iam_policy_document.politik.json` will evaluate to: + * + * ### Example of Merging Source Documents + * + * Multiple documents can be combined using the `source_policy_documents` or `override_policy_documents` attributes. `source_policy_documents` requires that all documents have unique Sids, while `override_policy_documents` will iteratively override matching Sids. + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.iam.IamFunctions;
+     * import com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;
+     * import 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 sourceOne = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()
+     *             .statements(            
+     *                 GetPolicyDocumentStatementArgs.builder()
+     *                     .actions("ec2:*")
+     *                     .resources("*")
+     *                     .build(),
+     *                 GetPolicyDocumentStatementArgs.builder()
+     *                     .sid("UniqueSidOne")
+     *                     .actions("s3:*")
+     *                     .resources("*")
+     *                     .build())
+     *             .build());
+     * 
+     *         final var sourceTwo = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()
+     *             .statements(            
+     *                 GetPolicyDocumentStatementArgs.builder()
+     *                     .sid("UniqueSidTwo")
+     *                     .actions("iam:*")
+     *                     .resources("*")
+     *                     .build(),
+     *                 GetPolicyDocumentStatementArgs.builder()
+     *                     .actions("lambda:*")
+     *                     .resources("*")
+     *                     .build())
+     *             .build());
+     * 
+     *         final var combined = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()
+     *             .sourcePolicyDocuments(            
+     *                 sourceOne.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json()),
+     *                 sourceTwo.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json()))
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + * `data.aws_iam_policy_document.combined.json` will evaluate to: + * + * ### Example of Merging Override Documents + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.iam.IamFunctions;
+     * import com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;
+     * import 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 policyOne = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()
+     *             .statements(GetPolicyDocumentStatementArgs.builder()
+     *                 .sid("OverridePlaceHolderOne")
+     *                 .effect("Allow")
+     *                 .actions("s3:*")
+     *                 .resources("*")
+     *                 .build())
+     *             .build());
+     * 
+     *         final var policyTwo = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()
+     *             .statements(            
+     *                 GetPolicyDocumentStatementArgs.builder()
+     *                     .effect("Allow")
+     *                     .actions("ec2:*")
+     *                     .resources("*")
+     *                     .build(),
+     *                 GetPolicyDocumentStatementArgs.builder()
+     *                     .sid("OverridePlaceHolderTwo")
+     *                     .effect("Allow")
+     *                     .actions("iam:*")
+     *                     .resources("*")
+     *                     .build())
+     *             .build());
+     * 
+     *         final var policyThree = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()
+     *             .statements(GetPolicyDocumentStatementArgs.builder()
+     *                 .sid("OverridePlaceHolderOne")
+     *                 .effect("Deny")
+     *                 .actions("logs:*")
+     *                 .resources("*")
+     *                 .build())
+     *             .build());
+     * 
+     *         final var combined = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()
+     *             .overridePolicyDocuments(            
+     *                 policyOne.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json()),
+     *                 policyTwo.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json()),
+     *                 policyThree.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json()))
+     *             .statements(GetPolicyDocumentStatementArgs.builder()
+     *                 .sid("OverridePlaceHolderTwo")
+     *                 .effect("Deny")
+     *                 .actions("*")
+     *                 .resources("*")
+     *                 .build())
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + * `data.aws_iam_policy_document.combined.json` will evaluate to: + * + */ + public static CompletableFuture getPolicyDocumentPlain(GetPolicyDocumentPlainArgs args, InvokeOptions options) { + return Deployment.getInstance().invokeAsync("aws:iam/getPolicyDocument:getPolicyDocument", TypeShape.of(GetPolicyDocumentResult.class), args, Utilities.withVersion(options)); + } + /** + * Runs a simulation of the IAM policies of a particular principal against a given hypothetical request. + * + * You can use this data source in conjunction with + * Preconditions and Postconditions so that your configuration can test either whether it should have sufficient access to do its own work, or whether policies your configuration declares itself are sufficient for their intended use elsewhere. + * + * > **Note:** Correctly using this data source requires familiarity with various details of AWS Identity and Access Management, and how various AWS services integrate with it. For general information on the AWS IAM policy simulator, see [Testing IAM policies with the IAM policy simulator](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_testing-policies.html). This data source wraps the `iam:SimulatePrincipalPolicy` API action described on that page. + * + * ## Example Usage + * + * ### Self Access-checking Example + * + * 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. + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.AwsFunctions;
+     * import com.pulumi.aws.inputs.GetCallerIdentityArgs;
+     * import com.pulumi.aws.iam.IamFunctions;
+     * import com.pulumi.aws.iam.inputs.GetPrincipalPolicySimulationArgs;
+     * 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 current = AwsFunctions.getCallerIdentity();
+     * 
+     *         final var s3ObjectAccess = IamFunctions.getPrincipalPolicySimulation(GetPrincipalPolicySimulationArgs.builder()
+     *             .actionNames(            
+     *                 "s3:GetObject",
+     *                 "s3:PutObject",
+     *                 "s3:DeleteObject")
+     *             .policySourceArn(current.applyValue(getCallerIdentityResult -> getCallerIdentityResult.arn()))
+     *             .resourceArns("arn:aws:s3:::my-test-bucket")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + * If you intend to use this data source to quickly raise an error when the given credentials are insufficient then you must use `depends_on` inside any resource which would require those credentials, to ensure that the policy check will run first: + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.s3.BucketObject;
+     * import com.pulumi.aws.s3.BucketObjectArgs;
+     * import com.pulumi.resources.CustomResourceOptions;
+     * import java.util.List;
+     * import java.util.ArrayList;
+     * import java.util.Map;
+     * import java.io.File;
+     * import java.nio.file.Files;
+     * import java.nio.file.Paths;
+     * 
+     * public class App {
+     *     public static void main(String[] args) {
+     *         Pulumi.run(App::stack);
+     *     }
+     * 
+     *     public static void stack(Context ctx) {
+     *         var example = new BucketObject("example", BucketObjectArgs.builder()
+     *             .bucket("my-test-bucket")
+     *             .build(), CustomResourceOptions.builder()
+     *                 .dependsOn(s3ObjectAccess)
+     *                 .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + * ### Testing the Effect of a Declared Policy + * + * The following example declares an S3 bucket and a user that should have access to the bucket, and then uses `aws.iam.getPrincipalPolicySimulation` to verify that the user does indeed have access to perform needed operations against the bucket. + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.AwsFunctions;
+     * import com.pulumi.aws.inputs.GetCallerIdentityArgs;
+     * import com.pulumi.aws.iam.User;
+     * import com.pulumi.aws.iam.UserArgs;
+     * import com.pulumi.aws.s3.BucketV2;
+     * import com.pulumi.aws.s3.BucketV2Args;
+     * import com.pulumi.aws.iam.UserPolicy;
+     * import com.pulumi.aws.iam.UserPolicyArgs;
+     * import com.pulumi.aws.s3.BucketPolicy;
+     * import com.pulumi.aws.s3.BucketPolicyArgs;
+     * import com.pulumi.aws.iam.IamFunctions;
+     * import com.pulumi.aws.iam.inputs.GetPrincipalPolicySimulationArgs;
+     * 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) {
+     *         final var current = AwsFunctions.getCallerIdentity();
+     * 
+     *         var example = new User("example", UserArgs.builder()
+     *             .name("example")
+     *             .build());
+     * 
+     *         var exampleBucketV2 = new BucketV2("exampleBucketV2", BucketV2Args.builder()
+     *             .bucket("my-test-bucket")
+     *             .build());
+     * 
+     *         var s3Access = new UserPolicy("s3Access", UserPolicyArgs.builder()
+     *             .name("example_s3_access")
+     *             .user(example.name())
+     *             .policy(exampleBucketV2.arn().applyValue(arn -> serializeJson(
+     *                 jsonObject(
+     *                     jsonProperty("Version", "2012-10-17"),
+     *                     jsonProperty("Statement", jsonArray(jsonObject(
+     *                         jsonProperty("Action", "s3:GetObject"),
+     *                         jsonProperty("Effect", "Allow"),
+     *                         jsonProperty("Resource", arn)
+     *                     )))
+     *                 ))))
+     *             .build());
+     * 
+     *         var accountAccess = new BucketPolicy("accountAccess", BucketPolicyArgs.builder()
+     *             .bucket(exampleBucketV2.bucket())
+     *             .policy(Output.tuple(exampleBucketV2.arn(), exampleBucketV2.arn()).applyValue(values -> {
+     *                 var exampleBucketV2Arn = values.t1;
+     *                 var exampleBucketV2Arn1 = values.t2;
+     *                 return serializeJson(
+     *                     jsonObject(
+     *                         jsonProperty("Version", "2012-10-17"),
+     *                         jsonProperty("Statement", jsonArray(jsonObject(
+     *                             jsonProperty("Action", "s3:*"),
+     *                             jsonProperty("Effect", "Allow"),
+     *                             jsonProperty("Principal", jsonObject(
+     *                                 jsonProperty("AWS", current.applyValue(getCallerIdentityResult -> getCallerIdentityResult.accountId()))
+     *                             )),
+     *                             jsonProperty("Resource", jsonArray(
+     *                                 exampleBucketV2Arn, 
+     *                                 String.format("%s/*", exampleBucketV2Arn1)
+     *                             ))
+     *                         )))
+     *                     ));
+     *             }))
+     *             .build());
+     * 
+     *         final var s3ObjectAccess = IamFunctions.getPrincipalPolicySimulation(GetPrincipalPolicySimulationArgs.builder()
+     *             .actionNames("s3:GetObject")
+     *             .policySourceArn(example.arn())
+     *             .resourceArns(exampleBucketV2.arn())
+     *             .resourcePolicyJson(accountAccess.policy())
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + * When using `aws.iam.getPrincipalPolicySimulation` to test the effect of a policy declared elsewhere in the same configuration, it's important to use `depends_on` to make sure that the needed policy has been fully created or updated before running the simulation. + * + */ + public static Output getPrincipalPolicySimulation(GetPrincipalPolicySimulationArgs args) { + return getPrincipalPolicySimulation(args, InvokeOptions.Empty); + } + /** + * Runs a simulation of the IAM policies of a particular principal against a given hypothetical request. + * + * You can use this data source in conjunction with + * Preconditions and Postconditions so that your configuration can test either whether it should have sufficient access to do its own work, or whether policies your configuration declares itself are sufficient for their intended use elsewhere. + * + * > **Note:** Correctly using this data source requires familiarity with various details of AWS Identity and Access Management, and how various AWS services integrate with it. For general information on the AWS IAM policy simulator, see [Testing IAM policies with the IAM policy simulator](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_testing-policies.html). This data source wraps the `iam:SimulatePrincipalPolicy` API action described on that page. + * + * ## Example Usage + * + * ### Self Access-checking Example + * + * 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. + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.AwsFunctions;
+     * import com.pulumi.aws.inputs.GetCallerIdentityArgs;
+     * import com.pulumi.aws.iam.IamFunctions;
+     * import com.pulumi.aws.iam.inputs.GetPrincipalPolicySimulationArgs;
+     * 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 current = AwsFunctions.getCallerIdentity();
+     * 
+     *         final var s3ObjectAccess = IamFunctions.getPrincipalPolicySimulation(GetPrincipalPolicySimulationArgs.builder()
+     *             .actionNames(            
+     *                 "s3:GetObject",
+     *                 "s3:PutObject",
+     *                 "s3:DeleteObject")
+     *             .policySourceArn(current.applyValue(getCallerIdentityResult -> getCallerIdentityResult.arn()))
+     *             .resourceArns("arn:aws:s3:::my-test-bucket")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + * If you intend to use this data source to quickly raise an error when the given credentials are insufficient then you must use `depends_on` inside any resource which would require those credentials, to ensure that the policy check will run first: + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.s3.BucketObject;
+     * import com.pulumi.aws.s3.BucketObjectArgs;
+     * import com.pulumi.resources.CustomResourceOptions;
+     * import java.util.List;
+     * import java.util.ArrayList;
+     * import java.util.Map;
+     * import java.io.File;
+     * import java.nio.file.Files;
+     * import java.nio.file.Paths;
+     * 
+     * public class App {
+     *     public static void main(String[] args) {
+     *         Pulumi.run(App::stack);
+     *     }
+     * 
+     *     public static void stack(Context ctx) {
+     *         var example = new BucketObject("example", BucketObjectArgs.builder()
+     *             .bucket("my-test-bucket")
+     *             .build(), CustomResourceOptions.builder()
+     *                 .dependsOn(s3ObjectAccess)
+     *                 .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + * ### Testing the Effect of a Declared Policy + * + * The following example declares an S3 bucket and a user that should have access to the bucket, and then uses `aws.iam.getPrincipalPolicySimulation` to verify that the user does indeed have access to perform needed operations against the bucket. + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.AwsFunctions;
      * import com.pulumi.aws.inputs.GetCallerIdentityArgs;
      * import com.pulumi.aws.iam.User;
      * import com.pulumi.aws.iam.UserArgs;
@@ -5210,8 +6293,8 @@ public static CompletableFuture getPolicyDocumentPlain(
      * When using `aws.iam.getPrincipalPolicySimulation` to test the effect of a policy declared elsewhere in the same configuration, it's important to use `depends_on` to make sure that the needed policy has been fully created or updated before running the simulation.
      * 
      */
-    public static Output getPrincipalPolicySimulation(GetPrincipalPolicySimulationArgs args) {
-        return getPrincipalPolicySimulation(args, InvokeOptions.Empty);
+    public static CompletableFuture getPrincipalPolicySimulationPlain(GetPrincipalPolicySimulationPlainArgs args) {
+        return getPrincipalPolicySimulationPlain(args, InvokeOptions.Empty);
     }
     /**
      * Runs a simulation of the IAM policies of a particular principal against a given hypothetical request.
@@ -5408,8 +6491,8 @@ public static Output getPrincipalPolic
      * When using `aws.iam.getPrincipalPolicySimulation` to test the effect of a policy declared elsewhere in the same configuration, it's important to use `depends_on` to make sure that the needed policy has been fully created or updated before running the simulation.
      * 
      */
-    public static CompletableFuture getPrincipalPolicySimulationPlain(GetPrincipalPolicySimulationPlainArgs args) {
-        return getPrincipalPolicySimulationPlain(args, InvokeOptions.Empty);
+    public static Output getPrincipalPolicySimulation(GetPrincipalPolicySimulationArgs args, InvokeOptions options) {
+        return Deployment.getInstance().invoke("aws:iam/getPrincipalPolicySimulation:getPrincipalPolicySimulation", TypeShape.of(GetPrincipalPolicySimulationInvokeResult.class), args, Utilities.withVersion(options));
     }
     /**
      * Runs a simulation of the IAM policies of a particular principal against a given hypothetical request.
@@ -5606,7 +6689,7 @@ public static CompletableFuture getPri
      * When using `aws.iam.getPrincipalPolicySimulation` to test the effect of a policy declared elsewhere in the same configuration, it's important to use `depends_on` to make sure that the needed policy has been fully created or updated before running the simulation.
      * 
      */
-    public static Output getPrincipalPolicySimulation(GetPrincipalPolicySimulationArgs args, InvokeOptions options) {
+    public static Output getPrincipalPolicySimulation(GetPrincipalPolicySimulationArgs args, InvokeOutputOptions options) {
         return Deployment.getInstance().invoke("aws:iam/getPrincipalPolicySimulation:getPrincipalPolicySimulation", TypeShape.of(GetPrincipalPolicySimulationInvokeResult.class), args, Utilities.withVersion(options));
     }
     /**
@@ -5900,7 +6983,246 @@ public static CompletableFuture getRolePlain(GetRolePlainArgs arg
      * IAM role. By using this data source, you can reference IAM role
      * properties without having to hard code ARNs as input.
      * 
-     * ## Example Usage
+     * ## Example Usage
+     * 
+     * <!--Start PulumiCodeChooser -->
+     * 
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.iam.IamFunctions;
+     * import com.pulumi.aws.iam.inputs.GetRoleArgs;
+     * 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 = IamFunctions.getRole(GetRoleArgs.builder()
+     *             .name("an_example_role_name")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getRole(GetRoleArgs args, InvokeOptions options) { + return Deployment.getInstance().invoke("aws:iam/getRole:getRole", TypeShape.of(GetRoleResult.class), args, Utilities.withVersion(options)); + } + /** + * This data source can be used to fetch information about a specific + * IAM role. By using this data source, you can reference IAM role + * properties without having to hard code ARNs as input. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.iam.IamFunctions;
+     * import com.pulumi.aws.iam.inputs.GetRoleArgs;
+     * 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 = IamFunctions.getRole(GetRoleArgs.builder()
+     *             .name("an_example_role_name")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getRole(GetRoleArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:iam/getRole:getRole", TypeShape.of(GetRoleResult.class), args, Utilities.withVersion(options)); + } + /** + * This data source can be used to fetch information about a specific + * IAM role. By using this data source, you can reference IAM role + * properties without having to hard code ARNs as input. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.iam.IamFunctions;
+     * import com.pulumi.aws.iam.inputs.GetRoleArgs;
+     * 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 = IamFunctions.getRole(GetRoleArgs.builder()
+     *             .name("an_example_role_name")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static CompletableFuture getRolePlain(GetRolePlainArgs args, InvokeOptions options) { + return Deployment.getInstance().invokeAsync("aws:iam/getRole:getRole", TypeShape.of(GetRoleResult.class), args, Utilities.withVersion(options)); + } + /** + * Use this data source to get the ARNs and Names of IAM Roles. + * + * ## Example Usage + * + * ### All roles in an account + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.iam.IamFunctions;
+     * import com.pulumi.aws.iam.inputs.GetRolesArgs;
+     * 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 roles = IamFunctions.getRoles();
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + * ### Roles filtered by name regex + * + * Roles whose role-name contains `project` + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.iam.IamFunctions;
+     * import com.pulumi.aws.iam.inputs.GetRolesArgs;
+     * 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 roles = IamFunctions.getRoles(GetRolesArgs.builder()
+     *             .nameRegex(".*project.*")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + * ### Roles filtered by path prefix + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.iam.IamFunctions;
+     * import com.pulumi.aws.iam.inputs.GetRolesArgs;
+     * 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 roles = IamFunctions.getRoles(GetRolesArgs.builder()
+     *             .pathPrefix("/custom-path")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + * ### Roles provisioned by AWS SSO + * + * Roles in the account filtered by path prefix * * <!--Start PulumiCodeChooser --> *
@@ -5911,7 +7233,7 @@ public static CompletableFuture getRolePlain(GetRolePlainArgs arg
      * import com.pulumi.Pulumi;
      * import com.pulumi.core.Output;
      * import com.pulumi.aws.iam.IamFunctions;
-     * import com.pulumi.aws.iam.inputs.GetRoleArgs;
+     * import com.pulumi.aws.iam.inputs.GetRolesArgs;
      * import java.util.List;
      * import java.util.ArrayList;
      * import java.util.Map;
@@ -5925,8 +7247,8 @@ public static CompletableFuture getRolePlain(GetRolePlainArgs arg
      *     }
      * 
      *     public static void stack(Context ctx) {
-     *         final var example = IamFunctions.getRole(GetRoleArgs.builder()
-     *             .name("an_example_role_name")
+     *         final var roles = IamFunctions.getRoles(GetRolesArgs.builder()
+     *             .pathPrefix("/aws-reserved/sso.amazonaws.com/")
      *             .build());
      * 
      *     }
@@ -5935,16 +7257,7 @@ public static CompletableFuture getRolePlain(GetRolePlainArgs arg
      * 
* <!--End PulumiCodeChooser --> * - */ - public static Output getRole(GetRoleArgs args, InvokeOptions options) { - return Deployment.getInstance().invoke("aws:iam/getRole:getRole", TypeShape.of(GetRoleResult.class), args, Utilities.withVersion(options)); - } - /** - * This data source can be used to fetch information about a specific - * IAM role. By using this data source, you can reference IAM role - * properties without having to hard code ARNs as input. - * - * ## Example Usage + * Specific role in the account filtered by name regex and path prefix * * <!--Start PulumiCodeChooser --> *
@@ -5955,7 +7268,7 @@ public static Output getRole(GetRoleArgs args, InvokeOptions opti
      * import com.pulumi.Pulumi;
      * import com.pulumi.core.Output;
      * import com.pulumi.aws.iam.IamFunctions;
-     * import com.pulumi.aws.iam.inputs.GetRoleArgs;
+     * import com.pulumi.aws.iam.inputs.GetRolesArgs;
      * import java.util.List;
      * import java.util.ArrayList;
      * import java.util.Map;
@@ -5969,8 +7282,9 @@ public static Output getRole(GetRoleArgs args, InvokeOptions opti
      *     }
      * 
      *     public static void stack(Context ctx) {
-     *         final var example = IamFunctions.getRole(GetRoleArgs.builder()
-     *             .name("an_example_role_name")
+     *         final var roles = IamFunctions.getRoles(GetRolesArgs.builder()
+     *             .nameRegex("AWSReservedSSO_permission_set_name_.*")
+     *             .pathPrefix("/aws-reserved/sso.amazonaws.com/")
      *             .build());
      * 
      *     }
@@ -5980,8 +7294,8 @@ public static Output getRole(GetRoleArgs args, InvokeOptions opti
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static CompletableFuture getRolePlain(GetRolePlainArgs args, InvokeOptions options) {
-        return Deployment.getInstance().invokeAsync("aws:iam/getRole:getRole", TypeShape.of(GetRoleResult.class), args, Utilities.withVersion(options));
+    public static Output getRoles() {
+        return getRoles(GetRolesArgs.Empty, InvokeOptions.Empty);
     }
     /**
      * Use this data source to get the ARNs and Names of IAM Roles.
@@ -6167,8 +7481,8 @@ public static CompletableFuture getRolePlain(GetRolePlainArgs arg
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static Output getRoles() {
-        return getRoles(GetRolesArgs.Empty, InvokeOptions.Empty);
+    public static CompletableFuture getRolesPlain() {
+        return getRolesPlain(GetRolesPlainArgs.Empty, InvokeOptions.Empty);
     }
     /**
      * Use this data source to get the ARNs and Names of IAM Roles.
@@ -6354,8 +7668,8 @@ public static Output getRoles() {
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static CompletableFuture getRolesPlain() {
-        return getRolesPlain(GetRolesPlainArgs.Empty, InvokeOptions.Empty);
+    public static Output getRoles(GetRolesArgs args) {
+        return getRoles(args, InvokeOptions.Empty);
     }
     /**
      * Use this data source to get the ARNs and Names of IAM Roles.
@@ -6541,8 +7855,8 @@ public static CompletableFuture getRolesPlain() {
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static Output getRoles(GetRolesArgs args) {
-        return getRoles(args, InvokeOptions.Empty);
+    public static CompletableFuture getRolesPlain(GetRolesPlainArgs args) {
+        return getRolesPlain(args, InvokeOptions.Empty);
     }
     /**
      * Use this data source to get the ARNs and Names of IAM Roles.
@@ -6728,8 +8042,8 @@ public static Output getRoles(GetRolesArgs args) {
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static CompletableFuture getRolesPlain(GetRolesPlainArgs args) {
-        return getRolesPlain(args, InvokeOptions.Empty);
+    public static Output getRoles(GetRolesArgs args, InvokeOptions options) {
+        return Deployment.getInstance().invoke("aws:iam/getRoles:getRoles", TypeShape.of(GetRolesResult.class), args, Utilities.withVersion(options));
     }
     /**
      * Use this data source to get the ARNs and Names of IAM Roles.
@@ -6915,7 +8229,7 @@ public static CompletableFuture getRolesPlain(GetRolesPlainArgs
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static Output getRoles(GetRolesArgs args, InvokeOptions options) {
+    public static Output getRoles(GetRolesArgs args, InvokeOutputOptions options) {
         return Deployment.getInstance().invoke("aws:iam/getRoles:getRoles", TypeShape.of(GetRolesResult.class), args, Utilities.withVersion(options));
     }
     /**
@@ -7237,6 +8551,50 @@ public static CompletableFuture getSamlProviderPlain(GetS
     public static Output getSamlProvider(GetSamlProviderArgs args, InvokeOptions options) {
         return Deployment.getInstance().invoke("aws:iam/getSamlProvider:getSamlProvider", TypeShape.of(GetSamlProviderResult.class), args, Utilities.withVersion(options));
     }
+    /**
+     * This data source can be used to fetch information about a specific
+     * IAM SAML provider. This will allow you to easily retrieve the metadata
+     * document of an existing SAML provider.
+     * 
+     * ## Example Usage
+     * 
+     * <!--Start PulumiCodeChooser -->
+     * 
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.iam.IamFunctions;
+     * import com.pulumi.aws.iam.inputs.GetSamlProviderArgs;
+     * 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 = IamFunctions.getSamlProvider(GetSamlProviderArgs.builder()
+     *             .arn("arn:aws:iam::123456789:saml-provider/myprovider")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getSamlProvider(GetSamlProviderArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:iam/getSamlProvider:getSamlProvider", TypeShape.of(GetSamlProviderResult.class), args, Utilities.withVersion(options)); + } /** * This data source can be used to fetch information about a specific * IAM SAML provider. This will allow you to easily retrieve the metadata @@ -7545,15 +8903,175 @@ public static CompletableFuture getServerCertificate * .latest(true) * .build()); * - * var elb = new LoadBalancer("elb", LoadBalancerArgs.builder() - * .name("my-domain-elb") - * .listeners(LoadBalancerListenerArgs.builder() - * .instancePort(8000) - * .instanceProtocol("https") - * .lbPort(443) - * .lbProtocol("https") - * .sslCertificateId(my_domain.arn()) - * .build()) + * var elb = new LoadBalancer("elb", LoadBalancerArgs.builder() + * .name("my-domain-elb") + * .listeners(LoadBalancerListenerArgs.builder() + * .instancePort(8000) + * .instanceProtocol("https") + * .lbPort(443) + * .lbProtocol("https") + * .sslCertificateId(my_domain.arn()) + * .build()) + * .build()); + * + * } + * } + * } + *
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getServerCertificate(GetServerCertificateArgs args, InvokeOptions options) { + return Deployment.getInstance().invoke("aws:iam/getServerCertificate:getServerCertificate", TypeShape.of(GetServerCertificateResult.class), args, Utilities.withVersion(options)); + } + /** + * Use this data source to lookup information about IAM Server Certificates. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.iam.IamFunctions;
+     * import com.pulumi.aws.iam.inputs.GetServerCertificateArgs;
+     * import com.pulumi.aws.elb.LoadBalancer;
+     * import com.pulumi.aws.elb.LoadBalancerArgs;
+     * import com.pulumi.aws.elb.inputs.LoadBalancerListenerArgs;
+     * 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 my-domain = IamFunctions.getServerCertificate(GetServerCertificateArgs.builder()
+     *             .namePrefix("my-domain.org")
+     *             .latest(true)
+     *             .build());
+     * 
+     *         var elb = new LoadBalancer("elb", LoadBalancerArgs.builder()
+     *             .name("my-domain-elb")
+     *             .listeners(LoadBalancerListenerArgs.builder()
+     *                 .instancePort(8000)
+     *                 .instanceProtocol("https")
+     *                 .lbPort(443)
+     *                 .lbProtocol("https")
+     *                 .sslCertificateId(my_domain.arn())
+     *                 .build())
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getServerCertificate(GetServerCertificateArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:iam/getServerCertificate:getServerCertificate", TypeShape.of(GetServerCertificateResult.class), args, Utilities.withVersion(options)); + } + /** + * Use this data source to lookup information about IAM Server Certificates. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.iam.IamFunctions;
+     * import com.pulumi.aws.iam.inputs.GetServerCertificateArgs;
+     * import com.pulumi.aws.elb.LoadBalancer;
+     * import com.pulumi.aws.elb.LoadBalancerArgs;
+     * import com.pulumi.aws.elb.inputs.LoadBalancerListenerArgs;
+     * 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 my-domain = IamFunctions.getServerCertificate(GetServerCertificateArgs.builder()
+     *             .namePrefix("my-domain.org")
+     *             .latest(true)
+     *             .build());
+     * 
+     *         var elb = new LoadBalancer("elb", LoadBalancerArgs.builder()
+     *             .name("my-domain-elb")
+     *             .listeners(LoadBalancerListenerArgs.builder()
+     *                 .instancePort(8000)
+     *                 .instanceProtocol("https")
+     *                 .lbPort(443)
+     *                 .lbProtocol("https")
+     *                 .sslCertificateId(my_domain.arn())
+     *                 .build())
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static CompletableFuture getServerCertificatePlain(GetServerCertificatePlainArgs args, InvokeOptions options) { + return Deployment.getInstance().invokeAsync("aws:iam/getServerCertificate:getServerCertificate", TypeShape.of(GetServerCertificateResult.class), args, Utilities.withVersion(options)); + } + /** + * 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`. + * + * For 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. + * + * ## Example Usage + * + * ### Basic Example + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.iam.IamFunctions;
+     * import com.pulumi.aws.iam.inputs.GetSessionContextArgs;
+     * 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 = IamFunctions.getSessionContext(GetSessionContextArgs.builder()
+     *             .arn("arn:aws:sts::123456789012:assumed-role/Audien-Heaven/MatyNoyes")
      *             .build());
      * 
      *     }
@@ -7562,14 +9080,9 @@ public static CompletableFuture getServerCertificate
      * 
* <!--End PulumiCodeChooser --> * - */ - public static Output getServerCertificate(GetServerCertificateArgs args, InvokeOptions options) { - return Deployment.getInstance().invoke("aws:iam/getServerCertificate:getServerCertificate", TypeShape.of(GetServerCertificateResult.class), args, Utilities.withVersion(options)); - } - /** - * Use this data source to lookup information about IAM Server Certificates. + * ### Find the Runner's Source Role * - * ## Example Usage + * 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. * * <!--Start PulumiCodeChooser --> *
@@ -7579,11 +9092,10 @@ public static Output getServerCertificate(GetServerC
      * import com.pulumi.Context;
      * import com.pulumi.Pulumi;
      * import com.pulumi.core.Output;
+     * import com.pulumi.aws.AwsFunctions;
+     * import com.pulumi.aws.inputs.GetCallerIdentityArgs;
      * import com.pulumi.aws.iam.IamFunctions;
-     * import com.pulumi.aws.iam.inputs.GetServerCertificateArgs;
-     * import com.pulumi.aws.elb.LoadBalancer;
-     * import com.pulumi.aws.elb.LoadBalancerArgs;
-     * import com.pulumi.aws.elb.inputs.LoadBalancerListenerArgs;
+     * import com.pulumi.aws.iam.inputs.GetSessionContextArgs;
      * import java.util.List;
      * import java.util.ArrayList;
      * import java.util.Map;
@@ -7597,20 +9109,10 @@ public static Output getServerCertificate(GetServerC
      *     }
      * 
      *     public static void stack(Context ctx) {
-     *         final var my-domain = IamFunctions.getServerCertificate(GetServerCertificateArgs.builder()
-     *             .namePrefix("my-domain.org")
-     *             .latest(true)
-     *             .build());
+     *         final var current = AwsFunctions.getCallerIdentity();
      * 
-     *         var elb = new LoadBalancer("elb", LoadBalancerArgs.builder()
-     *             .name("my-domain-elb")
-     *             .listeners(LoadBalancerListenerArgs.builder()
-     *                 .instancePort(8000)
-     *                 .instanceProtocol("https")
-     *                 .lbPort(443)
-     *                 .lbProtocol("https")
-     *                 .sslCertificateId(my_domain.arn())
-     *                 .build())
+     *         final var example = IamFunctions.getSessionContext(GetSessionContextArgs.builder()
+     *             .arn(current.applyValue(getCallerIdentityResult -> getCallerIdentityResult.arn()))
      *             .build());
      * 
      *     }
@@ -7620,8 +9122,8 @@ public static Output getServerCertificate(GetServerC
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static CompletableFuture getServerCertificatePlain(GetServerCertificatePlainArgs args, InvokeOptions options) {
-        return Deployment.getInstance().invokeAsync("aws:iam/getServerCertificate:getServerCertificate", TypeShape.of(GetServerCertificateResult.class), args, Utilities.withVersion(options));
+    public static Output getSessionContext(GetSessionContextArgs args) {
+        return getSessionContext(args, InvokeOptions.Empty);
     }
     /**
      * 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`.
@@ -7707,8 +9209,8 @@ public static CompletableFuture getServerCertificate
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static Output getSessionContext(GetSessionContextArgs args) {
-        return getSessionContext(args, InvokeOptions.Empty);
+    public static CompletableFuture getSessionContextPlain(GetSessionContextPlainArgs args) {
+        return getSessionContextPlain(args, InvokeOptions.Empty);
     }
     /**
      * 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`.
@@ -7794,8 +9296,8 @@ public static Output getSessionContext(GetSessionContex
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static CompletableFuture getSessionContextPlain(GetSessionContextPlainArgs args) {
-        return getSessionContextPlain(args, InvokeOptions.Empty);
+    public static Output getSessionContext(GetSessionContextArgs args, InvokeOptions options) {
+        return Deployment.getInstance().invoke("aws:iam/getSessionContext:getSessionContext", TypeShape.of(GetSessionContextResult.class), args, Utilities.withVersion(options));
     }
     /**
      * 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`.
@@ -7881,7 +9383,7 @@ public static CompletableFuture getSessionContextPlain(
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static Output getSessionContext(GetSessionContextArgs args, InvokeOptions options) {
+    public static Output getSessionContext(GetSessionContextArgs args, InvokeOutputOptions options) {
         return Deployment.getInstance().invoke("aws:iam/getSessionContext:getSessionContext", TypeShape.of(GetSessionContextResult.class), args, Utilities.withVersion(options));
     }
     /**
@@ -8103,6 +9605,50 @@ public static CompletableFuture getUserPlain(GetUserPlainArgs arg
     public static Output getUser(GetUserArgs args, InvokeOptions options) {
         return Deployment.getInstance().invoke("aws:iam/getUser:getUser", TypeShape.of(GetUserResult.class), args, Utilities.withVersion(options));
     }
+    /**
+     * This data source can be used to fetch information about a specific
+     * IAM user. By using this data source, you can reference IAM user
+     * properties without having to hard code ARNs or unique IDs as input.
+     * 
+     * ## Example Usage
+     * 
+     * <!--Start PulumiCodeChooser -->
+     * 
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.iam.IamFunctions;
+     * import com.pulumi.aws.iam.inputs.GetUserArgs;
+     * 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 = IamFunctions.getUser(GetUserArgs.builder()
+     *             .userName("an_example_user_name")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getUser(GetUserArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:iam/getUser:getUser", TypeShape.of(GetUserResult.class), args, Utilities.withVersion(options)); + } /** * This data source can be used to fetch information about a specific * IAM user. By using this data source, you can reference IAM user @@ -8279,6 +9825,50 @@ public static CompletableFuture getUserSshKeyPlain(GetUserS public static Output getUserSshKey(GetUserSshKeyArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:iam/getUserSshKey:getUserSshKey", TypeShape.of(GetUserSshKeyResult.class), args, Utilities.withVersion(options)); } + /** + * Use this data source to get information about a SSH public key associated with the specified IAM user. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.iam.IamFunctions;
+     * import com.pulumi.aws.iam.inputs.GetUserSshKeyArgs;
+     * 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 = IamFunctions.getUserSshKey(GetUserSshKeyArgs.builder()
+     *             .encoding("SSH")
+     *             .sshPublicKeyId("APKARUZ32GUTKIGARLXE")
+     *             .username("test-user")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getUserSshKey(GetUserSshKeyArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:iam/getUserSshKey:getUserSshKey", TypeShape.of(GetUserSshKeyResult.class), args, Utilities.withVersion(options)); + } /** * Use this data source to get information about a SSH public key associated with the specified IAM user. * @@ -9004,6 +10594,120 @@ public static Output getUsers(GetUsersArgs args, InvokeOptions o * <!--End PulumiCodeChooser --> * */ + public static Output getUsers(GetUsersArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:iam/getUsers:getUsers", TypeShape.of(GetUsersResult.class), args, Utilities.withVersion(options)); + } + /** + * Use this data source to get the ARNs and Names of IAM Users. + * + * ## Example Usage + * + * ### All users in an account + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.iam.IamFunctions;
+     * import com.pulumi.aws.iam.inputs.GetUsersArgs;
+     * 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 users = IamFunctions.getUsers();
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + * ### Users filtered by name regex + * + * Users whose username contains `abc` + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.iam.IamFunctions;
+     * import com.pulumi.aws.iam.inputs.GetUsersArgs;
+     * 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 users = IamFunctions.getUsers(GetUsersArgs.builder()
+     *             .nameRegex(".*abc.*")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + * ### Users filtered by path prefix + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.iam.IamFunctions;
+     * import com.pulumi.aws.iam.inputs.GetUsersArgs;
+     * 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 users = IamFunctions.getUsers(GetUsersArgs.builder()
+     *             .pathPrefix("/custom-path")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ public static CompletableFuture getUsersPlain(GetUsersPlainArgs args, InvokeOptions options) { return Deployment.getInstance().invokeAsync("aws:iam/getUsers:getUsers", TypeShape.of(GetUsersResult.class), args, Utilities.withVersion(options)); } diff --git a/sdk/java/src/main/java/com/pulumi/aws/iam/OpenIdConnectProvider.java b/sdk/java/src/main/java/com/pulumi/aws/iam/OpenIdConnectProvider.java index b6961a53c92..14d175b9933 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/iam/OpenIdConnectProvider.java +++ b/sdk/java/src/main/java/com/pulumi/aws/iam/OpenIdConnectProvider.java @@ -21,6 +21,8 @@ * * ## Example Usage * + * ### Basic Usage + * * <!--Start PulumiCodeChooser --> *
  * {@code
@@ -56,6 +58,42 @@
  * 
* <!--End PulumiCodeChooser --> * + * ### Without A Thumbprint + * + * <!--Start PulumiCodeChooser --> + *
+ * {@code
+ * package generated_program;
+ * 
+ * import com.pulumi.Context;
+ * import com.pulumi.Pulumi;
+ * import com.pulumi.core.Output;
+ * import com.pulumi.aws.iam.OpenIdConnectProvider;
+ * import com.pulumi.aws.iam.OpenIdConnectProviderArgs;
+ * 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 default_ = new OpenIdConnectProvider("default", OpenIdConnectProviderArgs.builder()
+ *             .url("https://accounts.google.com")
+ *             .clientIdLists("266362248691-342342xasdasdasda-apps.googleusercontent.com")
+ *             .build());
+ * 
+ *     }
+ * }
+ * }
+ * 
+ * <!--End PulumiCodeChooser --> + * * ## Import * * Using `pulumi import`, import IAM OpenID Connect Providers using the `arn`. For example: @@ -68,28 +106,28 @@ @ResourceType(type="aws:iam/openIdConnectProvider:OpenIdConnectProvider") public class OpenIdConnectProvider extends com.pulumi.resources.CustomResource { /** - * The ARN assigned by AWS for this provider. + * ARN assigned by AWS for this provider. * */ @Export(name="arn", refs={String.class}, tree="[0]") private Output arn; /** - * @return The ARN assigned by AWS for this provider. + * @return ARN assigned by AWS for this provider. * */ public Output arn() { return this.arn; } /** - * A list of client IDs (also known as audiences). When a mobile or web app registers with an OpenID Connect provider, they establish a value that identifies the application. (This is the value that's sent as the client_id parameter on OAuth requests.) + * List of client IDs (audiences) that identify the application registered with the OpenID Connect provider. This is the value sent as the `client_id` parameter in OAuth requests. * */ @Export(name="clientIdLists", refs={List.class,String.class}, tree="[0,1]") private Output> clientIdLists; /** - * @return A list of client IDs (also known as audiences). When a mobile or web app registers with an OpenID Connect provider, they establish a value that identifies the application. (This is the value that's sent as the client_id parameter on OAuth requests.) + * @return List of client IDs (audiences) that identify the application registered with the OpenID Connect provider. This is the value sent as the `client_id` parameter in OAuth requests. * */ public Output> clientIdLists() { @@ -110,7 +148,7 @@ public Output>> tags() { return Codegen.optional(this.tags); } /** - * A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. * * @deprecated * Please use `tags` instead. @@ -121,35 +159,27 @@ public Output>> tags() { private Output> tagsAll; /** - * @return A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * @return Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. * */ public Output> tagsAll() { return this.tagsAll; } - /** - * A list of server certificate thumbprints for the OpenID Connect (OIDC) identity provider's server certificate(s). - * - */ @Export(name="thumbprintLists", refs={List.class,String.class}, tree="[0,1]") private Output> thumbprintLists; - /** - * @return A list of server certificate thumbprints for the OpenID Connect (OIDC) identity provider's server certificate(s). - * - */ public Output> thumbprintLists() { return this.thumbprintLists; } /** - * The URL of the identity provider. Corresponds to the _iss_ claim. + * URL of the identity provider, corresponding to the `iss` claim. * */ @Export(name="url", refs={String.class}, tree="[0]") private Output url; /** - * @return The URL of the identity provider. Corresponds to the _iss_ claim. + * @return URL of the identity provider, corresponding to the `iss` claim. * */ public Output url() { diff --git a/sdk/java/src/main/java/com/pulumi/aws/iam/OpenIdConnectProviderArgs.java b/sdk/java/src/main/java/com/pulumi/aws/iam/OpenIdConnectProviderArgs.java index 02c26769f85..cfab7d57158 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/iam/OpenIdConnectProviderArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/iam/OpenIdConnectProviderArgs.java @@ -19,14 +19,14 @@ public final class OpenIdConnectProviderArgs extends com.pulumi.resources.Resour public static final OpenIdConnectProviderArgs Empty = new OpenIdConnectProviderArgs(); /** - * A list of client IDs (also known as audiences). When a mobile or web app registers with an OpenID Connect provider, they establish a value that identifies the application. (This is the value that's sent as the client_id parameter on OAuth requests.) + * List of client IDs (audiences) that identify the application registered with the OpenID Connect provider. This is the value sent as the `client_id` parameter in OAuth requests. * */ @Import(name="clientIdLists", required=true) private Output> clientIdLists; /** - * @return A list of client IDs (also known as audiences). When a mobile or web app registers with an OpenID Connect provider, they establish a value that identifies the application. (This is the value that's sent as the client_id parameter on OAuth requests.) + * @return List of client IDs (audiences) that identify the application registered with the OpenID Connect provider. This is the value sent as the `client_id` parameter in OAuth requests. * */ public Output> clientIdLists() { @@ -48,30 +48,22 @@ public Optional>> tags() { return Optional.ofNullable(this.tags); } - /** - * A list of server certificate thumbprints for the OpenID Connect (OIDC) identity provider's server certificate(s). - * - */ - @Import(name="thumbprintLists", required=true) - private Output> thumbprintLists; + @Import(name="thumbprintLists") + private @Nullable Output> thumbprintLists; - /** - * @return A list of server certificate thumbprints for the OpenID Connect (OIDC) identity provider's server certificate(s). - * - */ - public Output> thumbprintLists() { - return this.thumbprintLists; + public Optional>> thumbprintLists() { + return Optional.ofNullable(this.thumbprintLists); } /** - * The URL of the identity provider. Corresponds to the _iss_ claim. + * URL of the identity provider, corresponding to the `iss` claim. * */ @Import(name="url", required=true) private Output url; /** - * @return The URL of the identity provider. Corresponds to the _iss_ claim. + * @return URL of the identity provider, corresponding to the `iss` claim. * */ public Output url() { @@ -106,7 +98,7 @@ public Builder(OpenIdConnectProviderArgs defaults) { } /** - * @param clientIdLists A list of client IDs (also known as audiences). When a mobile or web app registers with an OpenID Connect provider, they establish a value that identifies the application. (This is the value that's sent as the client_id parameter on OAuth requests.) + * @param clientIdLists List of client IDs (audiences) that identify the application registered with the OpenID Connect provider. This is the value sent as the `client_id` parameter in OAuth requests. * * @return builder * @@ -117,7 +109,7 @@ public Builder clientIdLists(Output> clientIdLists) { } /** - * @param clientIdLists A list of client IDs (also known as audiences). When a mobile or web app registers with an OpenID Connect provider, they establish a value that identifies the application. (This is the value that's sent as the client_id parameter on OAuth requests.) + * @param clientIdLists List of client IDs (audiences) that identify the application registered with the OpenID Connect provider. This is the value sent as the `client_id` parameter in OAuth requests. * * @return builder * @@ -127,7 +119,7 @@ public Builder clientIdLists(List clientIdLists) { } /** - * @param clientIdLists A list of client IDs (also known as audiences). When a mobile or web app registers with an OpenID Connect provider, they establish a value that identifies the application. (This is the value that's sent as the client_id parameter on OAuth requests.) + * @param clientIdLists List of client IDs (audiences) that identify the application registered with the OpenID Connect provider. This is the value sent as the `client_id` parameter in OAuth requests. * * @return builder * @@ -157,39 +149,21 @@ public Builder tags(Map tags) { return tags(Output.of(tags)); } - /** - * @param thumbprintLists A list of server certificate thumbprints for the OpenID Connect (OIDC) identity provider's server certificate(s). - * - * @return builder - * - */ - public Builder thumbprintLists(Output> thumbprintLists) { + public Builder thumbprintLists(@Nullable Output> thumbprintLists) { $.thumbprintLists = thumbprintLists; return this; } - /** - * @param thumbprintLists A list of server certificate thumbprints for the OpenID Connect (OIDC) identity provider's server certificate(s). - * - * @return builder - * - */ public Builder thumbprintLists(List thumbprintLists) { return thumbprintLists(Output.of(thumbprintLists)); } - /** - * @param thumbprintLists A list of server certificate thumbprints for the OpenID Connect (OIDC) identity provider's server certificate(s). - * - * @return builder - * - */ public Builder thumbprintLists(String... thumbprintLists) { return thumbprintLists(List.of(thumbprintLists)); } /** - * @param url The URL of the identity provider. Corresponds to the _iss_ claim. + * @param url URL of the identity provider, corresponding to the `iss` claim. * * @return builder * @@ -200,7 +174,7 @@ public Builder url(Output url) { } /** - * @param url The URL of the identity provider. Corresponds to the _iss_ claim. + * @param url URL of the identity provider, corresponding to the `iss` claim. * * @return builder * @@ -213,9 +187,6 @@ public OpenIdConnectProviderArgs build() { if ($.clientIdLists == null) { throw new MissingRequiredPropertyException("OpenIdConnectProviderArgs", "clientIdLists"); } - if ($.thumbprintLists == null) { - throw new MissingRequiredPropertyException("OpenIdConnectProviderArgs", "thumbprintLists"); - } if ($.url == null) { throw new MissingRequiredPropertyException("OpenIdConnectProviderArgs", "url"); } diff --git a/sdk/java/src/main/java/com/pulumi/aws/iam/inputs/OpenIdConnectProviderState.java b/sdk/java/src/main/java/com/pulumi/aws/iam/inputs/OpenIdConnectProviderState.java index af47f318500..a08a451ed24 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/iam/inputs/OpenIdConnectProviderState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/iam/inputs/OpenIdConnectProviderState.java @@ -18,14 +18,14 @@ public final class OpenIdConnectProviderState extends com.pulumi.resources.Resou public static final OpenIdConnectProviderState Empty = new OpenIdConnectProviderState(); /** - * The ARN assigned by AWS for this provider. + * ARN assigned by AWS for this provider. * */ @Import(name="arn") private @Nullable Output arn; /** - * @return The ARN assigned by AWS for this provider. + * @return ARN assigned by AWS for this provider. * */ public Optional> arn() { @@ -33,14 +33,14 @@ public Optional> arn() { } /** - * A list of client IDs (also known as audiences). When a mobile or web app registers with an OpenID Connect provider, they establish a value that identifies the application. (This is the value that's sent as the client_id parameter on OAuth requests.) + * List of client IDs (audiences) that identify the application registered with the OpenID Connect provider. This is the value sent as the `client_id` parameter in OAuth requests. * */ @Import(name="clientIdLists") private @Nullable Output> clientIdLists; /** - * @return A list of client IDs (also known as audiences). When a mobile or web app registers with an OpenID Connect provider, they establish a value that identifies the application. (This is the value that's sent as the client_id parameter on OAuth requests.) + * @return List of client IDs (audiences) that identify the application registered with the OpenID Connect provider. This is the value sent as the `client_id` parameter in OAuth requests. * */ public Optional>> clientIdLists() { @@ -63,7 +63,7 @@ public Optional>> tags() { } /** - * A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. * * @deprecated * Please use `tags` instead. @@ -74,7 +74,7 @@ public Optional>> tags() { private @Nullable Output> tagsAll; /** - * @return A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * @return Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. * * @deprecated * Please use `tags` instead. @@ -85,30 +85,22 @@ public Optional>> tagsAll() { return Optional.ofNullable(this.tagsAll); } - /** - * A list of server certificate thumbprints for the OpenID Connect (OIDC) identity provider's server certificate(s). - * - */ @Import(name="thumbprintLists") private @Nullable Output> thumbprintLists; - /** - * @return A list of server certificate thumbprints for the OpenID Connect (OIDC) identity provider's server certificate(s). - * - */ public Optional>> thumbprintLists() { return Optional.ofNullable(this.thumbprintLists); } /** - * The URL of the identity provider. Corresponds to the _iss_ claim. + * URL of the identity provider, corresponding to the `iss` claim. * */ @Import(name="url") private @Nullable Output url; /** - * @return The URL of the identity provider. Corresponds to the _iss_ claim. + * @return URL of the identity provider, corresponding to the `iss` claim. * */ public Optional> url() { @@ -145,7 +137,7 @@ public Builder(OpenIdConnectProviderState defaults) { } /** - * @param arn The ARN assigned by AWS for this provider. + * @param arn ARN assigned by AWS for this provider. * * @return builder * @@ -156,7 +148,7 @@ public Builder arn(@Nullable Output arn) { } /** - * @param arn The ARN assigned by AWS for this provider. + * @param arn ARN assigned by AWS for this provider. * * @return builder * @@ -166,7 +158,7 @@ public Builder arn(String arn) { } /** - * @param clientIdLists A list of client IDs (also known as audiences). When a mobile or web app registers with an OpenID Connect provider, they establish a value that identifies the application. (This is the value that's sent as the client_id parameter on OAuth requests.) + * @param clientIdLists List of client IDs (audiences) that identify the application registered with the OpenID Connect provider. This is the value sent as the `client_id` parameter in OAuth requests. * * @return builder * @@ -177,7 +169,7 @@ public Builder clientIdLists(@Nullable Output> clientIdLists) { } /** - * @param clientIdLists A list of client IDs (also known as audiences). When a mobile or web app registers with an OpenID Connect provider, they establish a value that identifies the application. (This is the value that's sent as the client_id parameter on OAuth requests.) + * @param clientIdLists List of client IDs (audiences) that identify the application registered with the OpenID Connect provider. This is the value sent as the `client_id` parameter in OAuth requests. * * @return builder * @@ -187,7 +179,7 @@ public Builder clientIdLists(List clientIdLists) { } /** - * @param clientIdLists A list of client IDs (also known as audiences). When a mobile or web app registers with an OpenID Connect provider, they establish a value that identifies the application. (This is the value that's sent as the client_id parameter on OAuth requests.) + * @param clientIdLists List of client IDs (audiences) that identify the application registered with the OpenID Connect provider. This is the value sent as the `client_id` parameter in OAuth requests. * * @return builder * @@ -218,7 +210,7 @@ public Builder tags(Map tags) { } /** - * @param tagsAll A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * @param tagsAll Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. * * @return builder * @@ -233,7 +225,7 @@ public Builder tagsAll(@Nullable Output> tagsAll) { } /** - * @param tagsAll A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * @param tagsAll Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. * * @return builder * @@ -246,39 +238,21 @@ public Builder tagsAll(Map tagsAll) { return tagsAll(Output.of(tagsAll)); } - /** - * @param thumbprintLists A list of server certificate thumbprints for the OpenID Connect (OIDC) identity provider's server certificate(s). - * - * @return builder - * - */ public Builder thumbprintLists(@Nullable Output> thumbprintLists) { $.thumbprintLists = thumbprintLists; return this; } - /** - * @param thumbprintLists A list of server certificate thumbprints for the OpenID Connect (OIDC) identity provider's server certificate(s). - * - * @return builder - * - */ public Builder thumbprintLists(List thumbprintLists) { return thumbprintLists(Output.of(thumbprintLists)); } - /** - * @param thumbprintLists A list of server certificate thumbprints for the OpenID Connect (OIDC) identity provider's server certificate(s). - * - * @return builder - * - */ public Builder thumbprintLists(String... thumbprintLists) { return thumbprintLists(List.of(thumbprintLists)); } /** - * @param url The URL of the identity provider. Corresponds to the _iss_ claim. + * @param url URL of the identity provider, corresponding to the `iss` claim. * * @return builder * @@ -289,7 +263,7 @@ public Builder url(@Nullable Output url) { } /** - * @param url The URL of the identity provider. Corresponds to the _iss_ claim. + * @param url URL of the identity provider, corresponding to the `iss` claim. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/identitystore/IdentitystoreFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/identitystore/IdentitystoreFunctions.java index 8a64db93c08..7a91876bd1c 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/identitystore/IdentitystoreFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/identitystore/IdentitystoreFunctions.java @@ -17,6 +17,7 @@ import com.pulumi.core.TypeShape; import com.pulumi.deployment.Deployment; import com.pulumi.deployment.InvokeOptions; +import com.pulumi.deployment.InvokeOutputOptions; import java.util.concurrent.CompletableFuture; public final class IdentitystoreFunctions { @@ -182,6 +183,60 @@ public static CompletableFuture getGroupPlain(GetGroupPlainArgs public static Output getGroup(GetGroupArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:identitystore/getGroup:getGroup", TypeShape.of(GetGroupResult.class), args, Utilities.withVersion(options)); } + /** + * Use this data source to get an Identity Store Group. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.ssoadmin.SsoadminFunctions;
+     * import com.pulumi.aws.identitystore.IdentitystoreFunctions;
+     * import com.pulumi.aws.identitystore.inputs.GetGroupArgs;
+     * import com.pulumi.aws.identitystore.inputs.GetGroupAlternateIdentifierArgs;
+     * import com.pulumi.aws.identitystore.inputs.GetGroupAlternateIdentifierUniqueAttributeArgs;
+     * 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 = SsoadminFunctions.getInstances();
+     * 
+     *         final var exampleGetGroup = IdentitystoreFunctions.getGroup(GetGroupArgs.builder()
+     *             .identityStoreId(example.applyValue(getInstancesResult -> getInstancesResult.identityStoreIds()[0]))
+     *             .alternateIdentifier(GetGroupAlternateIdentifierArgs.builder()
+     *                 .uniqueAttribute(GetGroupAlternateIdentifierUniqueAttributeArgs.builder()
+     *                     .attributePath("DisplayName")
+     *                     .attributeValue("ExampleGroup")
+     *                     .build())
+     *                 .build())
+     *             .build());
+     * 
+     *         ctx.export("groupId", exampleGetGroup.applyValue(getGroupResult -> getGroupResult.groupId()));
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getGroup(GetGroupArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:identitystore/getGroup:getGroup", TypeShape.of(GetGroupResult.class), args, Utilities.withVersion(options)); + } /** * Use this data source to get an Identity Store Group. * @@ -377,6 +432,53 @@ public static CompletableFuture getGroupsPlain(GetGroupsPlainAr public static Output getGroups(GetGroupsArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:identitystore/getGroups:getGroups", TypeShape.of(GetGroupsResult.class), args, Utilities.withVersion(options)); } + /** + * Data source for managing an AWS SSO Identity Store Groups. + * + * ## Example Usage + * + * ### Basic Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.ssoadmin.SsoadminFunctions;
+     * import com.pulumi.aws.identitystore.IdentitystoreFunctions;
+     * import com.pulumi.aws.identitystore.inputs.GetGroupsArgs;
+     * 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 = SsoadminFunctions.getInstances();
+     * 
+     *         final var exampleGetGroups = IdentitystoreFunctions.getGroups(GetGroupsArgs.builder()
+     *             .identityStoreId(example.applyValue(getInstancesResult -> getInstancesResult.identityStoreIds()[0]))
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getGroups(GetGroupsArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:identitystore/getGroups:getGroups", TypeShape.of(GetGroupsResult.class), args, Utilities.withVersion(options)); + } /** * Data source for managing an AWS SSO Identity Store Groups. * @@ -586,6 +688,60 @@ public static CompletableFuture getUserPlain(GetUserPlainArgs arg public static Output getUser(GetUserArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:identitystore/getUser:getUser", TypeShape.of(GetUserResult.class), args, Utilities.withVersion(options)); } + /** + * Use this data source to get an Identity Store User. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.ssoadmin.SsoadminFunctions;
+     * import com.pulumi.aws.identitystore.IdentitystoreFunctions;
+     * import com.pulumi.aws.identitystore.inputs.GetUserArgs;
+     * import com.pulumi.aws.identitystore.inputs.GetUserAlternateIdentifierArgs;
+     * import com.pulumi.aws.identitystore.inputs.GetUserAlternateIdentifierUniqueAttributeArgs;
+     * 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 = SsoadminFunctions.getInstances();
+     * 
+     *         final var exampleGetUser = IdentitystoreFunctions.getUser(GetUserArgs.builder()
+     *             .identityStoreId(example.applyValue(getInstancesResult -> getInstancesResult.identityStoreIds()[0]))
+     *             .alternateIdentifier(GetUserAlternateIdentifierArgs.builder()
+     *                 .uniqueAttribute(GetUserAlternateIdentifierUniqueAttributeArgs.builder()
+     *                     .attributePath("UserName")
+     *                     .attributeValue("ExampleUser")
+     *                     .build())
+     *                 .build())
+     *             .build());
+     * 
+     *         ctx.export("userId", exampleGetUser.applyValue(getUserResult -> getUserResult.userId()));
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getUser(GetUserArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:identitystore/getUser:getUser", TypeShape.of(GetUserResult.class), args, Utilities.withVersion(options)); + } /** * Use this data source to get an Identity Store User. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/imagebuilder/ImagebuilderFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/imagebuilder/ImagebuilderFunctions.java index 5ed16323d32..e4e74a06153 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/imagebuilder/ImagebuilderFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/imagebuilder/ImagebuilderFunctions.java @@ -47,6 +47,7 @@ import com.pulumi.core.TypeShape; import com.pulumi.deployment.Deployment; import com.pulumi.deployment.InvokeOptions; +import com.pulumi.deployment.InvokeOutputOptions; import java.util.concurrent.CompletableFuture; public final class ImagebuilderFunctions { @@ -176,6 +177,48 @@ public static CompletableFuture getComponentPlain(GetCompone public static Output getComponent(GetComponentArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:imagebuilder/getComponent:getComponent", TypeShape.of(GetComponentResult.class), args, Utilities.withVersion(options)); } + /** + * Provides details about an Image Builder Component. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.imagebuilder.ImagebuilderFunctions;
+     * import com.pulumi.aws.imagebuilder.inputs.GetComponentArgs;
+     * 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 = ImagebuilderFunctions.getComponent(GetComponentArgs.builder()
+     *             .arn("arn:aws:imagebuilder:us-west-2:aws:component/amazon-cloudwatch-agent-linux/1.0.0")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getComponent(GetComponentArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:imagebuilder/getComponent:getComponent", TypeShape.of(GetComponentResult.class), args, Utilities.withVersion(options)); + } /** * Provides details about an Image Builder Component. * @@ -448,6 +491,52 @@ public static CompletableFuture getComponentsPlain(GetCompo public static Output getComponents(GetComponentsArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:imagebuilder/getComponents:getComponents", TypeShape.of(GetComponentsResult.class), args, Utilities.withVersion(options)); } + /** + * Use this data source to get the ARNs and names of Image Builder Components matching the specified criteria. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.imagebuilder.ImagebuilderFunctions;
+     * import com.pulumi.aws.imagebuilder.inputs.GetComponentsArgs;
+     * 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 = ImagebuilderFunctions.getComponents(GetComponentsArgs.builder()
+     *             .owner("Self")
+     *             .filters(GetComponentsFilterArgs.builder()
+     *                 .name("platform")
+     *                 .values("Linux")
+     *                 .build())
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getComponents(GetComponentsArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:imagebuilder/getComponents:getComponents", TypeShape.of(GetComponentsResult.class), args, Utilities.withVersion(options)); + } /** * Use this data source to get the ARNs and names of Image Builder Components matching the specified criteria. * @@ -620,6 +709,48 @@ public static CompletableFuture getContainerRecipePlai public static Output getContainerRecipe(GetContainerRecipeArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:imagebuilder/getContainerRecipe:getContainerRecipe", TypeShape.of(GetContainerRecipeResult.class), args, Utilities.withVersion(options)); } + /** + * Provides details about an Image builder Container Recipe. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.imagebuilder.ImagebuilderFunctions;
+     * import com.pulumi.aws.imagebuilder.inputs.GetContainerRecipeArgs;
+     * 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 = ImagebuilderFunctions.getContainerRecipe(GetContainerRecipeArgs.builder()
+     *             .arn("arn:aws:imagebuilder:us-east-1:aws:container-recipe/example/1.0.0")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getContainerRecipe(GetContainerRecipeArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:imagebuilder/getContainerRecipe:getContainerRecipe", TypeShape.of(GetContainerRecipeResult.class), args, Utilities.withVersion(options)); + } /** * Provides details about an Image builder Container Recipe. * @@ -892,6 +1023,52 @@ public static CompletableFuture getContainerRecipesPl public static Output getContainerRecipes(GetContainerRecipesArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:imagebuilder/getContainerRecipes:getContainerRecipes", TypeShape.of(GetContainerRecipesResult.class), args, Utilities.withVersion(options)); } + /** + * Use this data source to get the ARNs and names of Image Builder Container Recipes matching the specified criteria. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.imagebuilder.ImagebuilderFunctions;
+     * import com.pulumi.aws.imagebuilder.inputs.GetContainerRecipesArgs;
+     * 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 = ImagebuilderFunctions.getContainerRecipes(GetContainerRecipesArgs.builder()
+     *             .owner("Self")
+     *             .filters(GetContainerRecipesFilterArgs.builder()
+     *                 .name("platform")
+     *                 .values("Linux")
+     *                 .build())
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getContainerRecipes(GetContainerRecipesArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:imagebuilder/getContainerRecipes:getContainerRecipes", TypeShape.of(GetContainerRecipesResult.class), args, Utilities.withVersion(options)); + } /** * Use this data source to get the ARNs and names of Image Builder Container Recipes matching the specified criteria. * @@ -1064,6 +1241,48 @@ public static CompletableFuture getDistribut public static Output getDistributionConfiguration(GetDistributionConfigurationArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:imagebuilder/getDistributionConfiguration:getDistributionConfiguration", TypeShape.of(GetDistributionConfigurationResult.class), args, Utilities.withVersion(options)); } + /** + * Provides details about an Image Builder Distribution Configuration. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.imagebuilder.ImagebuilderFunctions;
+     * import com.pulumi.aws.imagebuilder.inputs.GetDistributionConfigurationArgs;
+     * 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 = ImagebuilderFunctions.getDistributionConfiguration(GetDistributionConfigurationArgs.builder()
+     *             .arn("arn:aws:imagebuilder:us-west-2:aws:distribution-configuration/example")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getDistributionConfiguration(GetDistributionConfigurationArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:imagebuilder/getDistributionConfiguration:getDistributionConfiguration", TypeShape.of(GetDistributionConfigurationResult.class), args, Utilities.withVersion(options)); + } /** * Provides details about an Image Builder Distribution Configuration. * @@ -1373,8 +1592,141 @@ public static Output getDistributionConfigu * <!--End PulumiCodeChooser --> * */ - public static CompletableFuture getDistributionConfigurationsPlain(GetDistributionConfigurationsPlainArgs args, InvokeOptions options) { - return Deployment.getInstance().invokeAsync("aws:imagebuilder/getDistributionConfigurations:getDistributionConfigurations", TypeShape.of(GetDistributionConfigurationsResult.class), args, Utilities.withVersion(options)); + public static Output getDistributionConfigurations(GetDistributionConfigurationsArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:imagebuilder/getDistributionConfigurations:getDistributionConfigurations", TypeShape.of(GetDistributionConfigurationsResult.class), args, Utilities.withVersion(options)); + } + /** + * Use this data source to get the ARNs and names of Image Builder Distribution Configurations matching the specified criteria. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.imagebuilder.ImagebuilderFunctions;
+     * import com.pulumi.aws.imagebuilder.inputs.GetDistributionConfigurationsArgs;
+     * 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 = ImagebuilderFunctions.getDistributionConfigurations(GetDistributionConfigurationsArgs.builder()
+     *             .filters(GetDistributionConfigurationsFilterArgs.builder()
+     *                 .name("name")
+     *                 .values("example")
+     *                 .build())
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static CompletableFuture getDistributionConfigurationsPlain(GetDistributionConfigurationsPlainArgs args, InvokeOptions options) { + return Deployment.getInstance().invokeAsync("aws:imagebuilder/getDistributionConfigurations:getDistributionConfigurations", TypeShape.of(GetDistributionConfigurationsResult.class), args, Utilities.withVersion(options)); + } + /** + * Provides details about an Image Builder Image. + * + * ## Example Usage + * + * ### Latest + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.imagebuilder.ImagebuilderFunctions;
+     * import com.pulumi.aws.imagebuilder.inputs.GetImageArgs;
+     * 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 = ImagebuilderFunctions.getImage(GetImageArgs.builder()
+     *             .arn("arn:aws:imagebuilder:us-west-2:aws:image/amazon-linux-2-x86/x.x.x")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getImage(GetImageArgs args) { + return getImage(args, InvokeOptions.Empty); + } + /** + * Provides details about an Image Builder Image. + * + * ## Example Usage + * + * ### Latest + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.imagebuilder.ImagebuilderFunctions;
+     * import com.pulumi.aws.imagebuilder.inputs.GetImageArgs;
+     * 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 = ImagebuilderFunctions.getImage(GetImageArgs.builder()
+     *             .arn("arn:aws:imagebuilder:us-west-2:aws:image/amazon-linux-2-x86/x.x.x")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static CompletableFuture getImagePlain(GetImagePlainArgs args) { + return getImagePlain(args, InvokeOptions.Empty); } /** * Provides details about an Image Builder Image. @@ -1417,8 +1769,8 @@ public static CompletableFuture getDistribu * <!--End PulumiCodeChooser --> * */ - public static Output getImage(GetImageArgs args) { - return getImage(args, InvokeOptions.Empty); + public static Output getImage(GetImageArgs args, InvokeOptions options) { + return Deployment.getInstance().invoke("aws:imagebuilder/getImage:getImage", TypeShape.of(GetImageResult.class), args, Utilities.withVersion(options)); } /** * Provides details about an Image Builder Image. @@ -1461,8 +1813,8 @@ public static Output getImage(GetImageArgs args) { * <!--End PulumiCodeChooser --> * */ - public static CompletableFuture getImagePlain(GetImagePlainArgs args) { - return getImagePlain(args, InvokeOptions.Empty); + public static Output getImage(GetImageArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:imagebuilder/getImage:getImage", TypeShape.of(GetImageResult.class), args, Utilities.withVersion(options)); } /** * Provides details about an Image Builder Image. @@ -1505,16 +1857,14 @@ public static CompletableFuture getImagePlain(GetImagePlainArgs * <!--End PulumiCodeChooser --> * */ - public static Output getImage(GetImageArgs args, InvokeOptions options) { - return Deployment.getInstance().invoke("aws:imagebuilder/getImage:getImage", TypeShape.of(GetImageResult.class), args, Utilities.withVersion(options)); + public static CompletableFuture getImagePlain(GetImagePlainArgs args, InvokeOptions options) { + return Deployment.getInstance().invokeAsync("aws:imagebuilder/getImage:getImage", TypeShape.of(GetImageResult.class), args, Utilities.withVersion(options)); } /** - * Provides details about an Image Builder Image. + * Provides details about an Image Builder Image Pipeline. * * ## Example Usage * - * ### Latest - * * <!--Start PulumiCodeChooser --> *
      * {@code
@@ -1524,7 +1874,7 @@ public static Output getImage(GetImageArgs args, InvokeOptions o
      * import com.pulumi.Pulumi;
      * import com.pulumi.core.Output;
      * import com.pulumi.aws.imagebuilder.ImagebuilderFunctions;
-     * import com.pulumi.aws.imagebuilder.inputs.GetImageArgs;
+     * import com.pulumi.aws.imagebuilder.inputs.GetImagePipelineArgs;
      * import java.util.List;
      * import java.util.ArrayList;
      * import java.util.Map;
@@ -1538,8 +1888,8 @@ public static Output getImage(GetImageArgs args, InvokeOptions o
      *     }
      * 
      *     public static void stack(Context ctx) {
-     *         final var example = ImagebuilderFunctions.getImage(GetImageArgs.builder()
-     *             .arn("arn:aws:imagebuilder:us-west-2:aws:image/amazon-linux-2-x86/x.x.x")
+     *         final var example = ImagebuilderFunctions.getImagePipeline(GetImagePipelineArgs.builder()
+     *             .arn("arn:aws:imagebuilder:us-west-2:aws:image-pipeline/example")
      *             .build());
      * 
      *     }
@@ -1549,8 +1899,8 @@ public static Output getImage(GetImageArgs args, InvokeOptions o
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static CompletableFuture getImagePlain(GetImagePlainArgs args, InvokeOptions options) {
-        return Deployment.getInstance().invokeAsync("aws:imagebuilder/getImage:getImage", TypeShape.of(GetImageResult.class), args, Utilities.withVersion(options));
+    public static Output getImagePipeline(GetImagePipelineArgs args) {
+        return getImagePipeline(args, InvokeOptions.Empty);
     }
     /**
      * Provides details about an Image Builder Image Pipeline.
@@ -1591,8 +1941,8 @@ public static CompletableFuture getImagePlain(GetImagePlainArgs
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static Output getImagePipeline(GetImagePipelineArgs args) {
-        return getImagePipeline(args, InvokeOptions.Empty);
+    public static CompletableFuture getImagePipelinePlain(GetImagePipelinePlainArgs args) {
+        return getImagePipelinePlain(args, InvokeOptions.Empty);
     }
     /**
      * Provides details about an Image Builder Image Pipeline.
@@ -1633,8 +1983,8 @@ public static Output getImagePipeline(GetImagePipelineAr
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static CompletableFuture getImagePipelinePlain(GetImagePipelinePlainArgs args) {
-        return getImagePipelinePlain(args, InvokeOptions.Empty);
+    public static Output getImagePipeline(GetImagePipelineArgs args, InvokeOptions options) {
+        return Deployment.getInstance().invoke("aws:imagebuilder/getImagePipeline:getImagePipeline", TypeShape.of(GetImagePipelineResult.class), args, Utilities.withVersion(options));
     }
     /**
      * Provides details about an Image Builder Image Pipeline.
@@ -1675,7 +2025,7 @@ public static CompletableFuture getImagePipelinePlain(Ge
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static Output getImagePipeline(GetImagePipelineArgs args, InvokeOptions options) {
+    public static Output getImagePipeline(GetImagePipelineArgs args, InvokeOutputOptions options) {
         return Deployment.getInstance().invoke("aws:imagebuilder/getImagePipeline:getImagePipeline", TypeShape.of(GetImagePipelineResult.class), args, Utilities.withVersion(options));
     }
     /**
@@ -1945,6 +2295,51 @@ public static CompletableFuture getImagePipelinesPlain(
     public static Output getImagePipelines(GetImagePipelinesArgs args, InvokeOptions options) {
         return Deployment.getInstance().invoke("aws:imagebuilder/getImagePipelines:getImagePipelines", TypeShape.of(GetImagePipelinesResult.class), args, Utilities.withVersion(options));
     }
+    /**
+     * Use this data source to get the ARNs and names of Image Builder Image Pipelines matching the specified criteria.
+     * 
+     * ## Example Usage
+     * 
+     * <!--Start PulumiCodeChooser -->
+     * 
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.imagebuilder.ImagebuilderFunctions;
+     * import com.pulumi.aws.imagebuilder.inputs.GetImagePipelinesArgs;
+     * 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 = ImagebuilderFunctions.getImagePipelines(GetImagePipelinesArgs.builder()
+     *             .filters(GetImagePipelinesFilterArgs.builder()
+     *                 .name("name")
+     *                 .values("example")
+     *                 .build())
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getImagePipelines(GetImagePipelinesArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:imagebuilder/getImagePipelines:getImagePipelines", TypeShape.of(GetImagePipelinesResult.class), args, Utilities.withVersion(options)); + } /** * Use this data source to get the ARNs and names of Image Builder Image Pipelines matching the specified criteria. * @@ -2116,6 +2511,48 @@ public static CompletableFuture getImageRecipePlain(GetIma public static Output getImageRecipe(GetImageRecipeArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:imagebuilder/getImageRecipe:getImageRecipe", TypeShape.of(GetImageRecipeResult.class), args, Utilities.withVersion(options)); } + /** + * Provides details about an Image Builder Image Recipe. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.imagebuilder.ImagebuilderFunctions;
+     * import com.pulumi.aws.imagebuilder.inputs.GetImageRecipeArgs;
+     * 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 = ImagebuilderFunctions.getImageRecipe(GetImageRecipeArgs.builder()
+     *             .arn("arn:aws:imagebuilder:us-east-1:aws:image-recipe/example/1.0.0")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getImageRecipe(GetImageRecipeArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:imagebuilder/getImageRecipe:getImageRecipe", TypeShape.of(GetImageRecipeResult.class), args, Utilities.withVersion(options)); + } /** * Provides details about an Image Builder Image Recipe. * @@ -2388,6 +2825,52 @@ public static CompletableFuture getImageRecipesPlain(GetI public static Output getImageRecipes(GetImageRecipesArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:imagebuilder/getImageRecipes:getImageRecipes", TypeShape.of(GetImageRecipesResult.class), args, Utilities.withVersion(options)); } + /** + * Use this data source to get the ARNs and names of Image Builder Image Recipes matching the specified criteria. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.imagebuilder.ImagebuilderFunctions;
+     * import com.pulumi.aws.imagebuilder.inputs.GetImageRecipesArgs;
+     * 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 = ImagebuilderFunctions.getImageRecipes(GetImageRecipesArgs.builder()
+     *             .owner("Self")
+     *             .filters(GetImageRecipesFilterArgs.builder()
+     *                 .name("platform")
+     *                 .values("Linux")
+     *                 .build())
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getImageRecipes(GetImageRecipesArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:imagebuilder/getImageRecipes:getImageRecipes", TypeShape.of(GetImageRecipesResult.class), args, Utilities.withVersion(options)); + } /** * Use this data source to get the ARNs and names of Image Builder Image Recipes matching the specified criteria. * @@ -2560,6 +3043,48 @@ public static CompletableFuture getInfrast public static Output getInfrastructureConfiguration(GetInfrastructureConfigurationArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:imagebuilder/getInfrastructureConfiguration:getInfrastructureConfiguration", TypeShape.of(GetInfrastructureConfigurationResult.class), args, Utilities.withVersion(options)); } + /** + * Provides details about an Image Builder Infrastructure Configuration. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.imagebuilder.ImagebuilderFunctions;
+     * import com.pulumi.aws.imagebuilder.inputs.GetInfrastructureConfigurationArgs;
+     * 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 = ImagebuilderFunctions.getInfrastructureConfiguration(GetInfrastructureConfigurationArgs.builder()
+     *             .arn("arn:aws:imagebuilder:us-west-2:aws:infrastructure-configuration/example")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getInfrastructureConfiguration(GetInfrastructureConfigurationArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:imagebuilder/getInfrastructureConfiguration:getInfrastructureConfiguration", TypeShape.of(GetInfrastructureConfigurationResult.class), args, Utilities.withVersion(options)); + } /** * Provides details about an Image Builder Infrastructure Configuration. * @@ -2827,6 +3352,51 @@ public static CompletableFuture getInfras public static Output getInfrastructureConfigurations(GetInfrastructureConfigurationsArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:imagebuilder/getInfrastructureConfigurations:getInfrastructureConfigurations", TypeShape.of(GetInfrastructureConfigurationsResult.class), args, Utilities.withVersion(options)); } + /** + * Use this data source to get the ARNs and names of Image Builder Infrastructure Configurations matching the specified criteria. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.imagebuilder.ImagebuilderFunctions;
+     * import com.pulumi.aws.imagebuilder.inputs.GetInfrastructureConfigurationsArgs;
+     * 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 = ImagebuilderFunctions.getInfrastructureConfigurations(GetInfrastructureConfigurationsArgs.builder()
+     *             .filters(GetInfrastructureConfigurationsFilterArgs.builder()
+     *                 .name("name")
+     *                 .values("example")
+     *                 .build())
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getInfrastructureConfigurations(GetInfrastructureConfigurationsArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:imagebuilder/getInfrastructureConfigurations:getInfrastructureConfigurations", TypeShape.of(GetInfrastructureConfigurationsResult.class), args, Utilities.withVersion(options)); + } /** * Use this data source to get the ARNs and names of Image Builder Infrastructure Configurations matching the specified criteria. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/inspector/InspectorFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/inspector/InspectorFunctions.java index 8ffa8a78a54..8a49e34dc65 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/inspector/InspectorFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/inspector/InspectorFunctions.java @@ -9,6 +9,7 @@ import com.pulumi.core.TypeShape; import com.pulumi.deployment.Deployment; import com.pulumi.deployment.InvokeOptions; +import com.pulumi.deployment.InvokeOutputOptions; import com.pulumi.resources.InvokeArgs; import java.util.concurrent.CompletableFuture; @@ -338,6 +339,71 @@ public static CompletableFuture getRulesPackagesPlain(In public static Output getRulesPackages(InvokeArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:inspector/getRulesPackages:getRulesPackages", TypeShape.of(GetRulesPackagesResult.class), args, Utilities.withVersion(options)); } + /** + * The Amazon Inspector Classic Rules Packages data source allows access to the list of AWS + * Inspector Rules Packages which can be used by Amazon Inspector Classic within the region + * configured in the provider. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.inspector.InspectorFunctions;
+     * import com.pulumi.aws.inspector.ResourceGroup;
+     * import com.pulumi.aws.inspector.ResourceGroupArgs;
+     * import com.pulumi.aws.inspector.AssessmentTarget;
+     * import com.pulumi.aws.inspector.AssessmentTargetArgs;
+     * import com.pulumi.aws.inspector.AssessmentTemplate;
+     * import com.pulumi.aws.inspector.AssessmentTemplateArgs;
+     * 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) {
+     *         // Declare the data source
+     *         final var rules = InspectorFunctions.getRulesPackages();
+     * 
+     *         // e.g., Use in aws_inspector_assessment_template
+     *         var group = new ResourceGroup("group", ResourceGroupArgs.builder()
+     *             .tags(Map.of("test", "test"))
+     *             .build());
+     * 
+     *         var assessment = new AssessmentTarget("assessment", AssessmentTargetArgs.builder()
+     *             .name("test")
+     *             .resourceGroupArn(group.arn())
+     *             .build());
+     * 
+     *         var assessmentAssessmentTemplate = new AssessmentTemplate("assessmentAssessmentTemplate", AssessmentTemplateArgs.builder()
+     *             .name("Test")
+     *             .targetArn(assessment.arn())
+     *             .duration("60")
+     *             .rulesPackageArns(rules.applyValue(getRulesPackagesResult -> getRulesPackagesResult.arns()))
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getRulesPackages(InvokeArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:inspector/getRulesPackages:getRulesPackages", TypeShape.of(GetRulesPackagesResult.class), args, Utilities.withVersion(options)); + } /** * The Amazon Inspector Classic Rules Packages data source allows access to the list of AWS * Inspector Rules Packages which can be used by Amazon Inspector Classic within the region diff --git a/sdk/java/src/main/java/com/pulumi/aws/iot/IotFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/iot/IotFunctions.java index 2c0582773d6..c7970ff9621 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/iot/IotFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/iot/IotFunctions.java @@ -12,6 +12,7 @@ import com.pulumi.core.TypeShape; import com.pulumi.deployment.Deployment; import com.pulumi.deployment.InvokeOptions; +import com.pulumi.deployment.InvokeOutputOptions; import com.pulumi.resources.InvokeArgs; import java.util.concurrent.CompletableFuture; @@ -281,6 +282,59 @@ public static CompletableFuture getEndpointPlain(GetEndpointP public static Output getEndpoint(GetEndpointArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:iot/getEndpoint:getEndpoint", TypeShape.of(GetEndpointResult.class), args, Utilities.withVersion(options)); } + /** + * Returns a unique endpoint specific to the AWS account making the call. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.iot.IotFunctions;
+     * import com.pulumi.aws.iot.inputs.GetEndpointArgs;
+     * import com.pulumi.kubernetes.core_v1.Pod;
+     * import com.pulumi.kubernetes.core_v1.PodArgs;
+     * import com.pulumi.kubernetes.meta_v1.inputs.ObjectMetaArgs;
+     * import com.pulumi.kubernetes.core_v1.inputs.PodSpecArgs;
+     * 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 = IotFunctions.getEndpoint();
+     * 
+     *         var agent = new Pod("agent", PodArgs.builder()
+     *             .metadata(ObjectMetaArgs.builder()
+     *                 .name("my-device")
+     *                 .build())
+     *             .spec(PodSpecArgs.builder()
+     *                 .container(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference))
+     *                 .build())
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getEndpoint(GetEndpointArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:iot/getEndpoint:getEndpoint", TypeShape.of(GetEndpointResult.class), args, Utilities.withVersion(options)); + } /** * Returns a unique endpoint specific to the AWS account making the call. * @@ -614,6 +668,62 @@ public static CompletableFuture getRegistrationCodePl public static Output getRegistrationCode(InvokeArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:iot/getRegistrationCode:getRegistrationCode", TypeShape.of(GetRegistrationCodeResult.class), args, Utilities.withVersion(options)); } + /** + * Gets a registration code used to register a CA certificate with AWS IoT. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.iot.IotFunctions;
+     * import com.pulumi.tls.PrivateKey;
+     * import com.pulumi.tls.PrivateKeyArgs;
+     * import com.pulumi.tls.CertRequest;
+     * import com.pulumi.tls.CertRequestArgs;
+     * import com.pulumi.tls.inputs.CertRequestSubjectArgs;
+     * 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 = IotFunctions.getRegistrationCode();
+     * 
+     *         var verification = new PrivateKey("verification", PrivateKeyArgs.builder()
+     *             .algorithm("RSA")
+     *             .build());
+     * 
+     *         var verificationCertRequest = new CertRequest("verificationCertRequest", CertRequestArgs.builder()
+     *             .keyAlgorithm("RSA")
+     *             .privateKeyPem(verification.privateKeyPem())
+     *             .subject(CertRequestSubjectArgs.builder()
+     *                 .commonName(example.applyValue(getRegistrationCodeResult -> getRegistrationCodeResult.registrationCode()))
+     *                 .build())
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getRegistrationCode(InvokeArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:iot/getRegistrationCode:getRegistrationCode", TypeShape.of(GetRegistrationCodeResult.class), args, Utilities.withVersion(options)); + } /** * Gets a registration code used to register a CA certificate with AWS IoT. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/ivs/IvsFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/ivs/IvsFunctions.java index 7f07004bc2a..8a1a5ac5e7f 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ivs/IvsFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ivs/IvsFunctions.java @@ -11,6 +11,7 @@ import com.pulumi.core.TypeShape; import com.pulumi.deployment.Deployment; import com.pulumi.deployment.InvokeOptions; +import com.pulumi.deployment.InvokeOutputOptions; import java.util.concurrent.CompletableFuture; public final class IvsFunctions { @@ -146,6 +147,50 @@ public static CompletableFuture getStreamKeyPlain(GetStreamK public static Output getStreamKey(GetStreamKeyArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:ivs/getStreamKey:getStreamKey", TypeShape.of(GetStreamKeyResult.class), args, Utilities.withVersion(options)); } + /** + * Data source for managing an AWS IVS (Interactive Video) Stream Key. + * + * ## Example Usage + * + * ### Basic Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.ivs.IvsFunctions;
+     * import com.pulumi.aws.ivs.inputs.GetStreamKeyArgs;
+     * 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 = IvsFunctions.getStreamKey(GetStreamKeyArgs.builder()
+     *             .channelArn("arn:aws:ivs:us-west-2:326937407773:channel/0Y1lcs4U7jk5")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getStreamKey(GetStreamKeyArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:ivs/getStreamKey:getStreamKey", TypeShape.of(GetStreamKeyResult.class), args, Utilities.withVersion(options)); + } /** * Data source for managing an AWS IVS (Interactive Video) Stream Key. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/kendra/KendraFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/kendra/KendraFunctions.java index d42905980b8..04f22afdb5e 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/kendra/KendraFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/kendra/KendraFunctions.java @@ -23,6 +23,7 @@ import com.pulumi.core.TypeShape; import com.pulumi.deployment.Deployment; import com.pulumi.deployment.InvokeOptions; +import com.pulumi.deployment.InvokeOutputOptions; import java.util.concurrent.CompletableFuture; public final class KendraFunctions { @@ -155,6 +156,49 @@ public static CompletableFuture getExperiencePlain(GetExper public static Output getExperience(GetExperienceArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:kendra/getExperience:getExperience", TypeShape.of(GetExperienceResult.class), args, Utilities.withVersion(options)); } + /** + * Provides details about a specific Amazon Kendra Experience. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.kendra.KendraFunctions;
+     * import com.pulumi.aws.kendra.inputs.GetExperienceArgs;
+     * 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 = KendraFunctions.getExperience(GetExperienceArgs.builder()
+     *             .experienceId("87654321-1234-4321-4321-321987654321")
+     *             .indexId("12345678-1234-1234-1234-123456789123")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getExperience(GetExperienceArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:kendra/getExperience:getExperience", TypeShape.of(GetExperienceResult.class), args, Utilities.withVersion(options)); + } /** * Provides details about a specific Amazon Kendra Experience. * @@ -327,6 +371,49 @@ public static CompletableFuture getFaqPlain(GetFaqPlainArgs args) public static Output getFaq(GetFaqArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:kendra/getFaq:getFaq", TypeShape.of(GetFaqResult.class), args, Utilities.withVersion(options)); } + /** + * Provides details about a specific Amazon Kendra Faq. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.kendra.KendraFunctions;
+     * import com.pulumi.aws.kendra.inputs.GetFaqArgs;
+     * 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 test = KendraFunctions.getFaq(GetFaqArgs.builder()
+     *             .faqId("87654321-1234-4321-4321-321987654321")
+     *             .indexId("12345678-1234-1234-1234-123456789123")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getFaq(GetFaqArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:kendra/getFaq:getFaq", TypeShape.of(GetFaqResult.class), args, Utilities.withVersion(options)); + } /** * Provides details about a specific Amazon Kendra Faq. * @@ -496,6 +583,48 @@ public static CompletableFuture getIndexPlain(GetIndexPlainArgs public static Output getIndex(GetIndexArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:kendra/getIndex:getIndex", TypeShape.of(GetIndexResult.class), args, Utilities.withVersion(options)); } + /** + * Provides details about a specific Amazon Kendra Index. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.kendra.KendraFunctions;
+     * import com.pulumi.aws.kendra.inputs.GetIndexArgs;
+     * 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 = KendraFunctions.getIndex(GetIndexArgs.builder()
+     *             .id("12345678-1234-1234-1234-123456789123")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getIndex(GetIndexArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:kendra/getIndex:getIndex", TypeShape.of(GetIndexResult.class), args, Utilities.withVersion(options)); + } /** * Provides details about a specific Amazon Kendra Index. * @@ -667,6 +796,49 @@ public static CompletableFuture getQuerySugg public static Output getQuerySuggestionsBlockList(GetQuerySuggestionsBlockListArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:kendra/getQuerySuggestionsBlockList:getQuerySuggestionsBlockList", TypeShape.of(GetQuerySuggestionsBlockListResult.class), args, Utilities.withVersion(options)); } + /** + * Provides details about a specific Amazon Kendra block list used for query suggestions for an index. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.kendra.KendraFunctions;
+     * import com.pulumi.aws.kendra.inputs.GetQuerySuggestionsBlockListArgs;
+     * 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 = KendraFunctions.getQuerySuggestionsBlockList(GetQuerySuggestionsBlockListArgs.builder()
+     *             .indexId("12345678-1234-1234-1234-123456789123")
+     *             .querySuggestionsBlockListId("87654321-1234-4321-4321-321987654321")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getQuerySuggestionsBlockList(GetQuerySuggestionsBlockListArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:kendra/getQuerySuggestionsBlockList:getQuerySuggestionsBlockList", TypeShape.of(GetQuerySuggestionsBlockListResult.class), args, Utilities.withVersion(options)); + } /** * Provides details about a specific Amazon Kendra block list used for query suggestions for an index. * @@ -839,6 +1011,49 @@ public static CompletableFuture getThesaurusPlain(GetThesaur public static Output getThesaurus(GetThesaurusArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:kendra/getThesaurus:getThesaurus", TypeShape.of(GetThesaurusResult.class), args, Utilities.withVersion(options)); } + /** + * Provides details about a specific Amazon Kendra Thesaurus. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.kendra.KendraFunctions;
+     * import com.pulumi.aws.kendra.inputs.GetThesaurusArgs;
+     * 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 = KendraFunctions.getThesaurus(GetThesaurusArgs.builder()
+     *             .indexId("12345678-1234-1234-1234-123456789123")
+     *             .thesaurusId("87654321-1234-4321-4321-321987654321")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getThesaurus(GetThesaurusArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:kendra/getThesaurus:getThesaurus", TypeShape.of(GetThesaurusResult.class), args, Utilities.withVersion(options)); + } /** * Provides details about a specific Amazon Kendra Thesaurus. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/kinesis/KinesisFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/kinesis/KinesisFunctions.java index 1430f2f1f1b..5c70b019409 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/kinesis/KinesisFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/kinesis/KinesisFunctions.java @@ -17,6 +17,7 @@ import com.pulumi.core.TypeShape; import com.pulumi.deployment.Deployment; import com.pulumi.deployment.InvokeOptions; +import com.pulumi.deployment.InvokeOutputOptions; import java.util.concurrent.CompletableFuture; public final class KinesisFunctions { @@ -152,6 +153,50 @@ public static CompletableFuture getFirehoseDeli public static Output getFirehoseDeliveryStream(GetFirehoseDeliveryStreamArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:kinesis/getFirehoseDeliveryStream:getFirehoseDeliveryStream", TypeShape.of(GetFirehoseDeliveryStreamResult.class), args, Utilities.withVersion(options)); } + /** + * Use this data source to get information about a Kinesis Firehose Delivery Stream for use in other resources. + * + * For more details, see the [Amazon Kinesis Firehose Documentation](https://aws.amazon.com/documentation/firehose/). + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.kinesis.KinesisFunctions;
+     * import com.pulumi.aws.kinesis.inputs.GetFirehoseDeliveryStreamArgs;
+     * 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 stream = KinesisFunctions.getFirehoseDeliveryStream(GetFirehoseDeliveryStreamArgs.builder()
+     *             .name("stream-name")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getFirehoseDeliveryStream(GetFirehoseDeliveryStreamArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:kinesis/getFirehoseDeliveryStream:getFirehoseDeliveryStream", TypeShape.of(GetFirehoseDeliveryStreamResult.class), args, Utilities.withVersion(options)); + } /** * Use this data source to get information about a Kinesis Firehose Delivery Stream for use in other resources. * @@ -331,6 +376,51 @@ public static CompletableFuture getStreamPlain(GetStreamPlainAr public static Output getStream(GetStreamArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:kinesis/getStream:getStream", TypeShape.of(GetStreamResult.class), args, Utilities.withVersion(options)); } + /** + * Use this data source to get information about a Kinesis Stream for use in other + * resources. + * + * For more details, see the [Amazon Kinesis Documentation](https://aws.amazon.com/documentation/kinesis/). + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.kinesis.KinesisFunctions;
+     * import com.pulumi.aws.kinesis.inputs.GetStreamArgs;
+     * 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 stream = KinesisFunctions.getStream(GetStreamArgs.builder()
+     *             .name("stream-name")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getStream(GetStreamArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:kinesis/getStream:getStream", TypeShape.of(GetStreamResult.class), args, Utilities.withVersion(options)); + } /** * Use this data source to get information about a Kinesis Stream for use in other * resources. @@ -511,6 +601,51 @@ public static CompletableFuture getStreamConsumerPlain( public static Output getStreamConsumer(GetStreamConsumerArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:kinesis/getStreamConsumer:getStreamConsumer", TypeShape.of(GetStreamConsumerResult.class), args, Utilities.withVersion(options)); } + /** + * Provides details about a Kinesis Stream Consumer. + * + * For more details, see the [Amazon Kinesis Stream Consumer Documentation](https://docs.aws.amazon.com/streams/latest/dev/amazon-kinesis-consumers.html). + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.kinesis.KinesisFunctions;
+     * import com.pulumi.aws.kinesis.inputs.GetStreamConsumerArgs;
+     * 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 = KinesisFunctions.getStreamConsumer(GetStreamConsumerArgs.builder()
+     *             .name("example-consumer")
+     *             .streamArn(exampleAwsKinesisStream.arn())
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getStreamConsumer(GetStreamConsumerArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:kinesis/getStreamConsumer:getStreamConsumer", TypeShape.of(GetStreamConsumerResult.class), args, Utilities.withVersion(options)); + } /** * Provides details about a Kinesis Stream Consumer. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/kms/KmsFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/kms/KmsFunctions.java index f7d063df5b1..f2ce9aeeea1 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/kms/KmsFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/kms/KmsFunctions.java @@ -29,6 +29,7 @@ import com.pulumi.core.TypeShape; import com.pulumi.deployment.Deployment; import com.pulumi.deployment.InvokeOptions; +import com.pulumi.deployment.InvokeOutputOptions; import java.util.concurrent.CompletableFuture; public final class KmsFunctions { @@ -164,6 +165,50 @@ public static CompletableFuture getAliasPlain(GetAliasPlainArgs public static Output getAlias(GetAliasArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:kms/getAlias:getAlias", TypeShape.of(GetAliasResult.class), args, Utilities.withVersion(options)); } + /** + * Use this data source to get the ARN of a KMS key alias. + * By using this data source, you can reference key alias + * without having to hard code the ARN as input. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.kms.KmsFunctions;
+     * import com.pulumi.aws.kms.inputs.GetAliasArgs;
+     * 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 s3 = KmsFunctions.getAlias(GetAliasArgs.builder()
+     *             .name("alias/aws/s3")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getAlias(GetAliasArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:kms/getAlias:getAlias", TypeShape.of(GetAliasResult.class), args, Utilities.withVersion(options)); + } /** * Use this data source to get the ARN of a KMS key alias. * By using this data source, you can reference key alias @@ -382,6 +427,64 @@ public static CompletableFuture getCipherTextPlain(GetCiphe public static Output getCipherText(GetCipherTextArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:kms/getCipherText:getCipherText", TypeShape.of(GetCipherTextResult.class), args, Utilities.withVersion(options)); } + /** + * The KMS ciphertext data source allows you to encrypt plaintext into ciphertext + * by using an AWS KMS customer master key. The value returned by this data source + * changes every apply. For a stable ciphertext value, see the `aws.kms.Ciphertext` + * resource. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.kms.Key;
+     * import com.pulumi.aws.kms.KeyArgs;
+     * import com.pulumi.aws.kms.KmsFunctions;
+     * import com.pulumi.aws.kms.inputs.GetCipherTextArgs;
+     * 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 oauthConfig = new Key("oauthConfig", KeyArgs.builder()
+     *             .description("oauth config")
+     *             .isEnabled(true)
+     *             .build());
+     * 
+     *         final var oauth = KmsFunctions.getCipherText(GetCipherTextArgs.builder()
+     *             .keyId(oauthConfig.keyId())
+     *             .plaintext("""
+     * {
+     *   "client_id": "e587dbae22222f55da22",
+     *   "client_secret": "8289575d00000ace55e1815ec13673955721b8a5"
+     * }
+     *             """)
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getCipherText(GetCipherTextArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:kms/getCipherText:getCipherText", TypeShape.of(GetCipherTextResult.class), args, Utilities.withVersion(options)); + } /** * The KMS ciphertext data source allows you to encrypt plaintext into ciphertext * by using an AWS KMS customer master key. The value returned by this data source @@ -660,6 +763,50 @@ public static CompletableFuture getCustomKeyStorePlain( public static Output getCustomKeyStore(GetCustomKeyStoreArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:kms/getCustomKeyStore:getCustomKeyStore", TypeShape.of(GetCustomKeyStoreResult.class), args, Utilities.withVersion(options)); } + /** + * Use this data source to get the metadata KMS custom key store. + * By using this data source, you can reference KMS custom key store + * without having to hard code the ID as input. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.kms.KmsFunctions;
+     * import com.pulumi.aws.kms.inputs.GetCustomKeyStoreArgs;
+     * 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 keystore = KmsFunctions.getCustomKeyStore(GetCustomKeyStoreArgs.builder()
+     *             .customKeyStoreName("my_cloudhsm")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getCustomKeyStore(GetCustomKeyStoreArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:kms/getCustomKeyStore:getCustomKeyStore", TypeShape.of(GetCustomKeyStoreResult.class), args, Utilities.withVersion(options)); + } /** * Use this data source to get the metadata KMS custom key store. * By using this data source, you can reference KMS custom key store @@ -875,6 +1022,63 @@ public static CompletableFuture getKeyPlain(GetKeyPlainArgs args) public static Output getKey(GetKeyArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:kms/getKey:getKey", TypeShape.of(GetKeyResult.class), args, Utilities.withVersion(options)); } + /** + * Use this data source to get detailed information about + * the specified KMS Key with flexible key id input. + * This can be useful to reference key alias + * without having to hard code the ARN as input. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.kms.KmsFunctions;
+     * import com.pulumi.aws.kms.inputs.GetKeyArgs;
+     * 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 byAlias = KmsFunctions.getKey(GetKeyArgs.builder()
+     *             .keyId("alias/my-key")
+     *             .build());
+     * 
+     *         final var byId = KmsFunctions.getKey(GetKeyArgs.builder()
+     *             .keyId("1234abcd-12ab-34cd-56ef-1234567890ab")
+     *             .build());
+     * 
+     *         final var byAliasArn = KmsFunctions.getKey(GetKeyArgs.builder()
+     *             .keyId("arn:aws:kms:us-east-1:111122223333:alias/my-key")
+     *             .build());
+     * 
+     *         final var byKeyArn = KmsFunctions.getKey(GetKeyArgs.builder()
+     *             .keyId("arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getKey(GetKeyArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:kms/getKey:getKey", TypeShape.of(GetKeyResult.class), args, Utilities.withVersion(options)); + } /** * Use this data source to get detailed information about * the specified KMS Key with flexible key id input. @@ -1094,6 +1298,60 @@ public static CompletableFuture getPublicKeyPlain(GetPublicK public static Output getPublicKey(GetPublicKeyArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:kms/getPublicKey:getPublicKey", TypeShape.of(GetPublicKeyResult.class), args, Utilities.withVersion(options)); } + /** + * Use this data source to get the public key about the specified KMS Key with flexible key id input. This can be useful to reference key alias without having to hard code the ARN as input. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.kms.KmsFunctions;
+     * import com.pulumi.aws.kms.inputs.GetPublicKeyArgs;
+     * 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 byAlias = KmsFunctions.getPublicKey(GetPublicKeyArgs.builder()
+     *             .keyId("alias/my-key")
+     *             .build());
+     * 
+     *         final var byId = KmsFunctions.getPublicKey(GetPublicKeyArgs.builder()
+     *             .keyId("1234abcd-12ab-34cd-56ef-1234567890ab")
+     *             .build());
+     * 
+     *         final var byAliasArn = KmsFunctions.getPublicKey(GetPublicKeyArgs.builder()
+     *             .keyId("arn:aws:kms:us-east-1:111122223333:alias/my-key")
+     *             .build());
+     * 
+     *         final var byKeyArn = KmsFunctions.getPublicKey(GetPublicKeyArgs.builder()
+     *             .keyId("arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getPublicKey(GetPublicKeyArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:kms/getPublicKey:getPublicKey", TypeShape.of(GetPublicKeyResult.class), args, Utilities.withVersion(options)); + } /** * Use this data source to get the public key about the specified KMS Key with flexible key id input. This can be useful to reference key alias without having to hard code the ARN as input. * @@ -1157,6 +1415,9 @@ public static CompletableFuture getSecretPlain(GetSecretPlainAr public static Output getSecret(GetSecretArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:kms/getSecret:getSecret", TypeShape.of(GetSecretResult.class), args, Utilities.withVersion(options)); } + public static Output getSecret(GetSecretArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:kms/getSecret:getSecret", TypeShape.of(GetSecretResult.class), args, Utilities.withVersion(options)); + } public static CompletableFuture getSecretPlain(GetSecretPlainArgs args, InvokeOptions options) { return Deployment.getInstance().invokeAsync("aws:kms/getSecret:getSecret", TypeShape.of(GetSecretResult.class), args, Utilities.withVersion(options)); } @@ -1208,6 +1469,22 @@ public static CompletableFuture getSecretsPlain(GetSecretsPlai public static Output getSecrets(GetSecretsArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:kms/getSecrets:getSecrets", TypeShape.of(GetSecretsResult.class), args, Utilities.withVersion(options)); } + /** + * Decrypt multiple secrets from data encrypted with the AWS KMS service. + * + * ## Example Usage + * + * If you do not already have a `CiphertextBlob` from encrypting a KMS secret, you can use the below commands to obtain one using the [AWS CLI kms encrypt](https://docs.aws.amazon.com/cli/latest/reference/kms/encrypt.html) command. This requires you to have your AWS CLI setup correctly and replace the `--key-id` with your own. Alternatively you can use `--plaintext 'master-password'` (CLIv1) or `--plaintext fileb://<(echo -n 'master-password')` (CLIv2) instead of reading from a file. + * + * > If you have a newline character at the end of your file, it will be decrypted with this newline character intact. For most use cases this is undesirable and leads to incorrect passwords or invalid values, as well as possible changes in the plan. Be sure to use `echo -n` if necessary. + * If you are using asymmetric keys ensure you are using the right encryption algorithm when you encrypt and decrypt else you will get IncorrectKeyException during the decrypt phase. + * + * That encrypted output can now be inserted into provider configurations without exposing the plaintext secret directly. + * + */ + public static Output getSecrets(GetSecretsArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:kms/getSecrets:getSecrets", TypeShape.of(GetSecretsResult.class), args, Utilities.withVersion(options)); + } /** * Decrypt multiple secrets from data encrypted with the AWS KMS service. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/lakeformation/LakeformationFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/lakeformation/LakeformationFunctions.java index 9457340d619..fa01d5a3ce4 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/lakeformation/LakeformationFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/lakeformation/LakeformationFunctions.java @@ -17,6 +17,7 @@ import com.pulumi.core.TypeShape; import com.pulumi.deployment.Deployment; import com.pulumi.deployment.InvokeOptions; +import com.pulumi.deployment.InvokeOutputOptions; import java.util.concurrent.CompletableFuture; public final class LakeformationFunctions { @@ -230,6 +231,48 @@ public static CompletableFuture getDataLakeSettingsPl public static Output getDataLakeSettings(GetDataLakeSettingsArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:lakeformation/getDataLakeSettings:getDataLakeSettings", TypeShape.of(GetDataLakeSettingsResult.class), args, Utilities.withVersion(options)); } + /** + * Get Lake Formation principals designated as data lake administrators and lists of principal permission entries for default create database and default create table permissions. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.lakeformation.LakeformationFunctions;
+     * import com.pulumi.aws.lakeformation.inputs.GetDataLakeSettingsArgs;
+     * 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 = LakeformationFunctions.getDataLakeSettings(GetDataLakeSettingsArgs.builder()
+     *             .catalogId("14916253649")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getDataLakeSettings(GetDataLakeSettingsArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:lakeformation/getDataLakeSettings:getDataLakeSettings", TypeShape.of(GetDataLakeSettingsResult.class), args, Utilities.withVersion(options)); + } /** * Get Lake Formation principals designated as data lake administrators and lists of principal permission entries for default create database and default create table permissions. * @@ -829,6 +872,146 @@ public static Output getPermissions(GetPermissionsArgs arg * <!--End PulumiCodeChooser --> * */ + public static Output getPermissions(GetPermissionsArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:lakeformation/getPermissions:getPermissions", TypeShape.of(GetPermissionsResult.class), args, Utilities.withVersion(options)); + } + /** + * Get permissions for a principal to access metadata in the Data Catalog and data organized in underlying data storage such as Amazon S3. Permissions are granted to a principal, in a Data Catalog, relative to a Lake Formation resource, which includes the Data Catalog, databases, tables, LF-tags, and LF-tag policies. For more information, see [Security and Access Control to Metadata and Data in Lake Formation](https://docs.aws.amazon.com/lake-formation/latest/dg/security-data-access.html). + * + * > **NOTE:** This data source deals with explicitly granted permissions. Lake Formation grants implicit permissions to data lake administrators, database creators, and table creators. For more information, see [Implicit Lake Formation Permissions](https://docs.aws.amazon.com/lake-formation/latest/dg/implicit-permissions.html). + * + * ## Example Usage + * + * ### Permissions For A Lake Formation S3 Resource + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.lakeformation.LakeformationFunctions;
+     * import com.pulumi.aws.lakeformation.inputs.GetPermissionsArgs;
+     * import com.pulumi.aws.lakeformation.inputs.GetPermissionsDataLocationArgs;
+     * 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 test = LakeformationFunctions.getPermissions(GetPermissionsArgs.builder()
+     *             .principal(workflowRole.arn())
+     *             .dataLocation(GetPermissionsDataLocationArgs.builder()
+     *                 .arn(testAwsLakeformationResource.arn())
+     *                 .build())
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + * ### Permissions For A Glue Catalog Database + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.lakeformation.LakeformationFunctions;
+     * import com.pulumi.aws.lakeformation.inputs.GetPermissionsArgs;
+     * import com.pulumi.aws.lakeformation.inputs.GetPermissionsDatabaseArgs;
+     * 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 test = LakeformationFunctions.getPermissions(GetPermissionsArgs.builder()
+     *             .principal(workflowRole.arn())
+     *             .database(GetPermissionsDatabaseArgs.builder()
+     *                 .name(testAwsGlueCatalogDatabase.name())
+     *                 .catalogId("110376042874")
+     *                 .build())
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + * ### Permissions For Tag-Based Access Control + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.lakeformation.LakeformationFunctions;
+     * import com.pulumi.aws.lakeformation.inputs.GetPermissionsArgs;
+     * import com.pulumi.aws.lakeformation.inputs.GetPermissionsLfTagPolicyArgs;
+     * 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 test = LakeformationFunctions.getPermissions(GetPermissionsArgs.builder()
+     *             .principal(workflowRole.arn())
+     *             .lfTagPolicy(GetPermissionsLfTagPolicyArgs.builder()
+     *                 .resourceType("DATABASE")
+     *                 .expressions(                
+     *                     GetPermissionsLfTagPolicyExpressionArgs.builder()
+     *                         .key("Team")
+     *                         .values("Sales")
+     *                         .build(),
+     *                     GetPermissionsLfTagPolicyExpressionArgs.builder()
+     *                         .key("Environment")
+     *                         .values(                        
+     *                             "Dev",
+     *                             "Production")
+     *                         .build())
+     *                 .build())
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ public static CompletableFuture getPermissionsPlain(GetPermissionsPlainArgs args, InvokeOptions options) { return Deployment.getInstance().invokeAsync("aws:lakeformation/getPermissions:getPermissions", TypeShape.of(GetPermissionsResult.class), args, Utilities.withVersion(options)); } @@ -958,6 +1141,48 @@ public static CompletableFuture getResourcePlain(GetResourceP public static Output getResource(GetResourceArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:lakeformation/getResource:getResource", TypeShape.of(GetResourceResult.class), args, Utilities.withVersion(options)); } + /** + * Provides details about a Lake Formation resource. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.lakeformation.LakeformationFunctions;
+     * import com.pulumi.aws.lakeformation.inputs.GetResourceArgs;
+     * 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 = LakeformationFunctions.getResource(GetResourceArgs.builder()
+     *             .arn("arn:aws:s3:::tf-acc-test-9151654063908211878")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getResource(GetResourceArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:lakeformation/getResource:getResource", TypeShape.of(GetResourceResult.class), args, Utilities.withVersion(options)); + } /** * Provides details about a Lake Formation resource. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/lambda/LambdaFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/lambda/LambdaFunctions.java index b89a99324b4..87327076c3a 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/lambda/LambdaFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/lambda/LambdaFunctions.java @@ -27,6 +27,7 @@ import com.pulumi.core.TypeShape; import com.pulumi.deployment.Deployment; import com.pulumi.deployment.InvokeOptions; +import com.pulumi.deployment.InvokeOutputOptions; import com.pulumi.resources.InvokeArgs; import java.util.concurrent.CompletableFuture; @@ -160,6 +161,49 @@ public static CompletableFuture getAliasPlain(GetAliasPlainArgs public static Output getAlias(GetAliasArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:lambda/getAlias:getAlias", TypeShape.of(GetAliasResult.class), args, Utilities.withVersion(options)); } + /** + * Provides information about a Lambda Alias. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.lambda.LambdaFunctions;
+     * import com.pulumi.aws.lambda.inputs.GetAliasArgs;
+     * 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 production = LambdaFunctions.getAlias(GetAliasArgs.builder()
+     *             .functionName("my-lambda-func")
+     *             .name("production")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getAlias(GetAliasArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:lambda/getAlias:getAlias", TypeShape.of(GetAliasResult.class), args, Utilities.withVersion(options)); + } /** * Provides information about a Lambda Alias. * @@ -335,6 +379,50 @@ public static CompletableFuture getCodeSigningConfig public static Output getCodeSigningConfig(GetCodeSigningConfigArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:lambda/getCodeSigningConfig:getCodeSigningConfig", TypeShape.of(GetCodeSigningConfigResult.class), args, Utilities.withVersion(options)); } + /** + * Provides information about a Lambda Code Signing Config. A code signing configuration defines a list of allowed signing profiles and defines the code-signing validation policy (action to be taken if deployment validation checks fail). + * + * For information about Lambda code signing configurations and how to use them, see [configuring code signing for Lambda functions](https://docs.aws.amazon.com/lambda/latest/dg/configuration-codesigning.html) + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.lambda.LambdaFunctions;
+     * import com.pulumi.aws.lambda.inputs.GetCodeSigningConfigArgs;
+     * 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 existingCsc = LambdaFunctions.getCodeSigningConfig(GetCodeSigningConfigArgs.builder()
+     *             .arn(String.format("arn:aws:lambda:%s:%s:code-signing-config:csc-0f6c334abcdea4d8b", awsRegion,awsAccount))
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getCodeSigningConfig(GetCodeSigningConfigArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:lambda/getCodeSigningConfig:getCodeSigningConfig", TypeShape.of(GetCodeSigningConfigResult.class), args, Utilities.withVersion(options)); + } /** * Provides information about a Lambda Code Signing Config. A code signing configuration defines a list of allowed signing profiles and defines the code-signing validation policy (action to be taken if deployment validation checks fail). * @@ -511,6 +599,50 @@ public static CompletableFuture getFunctionPlain(GetFunctionP public static Output getFunction(GetFunctionArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:lambda/getFunction:getFunction", TypeShape.of(GetFunctionResult.class), args, Utilities.withVersion(options)); } + /** + * Provides information about a Lambda Function. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.lambda.LambdaFunctions;
+     * import com.pulumi.aws.lambda.inputs.GetFunctionArgs;
+     * import java.util.List;
+     * import java.util.ArrayList;
+     * import java.util.Map;
+     * import java.io.File;
+     * import java.nio.file.Files;
+     * import java.nio.file.Paths;
+     * 
+     * public class App {
+     *     public static void main(String[] args) {
+     *         Pulumi.run(App::stack);
+     *     }
+     * 
+     *     public static void stack(Context ctx) {
+     *         final var config = ctx.config();
+     *         final var functionName = config.get("functionName");
+     *         final var existing = LambdaFunctions.getFunction(GetFunctionArgs.builder()
+     *             .functionName(functionName)
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getFunction(GetFunctionArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:lambda/getFunction:getFunction", TypeShape.of(GetFunctionResult.class), args, Utilities.withVersion(options)); + } /** * Provides information about a Lambda Function. * @@ -687,6 +819,50 @@ public static CompletableFuture getFunctionUrlPlain(GetFun public static Output getFunctionUrl(GetFunctionUrlArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:lambda/getFunctionUrl:getFunctionUrl", TypeShape.of(GetFunctionUrlResult.class), args, Utilities.withVersion(options)); } + /** + * Provides information about a Lambda function URL. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.lambda.LambdaFunctions;
+     * import com.pulumi.aws.lambda.inputs.GetFunctionUrlArgs;
+     * import java.util.List;
+     * import java.util.ArrayList;
+     * import java.util.Map;
+     * import java.io.File;
+     * import java.nio.file.Files;
+     * import java.nio.file.Paths;
+     * 
+     * public class App {
+     *     public static void main(String[] args) {
+     *         Pulumi.run(App::stack);
+     *     }
+     * 
+     *     public static void stack(Context ctx) {
+     *         final var config = ctx.config();
+     *         final var functionName = config.get("functionName");
+     *         final var existing = LambdaFunctions.getFunctionUrl(GetFunctionUrlArgs.builder()
+     *             .functionName(functionName)
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getFunctionUrl(GetFunctionUrlArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:lambda/getFunctionUrl:getFunctionUrl", TypeShape.of(GetFunctionUrlResult.class), args, Utilities.withVersion(options)); + } /** * Provides information about a Lambda function URL. * @@ -926,6 +1102,45 @@ public static CompletableFuture getFunctionsPlain(InvokeArgs public static Output getFunctions(InvokeArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:lambda/getFunctions:getFunctions", TypeShape.of(GetFunctionsResult.class), args, Utilities.withVersion(options)); } + /** + * Data resource to get a list of Lambda Functions. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.lambda.LambdaFunctions;
+     * 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 all = LambdaFunctions.getFunctions();
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getFunctions(InvokeArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:lambda/getFunctions:getFunctions", TypeShape.of(GetFunctionsResult.class), args, Utilities.withVersion(options)); + } /** * Data resource to get a list of Lambda Functions. * @@ -998,6 +1213,17 @@ public static CompletableFuture getInvocationPlain(GetInvoc public static Output getInvocation(GetInvocationArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:lambda/getInvocation:getInvocation", TypeShape.of(GetInvocationResult.class), args, Utilities.withVersion(options)); } + /** + * Use this data source to invoke custom lambda functions as data source. + * The lambda function is invoked with [RequestResponse](https://docs.aws.amazon.com/lambda/latest/dg/API_Invoke.html#API_Invoke_RequestSyntax) + * invocation type. + * + * > **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.) + * + */ + public static Output getInvocation(GetInvocationArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:lambda/getInvocation:getInvocation", TypeShape.of(GetInvocationResult.class), args, Utilities.withVersion(options)); + } /** * Use this data source to invoke custom lambda functions as data source. * The lambda function is invoked with [RequestResponse](https://docs.aws.amazon.com/lambda/latest/dg/API_Invoke.html#API_Invoke_RequestSyntax) @@ -1141,6 +1367,50 @@ public static CompletableFuture getLayerVersionPlain(GetL public static Output getLayerVersion(GetLayerVersionArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:lambda/getLayerVersion:getLayerVersion", TypeShape.of(GetLayerVersionResult.class), args, Utilities.withVersion(options)); } + /** + * Provides information about a Lambda Layer Version. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.lambda.LambdaFunctions;
+     * import com.pulumi.aws.lambda.inputs.GetLayerVersionArgs;
+     * import java.util.List;
+     * import java.util.ArrayList;
+     * import java.util.Map;
+     * import java.io.File;
+     * import java.nio.file.Files;
+     * import java.nio.file.Paths;
+     * 
+     * public class App {
+     *     public static void main(String[] args) {
+     *         Pulumi.run(App::stack);
+     *     }
+     * 
+     *     public static void stack(Context ctx) {
+     *         final var config = ctx.config();
+     *         final var layerName = config.get("layerName");
+     *         final var existing = LambdaFunctions.getLayerVersion(GetLayerVersionArgs.builder()
+     *             .layerName(layerName)
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getLayerVersion(GetLayerVersionArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:lambda/getLayerVersion:getLayerVersion", TypeShape.of(GetLayerVersionResult.class), args, Utilities.withVersion(options)); + } /** * Provides information about a Lambda Layer Version. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/lb/LbFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/lb/LbFunctions.java index 7e2c9715a82..0dd10894100 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/lb/LbFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/lb/LbFunctions.java @@ -29,6 +29,7 @@ import com.pulumi.core.TypeShape; import com.pulumi.deployment.Deployment; import com.pulumi.deployment.InvokeOptions; +import com.pulumi.deployment.InvokeOutputOptions; import java.util.concurrent.CompletableFuture; public final class LbFunctions { @@ -302,6 +303,60 @@ public static CompletableFuture getHostedZoneIdPlain(GetH public static Output getHostedZoneId(GetHostedZoneIdArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:lb/getHostedZoneId:getHostedZoneId", TypeShape.of(GetHostedZoneIdResult.class), args, Utilities.withVersion(options)); } + /** + * Use this data source to get the HostedZoneId of the AWS Elastic Load Balancing (ELB) in a given region for the purpose of using in an AWS Route53 Alias. Specify the ELB type (`network` or `application`) to return the relevant the associated HostedZoneId. Ref: [ELB service endpoints](https://docs.aws.amazon.com/general/latest/gr/elb.html#elb_region) + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.lb.LbFunctions;
+     * import com.pulumi.aws.lb.inputs.GetHostedZoneIdArgs;
+     * import com.pulumi.aws.route53.Record;
+     * import com.pulumi.aws.route53.RecordArgs;
+     * import com.pulumi.aws.route53.inputs.RecordAliasArgs;
+     * 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 main = LbFunctions.getHostedZoneId();
+     * 
+     *         var www = new Record("www", RecordArgs.builder()
+     *             .zoneId(primary.zoneId())
+     *             .name("example.com")
+     *             .type("A")
+     *             .aliases(RecordAliasArgs.builder()
+     *                 .name(mainAwsLb.dnsName())
+     *                 .zoneId(main.applyValue(getHostedZoneIdResult -> getHostedZoneIdResult.id()))
+     *                 .evaluateTargetHealth(true)
+     *                 .build())
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getHostedZoneId(GetHostedZoneIdArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:lb/getHostedZoneId:getHostedZoneId", TypeShape.of(GetHostedZoneIdResult.class), args, Utilities.withVersion(options)); + } /** * Use this data source to get the HostedZoneId of the AWS Elastic Load Balancing (ELB) in a given region for the purpose of using in an AWS Route53 Alias. Specify the ELB type (`network` or `application`) to return the relevant the associated HostedZoneId. Ref: [ELB service endpoints](https://docs.aws.amazon.com/general/latest/gr/elb.html#elb_region) * @@ -581,6 +636,51 @@ public static CompletableFuture getLbsPlain(GetLbsPlainArgs args) public static Output getLbs(GetLbsArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:lb/getLbs:getLbs", TypeShape.of(GetLbsResult.class), args, Utilities.withVersion(options)); } + /** + * Use this data source to get a list of Load Balancer ARNs matching the specified criteria. Useful for passing to other + * resources. + * + * ## Example Usage + * + * ### Basic Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.lb.LbFunctions;
+     * import com.pulumi.aws.lb.inputs.GetLbsArgs;
+     * 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 = LbFunctions.getLbs(GetLbsArgs.builder()
+     *             .tags(Map.of("elbv2.k8s.aws/cluster", "my-cluster"))
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getLbs(GetLbsArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:lb/getLbs:getLbs", TypeShape.of(GetLbsResult.class), args, Utilities.withVersion(options)); + } /** * Use this data source to get a list of Load Balancer ARNs matching the specified criteria. Useful for passing to other * resources. @@ -921,6 +1021,65 @@ public static CompletableFuture getListenerPlain(GetListenerP public static Output getListener(GetListenerArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:lb/getListener:getListener", TypeShape.of(GetListenerResult.class), args, Utilities.withVersion(options)); } + /** + * > **Note:** `aws.alb.Listener` is known as `aws.lb.Listener`. The functionality is identical. + * + * Provides information about a Load Balancer Listener. + * + * This data source can prove useful when a module accepts an LB Listener as an input variable and needs to know the LB it is attached to, or other information specific to the listener in question. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.lb.LbFunctions;
+     * import com.pulumi.aws.lb.inputs.GetListenerArgs;
+     * import com.pulumi.aws.lb.inputs.GetLoadBalancerArgs;
+     * import java.util.List;
+     * import java.util.ArrayList;
+     * import java.util.Map;
+     * import java.io.File;
+     * import java.nio.file.Files;
+     * import java.nio.file.Paths;
+     * 
+     * public class App {
+     *     public static void main(String[] args) {
+     *         Pulumi.run(App::stack);
+     *     }
+     * 
+     *     public static void stack(Context ctx) {
+     *         final var config = ctx.config();
+     *         final var listenerArn = config.get("listenerArn");
+     *         final var listener = LbFunctions.getListener(GetListenerArgs.builder()
+     *             .arn(listenerArn)
+     *             .build());
+     * 
+     *         // get listener from load_balancer_arn and port
+     *         final var selected = LbFunctions.getLoadBalancer(GetLoadBalancerArgs.builder()
+     *             .name("default-public")
+     *             .build());
+     * 
+     *         final var selected443 = LbFunctions.getListener(GetListenerArgs.builder()
+     *             .loadBalancerArn(selected.applyValue(getLoadBalancerResult -> getLoadBalancerResult.arn()))
+     *             .port(443)
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getListener(GetListenerArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:lb/getListener:getListener", TypeShape.of(GetListenerResult.class), args, Utilities.withVersion(options)); + } /** * > **Note:** `aws.alb.Listener` is known as `aws.lb.Listener`. The functionality is identical. * @@ -1405,6 +1564,91 @@ public static CompletableFuture getListenerRulePlain(GetL public static Output getListenerRule(GetListenerRuleArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:lb/getListenerRule:getListenerRule", TypeShape.of(GetListenerRuleResult.class), args, Utilities.withVersion(options)); } + /** + * Provides information about an AWS Elastic Load Balancing Listener Rule. + * + * ## Example Usage + * + * ### Match by Rule ARN + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.lb.LbFunctions;
+     * import com.pulumi.aws.lb.inputs.GetListenerRuleArgs;
+     * import java.util.List;
+     * import java.util.ArrayList;
+     * import java.util.Map;
+     * import java.io.File;
+     * import java.nio.file.Files;
+     * import java.nio.file.Paths;
+     * 
+     * public class App {
+     *     public static void main(String[] args) {
+     *         Pulumi.run(App::stack);
+     *     }
+     * 
+     *     public static void stack(Context ctx) {
+     *         final var config = ctx.config();
+     *         final var lbRuleArn = config.get("lbRuleArn");
+     *         final var example = LbFunctions.getListenerRule(GetListenerRuleArgs.builder()
+     *             .arn(lbRuleArn)
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + * ### Match by Listener ARN and Priority + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.lb.LbFunctions;
+     * import com.pulumi.aws.lb.inputs.GetListenerRuleArgs;
+     * import java.util.List;
+     * import java.util.ArrayList;
+     * import java.util.Map;
+     * import java.io.File;
+     * import java.nio.file.Files;
+     * import java.nio.file.Paths;
+     * 
+     * public class App {
+     *     public static void main(String[] args) {
+     *         Pulumi.run(App::stack);
+     *     }
+     * 
+     *     public static void stack(Context ctx) {
+     *         final var config = ctx.config();
+     *         final var lbListenerArn = config.get("lbListenerArn");
+     *         final var lbRulePriority = config.get("lbRulePriority");
+     *         final var example = LbFunctions.getListenerRule(GetListenerRuleArgs.builder()
+     *             .listenerArn(lbListenerArn)
+     *             .priority(lbRulePriority)
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getListenerRule(GetListenerRuleArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:lb/getListenerRule:getListenerRule", TypeShape.of(GetListenerRuleResult.class), args, Utilities.withVersion(options)); + } /** * Provides information about an AWS Elastic Load Balancing Listener Rule. * @@ -1750,6 +1994,58 @@ public static CompletableFuture getLoadBalancerPlain(GetL public static Output getLoadBalancer(GetLoadBalancerArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:lb/getLoadBalancer:getLoadBalancer", TypeShape.of(GetLoadBalancerResult.class), args, Utilities.withVersion(options)); } + /** + * > **Note:** `aws.alb.LoadBalancer` is known as `aws.lb.LoadBalancer`. The functionality is identical. + * + * Provides information about a Load Balancer. + * + * This data source can prove useful when a module accepts an LB as an input + * variable and needs to, for example, determine the security groups associated + * with it, etc. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.lb.LbFunctions;
+     * import com.pulumi.aws.lb.inputs.GetLoadBalancerArgs;
+     * import java.util.List;
+     * import java.util.ArrayList;
+     * import java.util.Map;
+     * import java.io.File;
+     * import java.nio.file.Files;
+     * import java.nio.file.Paths;
+     * 
+     * public class App {
+     *     public static void main(String[] args) {
+     *         Pulumi.run(App::stack);
+     *     }
+     * 
+     *     public static void stack(Context ctx) {
+     *         final var config = ctx.config();
+     *         final var lbArn = config.get("lbArn").orElse("");
+     *         final var lbName = config.get("lbName").orElse("");
+     *         final var test = LbFunctions.getLoadBalancer(GetLoadBalancerArgs.builder()
+     *             .arn(lbArn)
+     *             .name(lbName)
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getLoadBalancer(GetLoadBalancerArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:lb/getLoadBalancer:getLoadBalancer", TypeShape.of(GetLoadBalancerResult.class), args, Utilities.withVersion(options)); + } /** * > **Note:** `aws.alb.LoadBalancer` is known as `aws.lb.LoadBalancer`. The functionality is identical. * @@ -2062,6 +2358,58 @@ public static CompletableFuture getTargetGroupPlain(GetTar public static Output getTargetGroup(GetTargetGroupArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:lb/getTargetGroup:getTargetGroup", TypeShape.of(GetTargetGroupResult.class), args, Utilities.withVersion(options)); } + /** + * > **Note:** `aws.alb.TargetGroup` is known as `aws.lb.TargetGroup`. The functionality is identical. + * + * Provides information about a Load Balancer Target Group. + * + * This data source can prove useful when a module accepts an LB Target Group as an + * input variable and needs to know its attributes. It can also be used to get the ARN of + * an LB Target Group for use in other resources, given LB Target Group name. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.lb.LbFunctions;
+     * import com.pulumi.aws.lb.inputs.GetTargetGroupArgs;
+     * import java.util.List;
+     * import java.util.ArrayList;
+     * import java.util.Map;
+     * import java.io.File;
+     * import java.nio.file.Files;
+     * import java.nio.file.Paths;
+     * 
+     * public class App {
+     *     public static void main(String[] args) {
+     *         Pulumi.run(App::stack);
+     *     }
+     * 
+     *     public static void stack(Context ctx) {
+     *         final var config = ctx.config();
+     *         final var lbTgArn = config.get("lbTgArn").orElse("");
+     *         final var lbTgName = config.get("lbTgName").orElse("");
+     *         final var test = LbFunctions.getTargetGroup(GetTargetGroupArgs.builder()
+     *             .arn(lbTgArn)
+     *             .name(lbTgName)
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getTargetGroup(GetTargetGroupArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:lb/getTargetGroup:getTargetGroup", TypeShape.of(GetTargetGroupResult.class), args, Utilities.withVersion(options)); + } /** * > **Note:** `aws.alb.TargetGroup` is known as `aws.lb.TargetGroup`. The functionality is identical. * @@ -2374,6 +2722,58 @@ public static CompletableFuture getTrustStorePlain(GetTrust public static Output getTrustStore(GetTrustStoreArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:lb/getTrustStore:getTrustStore", TypeShape.of(GetTrustStoreResult.class), args, Utilities.withVersion(options)); } + /** + * > **Note:** `aws_alb_trust_store` is known as `aws.lb.TrustStore`. The functionality is identical. + * + * Provides information about a Load Balancer Trust Store. + * + * This data source can prove useful when a module accepts an LB Trust Store as an + * input variable and needs to know its attributes. It can also be used to get the ARN of + * an LB Trust Store for use in other resources, given LB Trust Store name. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.lb.LbFunctions;
+     * import com.pulumi.aws.lb.inputs.GetTrustStoreArgs;
+     * import java.util.List;
+     * import java.util.ArrayList;
+     * import java.util.Map;
+     * import java.io.File;
+     * import java.nio.file.Files;
+     * import java.nio.file.Paths;
+     * 
+     * public class App {
+     *     public static void main(String[] args) {
+     *         Pulumi.run(App::stack);
+     *     }
+     * 
+     *     public static void stack(Context ctx) {
+     *         final var config = ctx.config();
+     *         final var lbTsArn = config.get("lbTsArn").orElse("");
+     *         final var lbTsName = config.get("lbTsName").orElse("");
+     *         final var test = LbFunctions.getTrustStore(GetTrustStoreArgs.builder()
+     *             .arn(lbTsArn)
+     *             .name(lbTsName)
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getTrustStore(GetTrustStoreArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:lb/getTrustStore:getTrustStore", TypeShape.of(GetTrustStoreResult.class), args, Utilities.withVersion(options)); + } /** * > **Note:** `aws_alb_trust_store` is known as `aws.lb.TrustStore`. The functionality is identical. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/lb/Listener.java b/sdk/java/src/main/java/com/pulumi/aws/lb/Listener.java index 460f1f1170d..835a33ff23f 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/lb/Listener.java +++ b/sdk/java/src/main/java/com/pulumi/aws/lb/Listener.java @@ -613,6 +613,8 @@ public Output sslPolicy() { /** * A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * + * > **Note::** When a `Name` key is specified in the map, the AWS Console maps the value to the `Name Tag` column value inside the `Listener Rules` table within a specific load balancer listener page. Otherwise, the value resolves to `Default`. + * */ @Export(name="tags", refs={Map.class,String.class}, tree="[0,1,1]") private Output> tags; @@ -620,6 +622,8 @@ public Output sslPolicy() { /** * @return A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * + * > **Note::** When a `Name` key is specified in the map, the AWS Console maps the value to the `Name Tag` column value inside the `Listener Rules` table within a specific load balancer listener page. Otherwise, the value resolves to `Default`. + * */ public Output>> tags() { return Codegen.optional(this.tags); diff --git a/sdk/java/src/main/java/com/pulumi/aws/lb/ListenerArgs.java b/sdk/java/src/main/java/com/pulumi/aws/lb/ListenerArgs.java index af9dd24c6ee..28263e52376 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/lb/ListenerArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/lb/ListenerArgs.java @@ -148,6 +148,8 @@ public Optional> sslPolicy() { /** * A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * + * > **Note::** When a `Name` key is specified in the map, the AWS Console maps the value to the `Name Tag` column value inside the `Listener Rules` table within a specific load balancer listener page. Otherwise, the value resolves to `Default`. + * */ @Import(name="tags") private @Nullable Output> tags; @@ -155,6 +157,8 @@ public Optional> sslPolicy() { /** * @return A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * + * > **Note::** When a `Name` key is specified in the map, the AWS Console maps the value to the `Name Tag` column value inside the `Listener Rules` table within a specific load balancer listener page. Otherwise, the value resolves to `Default`. + * */ public Optional>> tags() { return Optional.ofNullable(this.tags); @@ -393,6 +397,8 @@ public Builder sslPolicy(String sslPolicy) { /** * @param tags A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * + * > **Note::** When a `Name` key is specified in the map, the AWS Console maps the value to the `Name Tag` column value inside the `Listener Rules` table within a specific load balancer listener page. Otherwise, the value resolves to `Default`. + * * @return builder * */ @@ -404,6 +410,8 @@ public Builder tags(@Nullable Output> tags) { /** * @param tags A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * + * > **Note::** When a `Name` key is specified in the map, the AWS Console maps the value to the `Name Tag` column value inside the `Listener Rules` table within a specific load balancer listener page. Otherwise, the value resolves to `Default`. + * * @return builder * */ diff --git a/sdk/java/src/main/java/com/pulumi/aws/lb/inputs/ListenerState.java b/sdk/java/src/main/java/com/pulumi/aws/lb/inputs/ListenerState.java index 2f0804e97ad..28c945a0c08 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/lb/inputs/ListenerState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/lb/inputs/ListenerState.java @@ -162,6 +162,8 @@ public Optional> sslPolicy() { /** * A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * + * > **Note::** When a `Name` key is specified in the map, the AWS Console maps the value to the `Name Tag` column value inside the `Listener Rules` table within a specific load balancer listener page. Otherwise, the value resolves to `Default`. + * */ @Import(name="tags") private @Nullable Output> tags; @@ -169,6 +171,8 @@ public Optional> sslPolicy() { /** * @return A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * + * > **Note::** When a `Name` key is specified in the map, the AWS Console maps the value to the `Name Tag` column value inside the `Listener Rules` table within a specific load balancer listener page. Otherwise, the value resolves to `Default`. + * */ public Optional>> tags() { return Optional.ofNullable(this.tags); @@ -453,6 +457,8 @@ public Builder sslPolicy(String sslPolicy) { /** * @param tags A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * + * > **Note::** When a `Name` key is specified in the map, the AWS Console maps the value to the `Name Tag` column value inside the `Listener Rules` table within a specific load balancer listener page. Otherwise, the value resolves to `Default`. + * * @return builder * */ @@ -464,6 +470,8 @@ public Builder tags(@Nullable Output> tags) { /** * @param tags A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * + * > **Note::** When a `Name` key is specified in the map, the AWS Console maps the value to the `Name Tag` column value inside the `Listener Rules` table within a specific load balancer listener page. Otherwise, the value resolves to `Default`. + * * @return builder * */ diff --git a/sdk/java/src/main/java/com/pulumi/aws/lex/LexFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/lex/LexFunctions.java index 1bc4df15c6b..b0f0f0bedff 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/lex/LexFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/lex/LexFunctions.java @@ -20,6 +20,7 @@ import com.pulumi.core.TypeShape; import com.pulumi.deployment.Deployment; import com.pulumi.deployment.InvokeOptions; +import com.pulumi.deployment.InvokeOutputOptions; import java.util.concurrent.CompletableFuture; public final class LexFunctions { @@ -152,6 +153,49 @@ public static CompletableFuture getBotPlain(GetBotPlainArgs args) public static Output getBot(GetBotArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:lex/getBot:getBot", TypeShape.of(GetBotResult.class), args, Utilities.withVersion(options)); } + /** + * Provides details about a specific Amazon Lex Bot. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.lex.LexFunctions;
+     * import com.pulumi.aws.lex.inputs.GetBotArgs;
+     * 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 orderFlowersBot = LexFunctions.getBot(GetBotArgs.builder()
+     *             .name("OrderFlowers")
+     *             .version("$LATEST")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getBot(GetBotArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:lex/getBot:getBot", TypeShape.of(GetBotResult.class), args, Utilities.withVersion(options)); + } /** * Provides details about a specific Amazon Lex Bot. * @@ -324,6 +368,49 @@ public static CompletableFuture getBotAliasPlain(GetBotAliasP public static Output getBotAlias(GetBotAliasArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:lex/getBotAlias:getBotAlias", TypeShape.of(GetBotAliasResult.class), args, Utilities.withVersion(options)); } + /** + * Provides details about a specific Amazon Lex Bot Alias. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.lex.LexFunctions;
+     * import com.pulumi.aws.lex.inputs.GetBotAliasArgs;
+     * 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 orderFlowersProd = LexFunctions.getBotAlias(GetBotAliasArgs.builder()
+     *             .botName("OrderFlowers")
+     *             .name("OrderFlowersProd")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getBotAlias(GetBotAliasArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:lex/getBotAlias:getBotAlias", TypeShape.of(GetBotAliasResult.class), args, Utilities.withVersion(options)); + } /** * Provides details about a specific Amazon Lex Bot Alias. * @@ -496,6 +583,49 @@ public static CompletableFuture getIntentPlain(GetIntentPlainAr public static Output getIntent(GetIntentArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:lex/getIntent:getIntent", TypeShape.of(GetIntentResult.class), args, Utilities.withVersion(options)); } + /** + * Provides details about a specific Amazon Lex Intent. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.lex.LexFunctions;
+     * import com.pulumi.aws.lex.inputs.GetIntentArgs;
+     * 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 orderFlowers = LexFunctions.getIntent(GetIntentArgs.builder()
+     *             .name("OrderFlowers")
+     *             .version("$LATEST")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getIntent(GetIntentArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:lex/getIntent:getIntent", TypeShape.of(GetIntentResult.class), args, Utilities.withVersion(options)); + } /** * Provides details about a specific Amazon Lex Intent. * @@ -668,6 +798,49 @@ public static CompletableFuture getSlotTypePlain(GetSlotTypeP public static Output getSlotType(GetSlotTypeArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:lex/getSlotType:getSlotType", TypeShape.of(GetSlotTypeResult.class), args, Utilities.withVersion(options)); } + /** + * Provides details about a specific Amazon Lex Slot Type. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.lex.LexFunctions;
+     * import com.pulumi.aws.lex.inputs.GetSlotTypeArgs;
+     * 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 flowerTypes = LexFunctions.getSlotType(GetSlotTypeArgs.builder()
+     *             .name("FlowerTypes")
+     *             .version("1")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getSlotType(GetSlotTypeArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:lex/getSlotType:getSlotType", TypeShape.of(GetSlotTypeResult.class), args, Utilities.withVersion(options)); + } /** * Provides details about a specific Amazon Lex Slot Type. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/licensemanager/LicensemanagerFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/licensemanager/LicensemanagerFunctions.java index 4a2428ddf06..f72867dfb2f 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/licensemanager/LicensemanagerFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/licensemanager/LicensemanagerFunctions.java @@ -17,6 +17,7 @@ import com.pulumi.core.TypeShape; import com.pulumi.deployment.Deployment; import com.pulumi.deployment.InvokeOptions; +import com.pulumi.deployment.InvokeOutputOptions; import java.util.concurrent.CompletableFuture; public final class LicensemanagerFunctions { @@ -275,6 +276,57 @@ public static CompletableFuture getLicenseGrantsPlain(Ge public static Output getLicenseGrants(GetLicenseGrantsArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:licensemanager/getLicenseGrants:getLicenseGrants", TypeShape.of(GetLicenseGrantsResult.class), args, Utilities.withVersion(options)); } + /** + * This resource can be used to get a set of license grant ARNs matching a filter. + * + * ## Example Usage + * + * The following shows getting all license grant ARNs granted to your account. + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.AwsFunctions;
+     * import com.pulumi.aws.inputs.GetCallerIdentityArgs;
+     * import com.pulumi.aws.licensemanager.LicensemanagerFunctions;
+     * import com.pulumi.aws.licensemanager.inputs.GetLicenseGrantsArgs;
+     * 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 current = AwsFunctions.getCallerIdentity();
+     * 
+     *         final var test = LicensemanagerFunctions.getLicenseGrants(GetLicenseGrantsArgs.builder()
+     *             .filters(GetLicenseGrantsFilterArgs.builder()
+     *                 .name("GranteePrincipalARN")
+     *                 .values(String.format("arn:aws:iam::%s:root", current.applyValue(getCallerIdentityResult -> getCallerIdentityResult.accountId())))
+     *                 .build())
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getLicenseGrants(GetLicenseGrantsArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:licensemanager/getLicenseGrants:getLicenseGrants", TypeShape.of(GetLicenseGrantsResult.class), args, Utilities.withVersion(options)); + } /** * This resource can be used to get a set of license grant ARNs matching a filter. * @@ -458,6 +510,50 @@ public static CompletableFuture getReceivedLicensePlai public static Output getReceivedLicense(GetReceivedLicenseArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:licensemanager/getReceivedLicense:getReceivedLicense", TypeShape.of(GetReceivedLicenseResult.class), args, Utilities.withVersion(options)); } + /** + * This resource can be used to get data on a received license using an ARN. This can be helpful for pulling in data on a license from the AWS marketplace and sharing that license with another account. + * + * ## Example Usage + * + * The following shows getting the received license data using and ARN. + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.licensemanager.LicensemanagerFunctions;
+     * import com.pulumi.aws.licensemanager.inputs.GetReceivedLicenseArgs;
+     * 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 test = LicensemanagerFunctions.getReceivedLicense(GetReceivedLicenseArgs.builder()
+     *             .licenseArn("arn:aws:license-manager::111111111111:license:l-ecbaa94eb71a4830b6d7e49268fecaa0")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getReceivedLicense(GetReceivedLicenseArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:licensemanager/getReceivedLicense:getReceivedLicense", TypeShape.of(GetReceivedLicenseResult.class), args, Utilities.withVersion(options)); + } /** * This resource can be used to get data on a received license using an ARN. This can be helpful for pulling in data on a license from the AWS marketplace and sharing that license with another account. * @@ -737,6 +833,53 @@ public static CompletableFuture getReceivedLicensesPl public static Output getReceivedLicenses(GetReceivedLicensesArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:licensemanager/getReceivedLicenses:getReceivedLicenses", TypeShape.of(GetReceivedLicensesResult.class), args, Utilities.withVersion(options)); } + /** + * This resource can be used to get a set of license ARNs matching a filter. + * + * ## Example Usage + * + * The following shows getting all license ARNs issued from the AWS marketplace. Providing no filter, would provide all license ARNs for the entire account. + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.licensemanager.LicensemanagerFunctions;
+     * import com.pulumi.aws.licensemanager.inputs.GetReceivedLicensesArgs;
+     * 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 test = LicensemanagerFunctions.getReceivedLicenses(GetReceivedLicensesArgs.builder()
+     *             .filters(GetReceivedLicensesFilterArgs.builder()
+     *                 .name("IssuerName")
+     *                 .values("AWS/Marketplace")
+     *                 .build())
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getReceivedLicenses(GetReceivedLicensesArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:licensemanager/getReceivedLicenses:getReceivedLicenses", TypeShape.of(GetReceivedLicensesResult.class), args, Utilities.withVersion(options)); + } /** * This resource can be used to get a set of license ARNs matching a filter. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/location/LocationFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/location/LocationFunctions.java index 71754dae2b0..7fd338e2639 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/location/LocationFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/location/LocationFunctions.java @@ -29,6 +29,7 @@ import com.pulumi.core.TypeShape; import com.pulumi.deployment.Deployment; import com.pulumi.deployment.InvokeOptions; +import com.pulumi.deployment.InvokeOutputOptions; import java.util.concurrent.CompletableFuture; public final class LocationFunctions { @@ -164,6 +165,50 @@ public static CompletableFuture getGeofenceCollecti public static Output getGeofenceCollection(GetGeofenceCollectionArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:location/getGeofenceCollection:getGeofenceCollection", TypeShape.of(GetGeofenceCollectionResult.class), args, Utilities.withVersion(options)); } + /** + * Retrieve information about a Location Service Geofence Collection. + * + * ## Example Usage + * + * ### Basic Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.location.LocationFunctions;
+     * import com.pulumi.aws.location.inputs.GetGeofenceCollectionArgs;
+     * 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 = LocationFunctions.getGeofenceCollection(GetGeofenceCollectionArgs.builder()
+     *             .collectionName("example")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getGeofenceCollection(GetGeofenceCollectionArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:location/getGeofenceCollection:getGeofenceCollection", TypeShape.of(GetGeofenceCollectionResult.class), args, Utilities.withVersion(options)); + } /** * Retrieve information about a Location Service Geofence Collection. * @@ -334,6 +379,48 @@ public static CompletableFuture getMapPlain(GetMapPlainArgs args) public static Output getMap(GetMapArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:location/getMap:getMap", TypeShape.of(GetMapResult.class), args, Utilities.withVersion(options)); } + /** + * Retrieve information about a Location Service Map. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.location.LocationFunctions;
+     * import com.pulumi.aws.location.inputs.GetMapArgs;
+     * 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 = LocationFunctions.getMap(GetMapArgs.builder()
+     *             .mapName("example")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getMap(GetMapArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:location/getMap:getMap", TypeShape.of(GetMapResult.class), args, Utilities.withVersion(options)); + } /** * Retrieve information about a Location Service Map. * @@ -502,6 +589,48 @@ public static CompletableFuture getPlaceIndexPlain(GetPlace public static Output getPlaceIndex(GetPlaceIndexArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:location/getPlaceIndex:getPlaceIndex", TypeShape.of(GetPlaceIndexResult.class), args, Utilities.withVersion(options)); } + /** + * Retrieve information about a Location Service Place Index. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.location.LocationFunctions;
+     * import com.pulumi.aws.location.inputs.GetPlaceIndexArgs;
+     * 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 = LocationFunctions.getPlaceIndex(GetPlaceIndexArgs.builder()
+     *             .indexName("example")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getPlaceIndex(GetPlaceIndexArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:location/getPlaceIndex:getPlaceIndex", TypeShape.of(GetPlaceIndexResult.class), args, Utilities.withVersion(options)); + } /** * Retrieve information about a Location Service Place Index. * @@ -670,6 +799,48 @@ public static CompletableFuture getRouteCalculatorPlai public static Output getRouteCalculator(GetRouteCalculatorArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:location/getRouteCalculator:getRouteCalculator", TypeShape.of(GetRouteCalculatorResult.class), args, Utilities.withVersion(options)); } + /** + * Retrieve information about a Location Service Route Calculator. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.location.LocationFunctions;
+     * import com.pulumi.aws.location.inputs.GetRouteCalculatorArgs;
+     * 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 = LocationFunctions.getRouteCalculator(GetRouteCalculatorArgs.builder()
+     *             .calculatorName("example")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getRouteCalculator(GetRouteCalculatorArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:location/getRouteCalculator:getRouteCalculator", TypeShape.of(GetRouteCalculatorResult.class), args, Utilities.withVersion(options)); + } /** * Retrieve information about a Location Service Route Calculator. * @@ -838,6 +1009,48 @@ public static CompletableFuture getTrackerPlain(GetTrackerPlai public static Output getTracker(GetTrackerArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:location/getTracker:getTracker", TypeShape.of(GetTrackerResult.class), args, Utilities.withVersion(options)); } + /** + * Retrieve information about a Location Service Tracker. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.location.LocationFunctions;
+     * import com.pulumi.aws.location.inputs.GetTrackerArgs;
+     * 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 = LocationFunctions.getTracker(GetTrackerArgs.builder()
+     *             .trackerName("example")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getTracker(GetTrackerArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:location/getTracker:getTracker", TypeShape.of(GetTrackerResult.class), args, Utilities.withVersion(options)); + } /** * Retrieve information about a Location Service Tracker. * @@ -1015,6 +1228,51 @@ public static CompletableFuture getTrackerAssociati public static Output getTrackerAssociation(GetTrackerAssociationArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:location/getTrackerAssociation:getTrackerAssociation", TypeShape.of(GetTrackerAssociationResult.class), args, Utilities.withVersion(options)); } + /** + * Retrieve information about a Location Service Tracker Association. + * + * ## Example Usage + * + * ### Basic Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.location.LocationFunctions;
+     * import com.pulumi.aws.location.inputs.GetTrackerAssociationArgs;
+     * 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 = LocationFunctions.getTrackerAssociation(GetTrackerAssociationArgs.builder()
+     *             .consumerArn("arn:aws:geo:region:account-id:geofence-collection/ExampleGeofenceCollectionConsumer")
+     *             .trackerName("example")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getTrackerAssociation(GetTrackerAssociationArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:location/getTrackerAssociation:getTrackerAssociation", TypeShape.of(GetTrackerAssociationResult.class), args, Utilities.withVersion(options)); + } /** * Retrieve information about a Location Service Tracker Association. * @@ -1192,6 +1450,50 @@ public static CompletableFuture getTrackerAssociat public static Output getTrackerAssociations(GetTrackerAssociationsArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:location/getTrackerAssociations:getTrackerAssociations", TypeShape.of(GetTrackerAssociationsResult.class), args, Utilities.withVersion(options)); } + /** + * Retrieve information about Location Service Tracker Associations. + * + * ## Example Usage + * + * ### Basic Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.location.LocationFunctions;
+     * import com.pulumi.aws.location.inputs.GetTrackerAssociationsArgs;
+     * 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 = LocationFunctions.getTrackerAssociations(GetTrackerAssociationsArgs.builder()
+     *             .trackerName("example")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getTrackerAssociations(GetTrackerAssociationsArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:location/getTrackerAssociations:getTrackerAssociations", TypeShape.of(GetTrackerAssociationsResult.class), args, Utilities.withVersion(options)); + } /** * Retrieve information about Location Service Tracker Associations. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/mediaconvert/MediaconvertFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/mediaconvert/MediaconvertFunctions.java index 5dd6b8bb4f5..b6c3f1619f7 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/mediaconvert/MediaconvertFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/mediaconvert/MediaconvertFunctions.java @@ -11,6 +11,7 @@ import com.pulumi.core.TypeShape; import com.pulumi.deployment.Deployment; import com.pulumi.deployment.InvokeOptions; +import com.pulumi.deployment.InvokeOutputOptions; import java.util.concurrent.CompletableFuture; public final class MediaconvertFunctions { @@ -140,6 +141,48 @@ public static CompletableFuture getQueuePlain(GetQueuePlainArgs public static Output getQueue(GetQueueArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:mediaconvert/getQueue:getQueue", TypeShape.of(GetQueueResult.class), args, Utilities.withVersion(options)); } + /** + * Retrieve information about a AWS Elemental MediaConvert Queue. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.mediaconvert.MediaconvertFunctions;
+     * import com.pulumi.aws.mediaconvert.inputs.GetQueueArgs;
+     * 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 = MediaconvertFunctions.getQueue(GetQueueArgs.builder()
+     *             .id("tf-example-queue")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getQueue(GetQueueArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:mediaconvert/getQueue:getQueue", TypeShape.of(GetQueueResult.class), args, Utilities.withVersion(options)); + } /** * Retrieve information about a AWS Elemental MediaConvert Queue. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/medialive/MedialiveFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/medialive/MedialiveFunctions.java index 3b2e0f46070..0d1dbdc7307 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/medialive/MedialiveFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/medialive/MedialiveFunctions.java @@ -11,6 +11,7 @@ import com.pulumi.core.TypeShape; import com.pulumi.deployment.Deployment; import com.pulumi.deployment.InvokeOptions; +import com.pulumi.deployment.InvokeOutputOptions; import java.util.concurrent.CompletableFuture; public final class MedialiveFunctions { @@ -146,6 +147,50 @@ public static CompletableFuture getInputPlain(GetInputPlainArgs public static Output getInput(GetInputArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:medialive/getInput:getInput", TypeShape.of(GetInputResult.class), args, Utilities.withVersion(options)); } + /** + * Data source for managing an AWS Elemental MediaLive Input. + * + * ## Example Usage + * + * ### Basic Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.medialive.MedialiveFunctions;
+     * import com.pulumi.aws.medialive.inputs.GetInputArgs;
+     * 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 = MedialiveFunctions.getInput(GetInputArgs.builder()
+     *             .id(exampleAwsMedialiveInput.id())
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getInput(GetInputArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:medialive/getInput:getInput", TypeShape.of(GetInputResult.class), args, Utilities.withVersion(options)); + } /** * Data source for managing an AWS Elemental MediaLive Input. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/memorydb/MemorydbFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/memorydb/MemorydbFunctions.java index 417041ad2b4..35d0cc98860 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/memorydb/MemorydbFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/memorydb/MemorydbFunctions.java @@ -26,6 +26,7 @@ import com.pulumi.core.TypeShape; import com.pulumi.deployment.Deployment; import com.pulumi.deployment.InvokeOptions; +import com.pulumi.deployment.InvokeOutputOptions; import java.util.concurrent.CompletableFuture; public final class MemorydbFunctions { @@ -155,6 +156,48 @@ public static CompletableFuture getAclPlain(GetAclPlainArgs args) public static Output getAcl(GetAclArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:memorydb/getAcl:getAcl", TypeShape.of(GetAclResult.class), args, Utilities.withVersion(options)); } + /** + * Provides information about a MemoryDB ACL. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.memorydb.MemorydbFunctions;
+     * import com.pulumi.aws.memorydb.inputs.GetAclArgs;
+     * 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 = MemorydbFunctions.getAcl(GetAclArgs.builder()
+     *             .name("my-acl")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getAcl(GetAclArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:memorydb/getAcl:getAcl", TypeShape.of(GetAclResult.class), args, Utilities.withVersion(options)); + } /** * Provides information about a MemoryDB ACL. * @@ -323,6 +366,48 @@ public static CompletableFuture getClusterPlain(GetClusterPlai public static Output getCluster(GetClusterArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:memorydb/getCluster:getCluster", TypeShape.of(GetClusterResult.class), args, Utilities.withVersion(options)); } + /** + * Provides information about a MemoryDB Cluster. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.memorydb.MemorydbFunctions;
+     * import com.pulumi.aws.memorydb.inputs.GetClusterArgs;
+     * 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 = MemorydbFunctions.getCluster(GetClusterArgs.builder()
+     *             .name("my-cluster")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getCluster(GetClusterArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:memorydb/getCluster:getCluster", TypeShape.of(GetClusterResult.class), args, Utilities.withVersion(options)); + } /** * Provides information about a MemoryDB Cluster. * @@ -491,6 +576,48 @@ public static CompletableFuture getParameterGroupPlain( public static Output getParameterGroup(GetParameterGroupArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:memorydb/getParameterGroup:getParameterGroup", TypeShape.of(GetParameterGroupResult.class), args, Utilities.withVersion(options)); } + /** + * Provides information about a MemoryDB Parameter Group. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.memorydb.MemorydbFunctions;
+     * import com.pulumi.aws.memorydb.inputs.GetParameterGroupArgs;
+     * 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 = MemorydbFunctions.getParameterGroup(GetParameterGroupArgs.builder()
+     *             .name("my-parameter-group")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getParameterGroup(GetParameterGroupArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:memorydb/getParameterGroup:getParameterGroup", TypeShape.of(GetParameterGroupResult.class), args, Utilities.withVersion(options)); + } /** * Provides information about a MemoryDB Parameter Group. * @@ -659,6 +786,48 @@ public static CompletableFuture getSnapshotPlain(GetSnapshotP public static Output getSnapshot(GetSnapshotArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:memorydb/getSnapshot:getSnapshot", TypeShape.of(GetSnapshotResult.class), args, Utilities.withVersion(options)); } + /** + * Provides information about a MemoryDB Snapshot. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.memorydb.MemorydbFunctions;
+     * import com.pulumi.aws.memorydb.inputs.GetSnapshotArgs;
+     * 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 = MemorydbFunctions.getSnapshot(GetSnapshotArgs.builder()
+     *             .name("my-snapshot")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getSnapshot(GetSnapshotArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:memorydb/getSnapshot:getSnapshot", TypeShape.of(GetSnapshotResult.class), args, Utilities.withVersion(options)); + } /** * Provides information about a MemoryDB Snapshot. * @@ -827,6 +996,48 @@ public static CompletableFuture getSubnetGroupPlain(GetSub public static Output getSubnetGroup(GetSubnetGroupArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:memorydb/getSubnetGroup:getSubnetGroup", TypeShape.of(GetSubnetGroupResult.class), args, Utilities.withVersion(options)); } + /** + * Provides information about a MemoryDB Subnet Group. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.memorydb.MemorydbFunctions;
+     * import com.pulumi.aws.memorydb.inputs.GetSubnetGroupArgs;
+     * 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 = MemorydbFunctions.getSubnetGroup(GetSubnetGroupArgs.builder()
+     *             .name("my-subnet-group")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getSubnetGroup(GetSubnetGroupArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:memorydb/getSubnetGroup:getSubnetGroup", TypeShape.of(GetSubnetGroupResult.class), args, Utilities.withVersion(options)); + } /** * Provides information about a MemoryDB Subnet Group. * @@ -995,6 +1206,48 @@ public static CompletableFuture getUserPlain(GetUserPlainArgs arg public static Output getUser(GetUserArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:memorydb/getUser:getUser", TypeShape.of(GetUserResult.class), args, Utilities.withVersion(options)); } + /** + * Provides information about a MemoryDB User. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.memorydb.MemorydbFunctions;
+     * import com.pulumi.aws.memorydb.inputs.GetUserArgs;
+     * 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 = MemorydbFunctions.getUser(GetUserArgs.builder()
+     *             .userName("my-user")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getUser(GetUserArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:memorydb/getUser:getUser", TypeShape.of(GetUserResult.class), args, Utilities.withVersion(options)); + } /** * Provides information about a MemoryDB User. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/mq/MqFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/mq/MqFunctions.java index ea783989561..065a842435d 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/mq/MqFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/mq/MqFunctions.java @@ -17,6 +17,7 @@ import com.pulumi.core.TypeShape; import com.pulumi.deployment.Deployment; import com.pulumi.deployment.InvokeOptions; +import com.pulumi.deployment.InvokeOutputOptions; import java.util.concurrent.CompletableFuture; public final class MqFunctions { @@ -265,6 +266,55 @@ public static CompletableFuture getBrokerPlain(GetBrokerPlainAr public static Output getBroker(GetBrokerArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:mq/getBroker:getBroker", TypeShape.of(GetBrokerResult.class), args, Utilities.withVersion(options)); } + /** + * Provides information about a MQ Broker. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.mq.MqFunctions;
+     * import com.pulumi.aws.mq.inputs.GetBrokerArgs;
+     * import java.util.List;
+     * import java.util.ArrayList;
+     * import java.util.Map;
+     * import java.io.File;
+     * import java.nio.file.Files;
+     * import java.nio.file.Paths;
+     * 
+     * public class App {
+     *     public static void main(String[] args) {
+     *         Pulumi.run(App::stack);
+     *     }
+     * 
+     *     public static void stack(Context ctx) {
+     *         final var config = ctx.config();
+     *         final var brokerId = config.get("brokerId").orElse("");
+     *         final var brokerName = config.get("brokerName").orElse("");
+     *         final var byId = MqFunctions.getBroker(GetBrokerArgs.builder()
+     *             .brokerId(brokerId)
+     *             .build());
+     * 
+     *         final var byName = MqFunctions.getBroker(GetBrokerArgs.builder()
+     *             .brokerName(brokerName)
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getBroker(GetBrokerArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:mq/getBroker:getBroker", TypeShape.of(GetBrokerResult.class), args, Utilities.withVersion(options)); + } /** * Provides information about a MQ Broker. * @@ -534,6 +584,50 @@ public static CompletableFuture getBrokerEngineTypes public static Output getBrokerEngineTypes(GetBrokerEngineTypesArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:mq/getBrokerEngineTypes:getBrokerEngineTypes", TypeShape.of(GetBrokerEngineTypesResult.class), args, Utilities.withVersion(options)); } + /** + * Retrieve information about available broker engines. + * + * ## Example Usage + * + * ### Basic Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.mq.MqFunctions;
+     * import com.pulumi.aws.mq.inputs.GetBrokerEngineTypesArgs;
+     * 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 = MqFunctions.getBrokerEngineTypes(GetBrokerEngineTypesArgs.builder()
+     *             .engineType("ACTIVEMQ")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getBrokerEngineTypes(GetBrokerEngineTypesArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:mq/getBrokerEngineTypes:getBrokerEngineTypes", TypeShape.of(GetBrokerEngineTypesResult.class), args, Utilities.withVersion(options)); + } /** * Retrieve information about available broker engines. * @@ -868,6 +962,64 @@ public static CompletableFuture getInstanceTypeO public static Output getInstanceTypeOfferings(GetInstanceTypeOfferingsArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:mq/getInstanceTypeOfferings:getInstanceTypeOfferings", TypeShape.of(GetInstanceTypeOfferingsResult.class), args, Utilities.withVersion(options)); } + /** + * Provides information about a MQ Broker Instance Offerings. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.mq.MqFunctions;
+     * import com.pulumi.aws.mq.inputs.GetInstanceTypeOfferingsArgs;
+     * 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 empty = MqFunctions.getInstanceTypeOfferings();
+     * 
+     *         final var engine = MqFunctions.getInstanceTypeOfferings(GetInstanceTypeOfferingsArgs.builder()
+     *             .engineType("ACTIVEMQ")
+     *             .build());
+     * 
+     *         final var storage = MqFunctions.getInstanceTypeOfferings(GetInstanceTypeOfferingsArgs.builder()
+     *             .storageType("EBS")
+     *             .build());
+     * 
+     *         final var instance = MqFunctions.getInstanceTypeOfferings(GetInstanceTypeOfferingsArgs.builder()
+     *             .hostInstanceType("mq.m5.large")
+     *             .build());
+     * 
+     *         final var all = MqFunctions.getInstanceTypeOfferings(GetInstanceTypeOfferingsArgs.builder()
+     *             .hostInstanceType("mq.m5.large")
+     *             .storageType("EBS")
+     *             .engineType("ACTIVEMQ")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getInstanceTypeOfferings(GetInstanceTypeOfferingsArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:mq/getInstanceTypeOfferings:getInstanceTypeOfferings", TypeShape.of(GetInstanceTypeOfferingsResult.class), args, Utilities.withVersion(options)); + } /** * Provides information about a MQ Broker Instance Offerings. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/msk/MskFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/msk/MskFunctions.java index c0b08264b85..5a5ce604d67 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/msk/MskFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/msk/MskFunctions.java @@ -26,6 +26,7 @@ import com.pulumi.core.TypeShape; import com.pulumi.deployment.Deployment; import com.pulumi.deployment.InvokeOptions; +import com.pulumi.deployment.InvokeOutputOptions; import java.util.concurrent.CompletableFuture; public final class MskFunctions { @@ -155,6 +156,48 @@ public static CompletableFuture getBootstrapBrokersPl public static Output getBootstrapBrokers(GetBootstrapBrokersArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:msk/getBootstrapBrokers:getBootstrapBrokers", TypeShape.of(GetBootstrapBrokersResult.class), args, Utilities.withVersion(options)); } + /** + * Get a list of brokers that a client application can use to bootstrap. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.msk.MskFunctions;
+     * import com.pulumi.aws.msk.inputs.GetBootstrapBrokersArgs;
+     * 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 = MskFunctions.getBootstrapBrokers(GetBootstrapBrokersArgs.builder()
+     *             .clusterArn(exampleAwsMskCluster.arn())
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getBootstrapBrokers(GetBootstrapBrokersArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:msk/getBootstrapBrokers:getBootstrapBrokers", TypeShape.of(GetBootstrapBrokersResult.class), args, Utilities.withVersion(options)); + } /** * Get a list of brokers that a client application can use to bootstrap. * @@ -323,6 +366,48 @@ public static CompletableFuture getBrokerNodesPlain(GetBro public static Output getBrokerNodes(GetBrokerNodesArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:msk/getBrokerNodes:getBrokerNodes", TypeShape.of(GetBrokerNodesResult.class), args, Utilities.withVersion(options)); } + /** + * Get information on an Amazon MSK Broker Nodes. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.msk.MskFunctions;
+     * import com.pulumi.aws.msk.inputs.GetBrokerNodesArgs;
+     * 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 = MskFunctions.getBrokerNodes(GetBrokerNodesArgs.builder()
+     *             .clusterArn(exampleAwsMskCluster.arn())
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getBrokerNodes(GetBrokerNodesArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:msk/getBrokerNodes:getBrokerNodes", TypeShape.of(GetBrokerNodesResult.class), args, Utilities.withVersion(options)); + } /** * Get information on an Amazon MSK Broker Nodes. * @@ -497,6 +582,50 @@ public static CompletableFuture getClusterPlain(GetClusterPlai public static Output getCluster(GetClusterArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:msk/getCluster:getCluster", TypeShape.of(GetClusterResult.class), args, Utilities.withVersion(options)); } + /** + * Get information on an Amazon MSK Cluster. + * + * > **Note:** This data sources returns information on _provisioned_ clusters. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.msk.MskFunctions;
+     * import com.pulumi.aws.msk.inputs.GetClusterArgs;
+     * 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 = MskFunctions.getCluster(GetClusterArgs.builder()
+     *             .clusterName("example")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getCluster(GetClusterArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:msk/getCluster:getCluster", TypeShape.of(GetClusterResult.class), args, Utilities.withVersion(options)); + } /** * Get information on an Amazon MSK Cluster. * @@ -667,6 +796,48 @@ public static CompletableFuture getConfigurationPlain(Ge public static Output getConfiguration(GetConfigurationArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:msk/getConfiguration:getConfiguration", TypeShape.of(GetConfigurationResult.class), args, Utilities.withVersion(options)); } + /** + * Get information on an Amazon MSK Configuration. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.msk.MskFunctions;
+     * import com.pulumi.aws.msk.inputs.GetConfigurationArgs;
+     * 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 = MskFunctions.getConfiguration(GetConfigurationArgs.builder()
+     *             .name("example")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getConfiguration(GetConfigurationArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:msk/getConfiguration:getConfiguration", TypeShape.of(GetConfigurationResult.class), args, Utilities.withVersion(options)); + } /** * Get information on an Amazon MSK Configuration. * @@ -954,6 +1125,55 @@ public static CompletableFuture getKafkaVersionPlain(GetK public static Output getKafkaVersion(GetKafkaVersionArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:msk/getKafkaVersion:getKafkaVersion", TypeShape.of(GetKafkaVersionResult.class), args, Utilities.withVersion(options)); } + /** + * Get information on a Amazon MSK Kafka Version + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.msk.MskFunctions;
+     * import com.pulumi.aws.msk.inputs.GetKafkaVersionArgs;
+     * 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 preferred = MskFunctions.getKafkaVersion(GetKafkaVersionArgs.builder()
+     *             .preferredVersions(            
+     *                 "2.4.1.1",
+     *                 "2.4.1",
+     *                 "2.2.1")
+     *             .build());
+     * 
+     *         final var example = MskFunctions.getKafkaVersion(GetKafkaVersionArgs.builder()
+     *             .version("2.8.0")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getKafkaVersion(GetKafkaVersionArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:msk/getKafkaVersion:getKafkaVersion", TypeShape.of(GetKafkaVersionResult.class), args, Utilities.withVersion(options)); + } /** * Get information on a Amazon MSK Kafka Version * @@ -1129,6 +1349,48 @@ public static CompletableFuture getVpcConnectionPlain(Ge public static Output getVpcConnection(GetVpcConnectionArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:msk/getVpcConnection:getVpcConnection", TypeShape.of(GetVpcConnectionResult.class), args, Utilities.withVersion(options)); } + /** + * Get information on an Amazon MSK VPC Connection. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.msk.MskFunctions;
+     * import com.pulumi.aws.msk.inputs.GetVpcConnectionArgs;
+     * 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 = MskFunctions.getVpcConnection(GetVpcConnectionArgs.builder()
+     *             .arn(exampleAwsMskVpcConnection.arn())
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getVpcConnection(GetVpcConnectionArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:msk/getVpcConnection:getVpcConnection", TypeShape.of(GetVpcConnectionResult.class), args, Utilities.withVersion(options)); + } /** * Get information on an Amazon MSK VPC Connection. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/msk/Replicator.java b/sdk/java/src/main/java/com/pulumi/aws/msk/Replicator.java index efb400e5648..82f6e46e10e 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/msk/Replicator.java +++ b/sdk/java/src/main/java/com/pulumi/aws/msk/Replicator.java @@ -80,6 +80,7 @@ * .targetKafkaClusterArn(target.arn()) * .targetCompressionType("NONE") * .topicReplications(ReplicatorReplicationInfoListTopicReplicationArgs.builder() + * .topicConfigurationName(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference)) * .topicsToReplicates(".*") * .startingPosition(ReplicatorReplicationInfoListTopicReplicationStartingPositionArgs.builder() * .type("LATEST") diff --git a/sdk/java/src/main/java/com/pulumi/aws/msk/ScramSecretAssociation.java b/sdk/java/src/main/java/com/pulumi/aws/msk/ScramSecretAssociation.java index b6fc0161c95..924923e7ba6 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/msk/ScramSecretAssociation.java +++ b/sdk/java/src/main/java/com/pulumi/aws/msk/ScramSecretAssociation.java @@ -17,6 +17,8 @@ /** * Associates SCRAM secrets stored in the Secrets Manager service with a Managed Streaming for Kafka (MSK) cluster. * + * !> This resource takes exclusive ownership over SCRAM secrets associated with a cluster. This includes removal of SCRAM secrets which are not explicitly configured. To prevent persistent drift, ensure any `aws.msk.SingleScramSecretAssociation` resources managed alongside this resource are included in the `secret_arn_list` argument. + * * > **Note:** The following assumes the MSK cluster has SASL/SCRAM authentication enabled. See below for example usage or refer to the [Username/Password Authentication](https://docs.aws.amazon.com/msk/latest/developerguide/msk-password.html) section of the MSK Developer Guide for more details. * * To set up username and password authentication for a cluster, create an `aws.secretsmanager.Secret` resource and associate diff --git a/sdk/java/src/main/java/com/pulumi/aws/msk/SingleScramSecretAssociation.java b/sdk/java/src/main/java/com/pulumi/aws/msk/SingleScramSecretAssociation.java new file mode 100644 index 00000000000..97802806af3 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/msk/SingleScramSecretAssociation.java @@ -0,0 +1,150 @@ +// *** 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.msk; + +import com.pulumi.aws.Utilities; +import com.pulumi.aws.msk.SingleScramSecretAssociationArgs; +import com.pulumi.aws.msk.inputs.SingleScramSecretAssociationState; +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 javax.annotation.Nullable; + +/** + * Associates a single SCRAM secret with a Managed Streaming for Kafka (MSK) cluster. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+ * {@code
+ * package generated_program;
+ * 
+ * import com.pulumi.Context;
+ * import com.pulumi.Pulumi;
+ * import com.pulumi.core.Output;
+ * import com.pulumi.aws.msk.SingleScramSecretAssociation;
+ * import com.pulumi.aws.msk.SingleScramSecretAssociationArgs;
+ * 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 SingleScramSecretAssociation("example", SingleScramSecretAssociationArgs.builder()
+ *             .clusterArn(exampleAwsMskCluster.arn())
+ *             .secretArn(exampleAwsSecretsmanagerSecret.arn())
+ *             .build());
+ * 
+ *     }
+ * }
+ * }
+ * 
+ * <!--End PulumiCodeChooser --> + * + * ## Import + * + * Using `pulumi import`, import an MSK SCRAM Secret Association using the `cluster_arn` and `secret_arn`. For example: + * + * ```sh + * $ pulumi import aws:msk/singleScramSecretAssociation:SingleScramSecretAssociation example arn:aws:kafka:us-west-2:123456789012:cluster/example/279c0212-d057-4dba-9aa9-1c4e5a25bfc7-3,arn:aws:secretsmanager:us-east-1:123456789012:secret:example-123456 + * ``` + * + */ +@ResourceType(type="aws:msk/singleScramSecretAssociation:SingleScramSecretAssociation") +public class SingleScramSecretAssociation extends com.pulumi.resources.CustomResource { + /** + * Amazon Resource Name (ARN) of the MSK cluster. + * + */ + @Export(name="clusterArn", refs={String.class}, tree="[0]") + private Output clusterArn; + + /** + * @return Amazon Resource Name (ARN) of the MSK cluster. + * + */ + public Output clusterArn() { + return this.clusterArn; + } + /** + * AWS Secrets Manager secret ARN. + * + */ + @Export(name="secretArn", refs={String.class}, tree="[0]") + private Output secretArn; + + /** + * @return AWS Secrets Manager secret ARN. + * + */ + public Output secretArn() { + return this.secretArn; + } + + /** + * + * @param name The _unique_ name of the resulting resource. + */ + public SingleScramSecretAssociation(java.lang.String name) { + this(name, SingleScramSecretAssociationArgs.Empty); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + */ + public SingleScramSecretAssociation(java.lang.String name, SingleScramSecretAssociationArgs 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 SingleScramSecretAssociation(java.lang.String name, SingleScramSecretAssociationArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("aws:msk/singleScramSecretAssociation:SingleScramSecretAssociation", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false); + } + + private SingleScramSecretAssociation(java.lang.String name, Output id, @Nullable SingleScramSecretAssociationState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("aws:msk/singleScramSecretAssociation:SingleScramSecretAssociation", name, state, makeResourceOptions(options, id), false); + } + + private static SingleScramSecretAssociationArgs makeArgs(SingleScramSecretAssociationArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + if (options != null && options.getUrn().isPresent()) { + return null; + } + return args == null ? SingleScramSecretAssociationArgs.Empty : args; + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() + .version(Utilities.getVersion()) + .build(); + return com.pulumi.resources.CustomResourceOptions.merge(defaultOptions, options, id); + } + + /** + * Get an existing Host resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param state + * @param options Optional settings to control the behavior of the CustomResource. + */ + public static SingleScramSecretAssociation get(java.lang.String name, Output id, @Nullable SingleScramSecretAssociationState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + return new SingleScramSecretAssociation(name, id, state, options); + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/msk/SingleScramSecretAssociationArgs.java b/sdk/java/src/main/java/com/pulumi/aws/msk/SingleScramSecretAssociationArgs.java new file mode 100644 index 00000000000..3057f18c835 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/msk/SingleScramSecretAssociationArgs.java @@ -0,0 +1,125 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.msk; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; + + +public final class SingleScramSecretAssociationArgs extends com.pulumi.resources.ResourceArgs { + + public static final SingleScramSecretAssociationArgs Empty = new SingleScramSecretAssociationArgs(); + + /** + * Amazon Resource Name (ARN) of the MSK cluster. + * + */ + @Import(name="clusterArn", required=true) + private Output clusterArn; + + /** + * @return Amazon Resource Name (ARN) of the MSK cluster. + * + */ + public Output clusterArn() { + return this.clusterArn; + } + + /** + * AWS Secrets Manager secret ARN. + * + */ + @Import(name="secretArn", required=true) + private Output secretArn; + + /** + * @return AWS Secrets Manager secret ARN. + * + */ + public Output secretArn() { + return this.secretArn; + } + + private SingleScramSecretAssociationArgs() {} + + private SingleScramSecretAssociationArgs(SingleScramSecretAssociationArgs $) { + this.clusterArn = $.clusterArn; + this.secretArn = $.secretArn; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(SingleScramSecretAssociationArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private SingleScramSecretAssociationArgs $; + + public Builder() { + $ = new SingleScramSecretAssociationArgs(); + } + + public Builder(SingleScramSecretAssociationArgs defaults) { + $ = new SingleScramSecretAssociationArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param clusterArn Amazon Resource Name (ARN) of the MSK cluster. + * + * @return builder + * + */ + public Builder clusterArn(Output clusterArn) { + $.clusterArn = clusterArn; + return this; + } + + /** + * @param clusterArn Amazon Resource Name (ARN) of the MSK cluster. + * + * @return builder + * + */ + public Builder clusterArn(String clusterArn) { + return clusterArn(Output.of(clusterArn)); + } + + /** + * @param secretArn AWS Secrets Manager secret ARN. + * + * @return builder + * + */ + public Builder secretArn(Output secretArn) { + $.secretArn = secretArn; + return this; + } + + /** + * @param secretArn AWS Secrets Manager secret ARN. + * + * @return builder + * + */ + public Builder secretArn(String secretArn) { + return secretArn(Output.of(secretArn)); + } + + public SingleScramSecretAssociationArgs build() { + if ($.clusterArn == null) { + throw new MissingRequiredPropertyException("SingleScramSecretAssociationArgs", "clusterArn"); + } + if ($.secretArn == null) { + throw new MissingRequiredPropertyException("SingleScramSecretAssociationArgs", "secretArn"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/msk/inputs/ReplicatorReplicationInfoListTopicReplicationArgs.java b/sdk/java/src/main/java/com/pulumi/aws/msk/inputs/ReplicatorReplicationInfoListTopicReplicationArgs.java index 4bb20cd91ea..2b5c66a37db 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/msk/inputs/ReplicatorReplicationInfoListTopicReplicationArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/msk/inputs/ReplicatorReplicationInfoListTopicReplicationArgs.java @@ -4,6 +4,7 @@ package com.pulumi.aws.msk.inputs; import com.pulumi.aws.msk.inputs.ReplicatorReplicationInfoListTopicReplicationStartingPositionArgs; +import com.pulumi.aws.msk.inputs.ReplicatorReplicationInfoListTopicReplicationTopicNameConfigurationArgs; import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; import com.pulumi.exceptions.MissingRequiredPropertyException; @@ -79,6 +80,13 @@ public Optional topicNameConfiguration; + + public Optional> topicNameConfiguration() { + return Optional.ofNullable(this.topicNameConfiguration); + } + /** * List of regular expression patterns indicating the topics that should not be replica. * @@ -116,6 +124,7 @@ private ReplicatorReplicationInfoListTopicReplicationArgs(ReplicatorReplicationI this.copyTopicConfigurations = $.copyTopicConfigurations; this.detectAndCopyNewTopics = $.detectAndCopyNewTopics; this.startingPosition = $.startingPosition; + this.topicNameConfiguration = $.topicNameConfiguration; this.topicsToExcludes = $.topicsToExcludes; this.topicsToReplicates = $.topicsToReplicates; } @@ -222,6 +231,15 @@ public Builder startingPosition(ReplicatorReplicationInfoListTopicReplicationSta return startingPosition(Output.of(startingPosition)); } + public Builder topicNameConfiguration(@Nullable Output topicNameConfiguration) { + $.topicNameConfiguration = topicNameConfiguration; + return this; + } + + public Builder topicNameConfiguration(ReplicatorReplicationInfoListTopicReplicationTopicNameConfigurationArgs topicNameConfiguration) { + return topicNameConfiguration(Output.of(topicNameConfiguration)); + } + /** * @param topicsToExcludes List of regular expression patterns indicating the topics that should not be replica. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/msk/inputs/ReplicatorReplicationInfoListTopicReplicationTopicNameConfigurationArgs.java b/sdk/java/src/main/java/com/pulumi/aws/msk/inputs/ReplicatorReplicationInfoListTopicReplicationTopicNameConfigurationArgs.java new file mode 100644 index 00000000000..8c4e017ac55 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/msk/inputs/ReplicatorReplicationInfoListTopicReplicationTopicNameConfigurationArgs.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.msk.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 ReplicatorReplicationInfoListTopicReplicationTopicNameConfigurationArgs extends com.pulumi.resources.ResourceArgs { + + public static final ReplicatorReplicationInfoListTopicReplicationTopicNameConfigurationArgs Empty = new ReplicatorReplicationInfoListTopicReplicationTopicNameConfigurationArgs(); + + @Import(name="type") + private @Nullable Output type; + + public Optional> type() { + return Optional.ofNullable(this.type); + } + + private ReplicatorReplicationInfoListTopicReplicationTopicNameConfigurationArgs() {} + + private ReplicatorReplicationInfoListTopicReplicationTopicNameConfigurationArgs(ReplicatorReplicationInfoListTopicReplicationTopicNameConfigurationArgs $) { + this.type = $.type; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(ReplicatorReplicationInfoListTopicReplicationTopicNameConfigurationArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private ReplicatorReplicationInfoListTopicReplicationTopicNameConfigurationArgs $; + + public Builder() { + $ = new ReplicatorReplicationInfoListTopicReplicationTopicNameConfigurationArgs(); + } + + public Builder(ReplicatorReplicationInfoListTopicReplicationTopicNameConfigurationArgs defaults) { + $ = new ReplicatorReplicationInfoListTopicReplicationTopicNameConfigurationArgs(Objects.requireNonNull(defaults)); + } + + public Builder type(@Nullable Output type) { + $.type = type; + return this; + } + + public Builder type(String type) { + return type(Output.of(type)); + } + + public ReplicatorReplicationInfoListTopicReplicationTopicNameConfigurationArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/msk/inputs/SingleScramSecretAssociationState.java b/sdk/java/src/main/java/com/pulumi/aws/msk/inputs/SingleScramSecretAssociationState.java new file mode 100644 index 00000000000..4e7c0e5d68c --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/msk/inputs/SingleScramSecretAssociationState.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.msk.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 SingleScramSecretAssociationState extends com.pulumi.resources.ResourceArgs { + + public static final SingleScramSecretAssociationState Empty = new SingleScramSecretAssociationState(); + + /** + * Amazon Resource Name (ARN) of the MSK cluster. + * + */ + @Import(name="clusterArn") + private @Nullable Output clusterArn; + + /** + * @return Amazon Resource Name (ARN) of the MSK cluster. + * + */ + public Optional> clusterArn() { + return Optional.ofNullable(this.clusterArn); + } + + /** + * AWS Secrets Manager secret ARN. + * + */ + @Import(name="secretArn") + private @Nullable Output secretArn; + + /** + * @return AWS Secrets Manager secret ARN. + * + */ + public Optional> secretArn() { + return Optional.ofNullable(this.secretArn); + } + + private SingleScramSecretAssociationState() {} + + private SingleScramSecretAssociationState(SingleScramSecretAssociationState $) { + this.clusterArn = $.clusterArn; + this.secretArn = $.secretArn; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(SingleScramSecretAssociationState defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private SingleScramSecretAssociationState $; + + public Builder() { + $ = new SingleScramSecretAssociationState(); + } + + public Builder(SingleScramSecretAssociationState defaults) { + $ = new SingleScramSecretAssociationState(Objects.requireNonNull(defaults)); + } + + /** + * @param clusterArn Amazon Resource Name (ARN) of the MSK cluster. + * + * @return builder + * + */ + public Builder clusterArn(@Nullable Output clusterArn) { + $.clusterArn = clusterArn; + return this; + } + + /** + * @param clusterArn Amazon Resource Name (ARN) of the MSK cluster. + * + * @return builder + * + */ + public Builder clusterArn(String clusterArn) { + return clusterArn(Output.of(clusterArn)); + } + + /** + * @param secretArn AWS Secrets Manager secret ARN. + * + * @return builder + * + */ + public Builder secretArn(@Nullable Output secretArn) { + $.secretArn = secretArn; + return this; + } + + /** + * @param secretArn AWS Secrets Manager secret ARN. + * + * @return builder + * + */ + public Builder secretArn(String secretArn) { + return secretArn(Output.of(secretArn)); + } + + public SingleScramSecretAssociationState build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/msk/outputs/ReplicatorReplicationInfoListTopicReplication.java b/sdk/java/src/main/java/com/pulumi/aws/msk/outputs/ReplicatorReplicationInfoListTopicReplication.java index d5f7cd1bf33..9cc47f10e4d 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/msk/outputs/ReplicatorReplicationInfoListTopicReplication.java +++ b/sdk/java/src/main/java/com/pulumi/aws/msk/outputs/ReplicatorReplicationInfoListTopicReplication.java @@ -4,6 +4,7 @@ package com.pulumi.aws.msk.outputs; import com.pulumi.aws.msk.outputs.ReplicatorReplicationInfoListTopicReplicationStartingPosition; +import com.pulumi.aws.msk.outputs.ReplicatorReplicationInfoListTopicReplicationTopicNameConfiguration; import com.pulumi.core.annotations.CustomType; import com.pulumi.exceptions.MissingRequiredPropertyException; import java.lang.Boolean; @@ -35,6 +36,7 @@ public final class ReplicatorReplicationInfoListTopicReplication { * */ private @Nullable ReplicatorReplicationInfoListTopicReplicationStartingPosition startingPosition; + private @Nullable ReplicatorReplicationInfoListTopicReplicationTopicNameConfiguration topicNameConfiguration; /** * @return List of regular expression patterns indicating the topics that should not be replica. * @@ -75,6 +77,9 @@ public Optional detectAndCopyNewTopics() { public Optional startingPosition() { return Optional.ofNullable(this.startingPosition); } + public Optional topicNameConfiguration() { + return Optional.ofNullable(this.topicNameConfiguration); + } /** * @return List of regular expression patterns indicating the topics that should not be replica. * @@ -103,6 +108,7 @@ public static final class Builder { private @Nullable Boolean copyTopicConfigurations; private @Nullable Boolean detectAndCopyNewTopics; private @Nullable ReplicatorReplicationInfoListTopicReplicationStartingPosition startingPosition; + private @Nullable ReplicatorReplicationInfoListTopicReplicationTopicNameConfiguration topicNameConfiguration; private @Nullable List topicsToExcludes; private List topicsToReplicates; public Builder() {} @@ -112,6 +118,7 @@ public Builder(ReplicatorReplicationInfoListTopicReplication defaults) { this.copyTopicConfigurations = defaults.copyTopicConfigurations; this.detectAndCopyNewTopics = defaults.detectAndCopyNewTopics; this.startingPosition = defaults.startingPosition; + this.topicNameConfiguration = defaults.topicNameConfiguration; this.topicsToExcludes = defaults.topicsToExcludes; this.topicsToReplicates = defaults.topicsToReplicates; } @@ -141,6 +148,12 @@ public Builder startingPosition(@Nullable ReplicatorReplicationInfoListTopicRepl return this; } @CustomType.Setter + public Builder topicNameConfiguration(@Nullable ReplicatorReplicationInfoListTopicReplicationTopicNameConfiguration topicNameConfiguration) { + + this.topicNameConfiguration = topicNameConfiguration; + return this; + } + @CustomType.Setter public Builder topicsToExcludes(@Nullable List topicsToExcludes) { this.topicsToExcludes = topicsToExcludes; @@ -166,6 +179,7 @@ public ReplicatorReplicationInfoListTopicReplication build() { _resultValue.copyTopicConfigurations = copyTopicConfigurations; _resultValue.detectAndCopyNewTopics = detectAndCopyNewTopics; _resultValue.startingPosition = startingPosition; + _resultValue.topicNameConfiguration = topicNameConfiguration; _resultValue.topicsToExcludes = topicsToExcludes; _resultValue.topicsToReplicates = topicsToReplicates; return _resultValue; diff --git a/sdk/java/src/main/java/com/pulumi/aws/msk/outputs/ReplicatorReplicationInfoListTopicReplicationTopicNameConfiguration.java b/sdk/java/src/main/java/com/pulumi/aws/msk/outputs/ReplicatorReplicationInfoListTopicReplicationTopicNameConfiguration.java new file mode 100644 index 00000000000..082c54ac297 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/msk/outputs/ReplicatorReplicationInfoListTopicReplicationTopicNameConfiguration.java @@ -0,0 +1,49 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.msk.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 ReplicatorReplicationInfoListTopicReplicationTopicNameConfiguration { + private @Nullable String type; + + private ReplicatorReplicationInfoListTopicReplicationTopicNameConfiguration() {} + public Optional type() { + return Optional.ofNullable(this.type); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(ReplicatorReplicationInfoListTopicReplicationTopicNameConfiguration defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable String type; + public Builder() {} + public Builder(ReplicatorReplicationInfoListTopicReplicationTopicNameConfiguration defaults) { + Objects.requireNonNull(defaults); + this.type = defaults.type; + } + + @CustomType.Setter + public Builder type(@Nullable String type) { + + this.type = type; + return this; + } + public ReplicatorReplicationInfoListTopicReplicationTopicNameConfiguration build() { + final var _resultValue = new ReplicatorReplicationInfoListTopicReplicationTopicNameConfiguration(); + _resultValue.type = type; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/mskconnect/MskconnectFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/mskconnect/MskconnectFunctions.java index f30e9340dd6..74ca6703c36 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/mskconnect/MskconnectFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/mskconnect/MskconnectFunctions.java @@ -17,6 +17,7 @@ import com.pulumi.core.TypeShape; import com.pulumi.deployment.Deployment; import com.pulumi.deployment.InvokeOptions; +import com.pulumi.deployment.InvokeOutputOptions; import java.util.concurrent.CompletableFuture; public final class MskconnectFunctions { @@ -146,6 +147,48 @@ public static CompletableFuture getConnectorPlain(GetConnect public static Output getConnector(GetConnectorArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:mskconnect/getConnector:getConnector", TypeShape.of(GetConnectorResult.class), args, Utilities.withVersion(options)); } + /** + * Get information on an Amazon MSK Connect Connector. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.mskconnect.MskconnectFunctions;
+     * import com.pulumi.aws.mskconnect.inputs.GetConnectorArgs;
+     * 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 = MskconnectFunctions.getConnector(GetConnectorArgs.builder()
+     *             .name("example-mskconnector")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getConnector(GetConnectorArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:mskconnect/getConnector:getConnector", TypeShape.of(GetConnectorResult.class), args, Utilities.withVersion(options)); + } /** * Get information on an Amazon MSK Connect Connector. * @@ -314,6 +357,48 @@ public static CompletableFuture getCustomPluginPlain(GetC public static Output getCustomPlugin(GetCustomPluginArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:mskconnect/getCustomPlugin:getCustomPlugin", TypeShape.of(GetCustomPluginResult.class), args, Utilities.withVersion(options)); } + /** + * Get information on an Amazon MSK Connect custom plugin. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.mskconnect.MskconnectFunctions;
+     * import com.pulumi.aws.mskconnect.inputs.GetCustomPluginArgs;
+     * 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 = MskconnectFunctions.getCustomPlugin(GetCustomPluginArgs.builder()
+     *             .name("example-debezium-1")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getCustomPlugin(GetCustomPluginArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:mskconnect/getCustomPlugin:getCustomPlugin", TypeShape.of(GetCustomPluginResult.class), args, Utilities.withVersion(options)); + } /** * Get information on an Amazon MSK Connect custom plugin. * @@ -482,6 +567,48 @@ public static CompletableFuture getWorkerConfigura public static Output getWorkerConfiguration(GetWorkerConfigurationArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:mskconnect/getWorkerConfiguration:getWorkerConfiguration", TypeShape.of(GetWorkerConfigurationResult.class), args, Utilities.withVersion(options)); } + /** + * Get information on an Amazon MSK Connect Worker Configuration. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.mskconnect.MskconnectFunctions;
+     * import com.pulumi.aws.mskconnect.inputs.GetWorkerConfigurationArgs;
+     * 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 = MskconnectFunctions.getWorkerConfiguration(GetWorkerConfigurationArgs.builder()
+     *             .name("example")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getWorkerConfiguration(GetWorkerConfigurationArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:mskconnect/getWorkerConfiguration:getWorkerConfiguration", TypeShape.of(GetWorkerConfigurationResult.class), args, Utilities.withVersion(options)); + } /** * Get information on an Amazon MSK Connect Worker Configuration. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/neptune/NeptuneFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/neptune/NeptuneFunctions.java index 00b7a387214..1f5c290e4a3 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/neptune/NeptuneFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/neptune/NeptuneFunctions.java @@ -14,6 +14,7 @@ import com.pulumi.core.TypeShape; import com.pulumi.deployment.Deployment; import com.pulumi.deployment.InvokeOptions; +import com.pulumi.deployment.InvokeOutputOptions; import java.util.concurrent.CompletableFuture; public final class NeptuneFunctions { @@ -242,6 +243,51 @@ public static CompletableFuture getEngineVersionPlain(Ge public static Output getEngineVersion(GetEngineVersionArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:neptune/getEngineVersion:getEngineVersion", TypeShape.of(GetEngineVersionResult.class), args, Utilities.withVersion(options)); } + /** + * Information about a Neptune engine version. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.neptune.NeptuneFunctions;
+     * import com.pulumi.aws.neptune.inputs.GetEngineVersionArgs;
+     * 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 test = NeptuneFunctions.getEngineVersion(GetEngineVersionArgs.builder()
+     *             .preferredVersions(            
+     *                 "1.0.3.0",
+     *                 "1.0.2.2",
+     *                 "1.0.2.1")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getEngineVersion(GetEngineVersionArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:neptune/getEngineVersion:getEngineVersion", TypeShape.of(GetEngineVersionResult.class), args, Utilities.withVersion(options)); + } /** * Information about a Neptune engine version. * @@ -517,6 +563,52 @@ public static CompletableFuture getOrderableDbInst public static Output getOrderableDbInstance(GetOrderableDbInstanceArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:neptune/getOrderableDbInstance:getOrderableDbInstance", TypeShape.of(GetOrderableDbInstanceResult.class), args, Utilities.withVersion(options)); } + /** + * Information about Neptune orderable DB instances. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.neptune.NeptuneFunctions;
+     * import com.pulumi.aws.neptune.inputs.GetOrderableDbInstanceArgs;
+     * 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 test = NeptuneFunctions.getOrderableDbInstance(GetOrderableDbInstanceArgs.builder()
+     *             .engineVersion("1.0.3.0")
+     *             .preferredInstanceClasses(            
+     *                 "db.r5.large",
+     *                 "db.r4.large",
+     *                 "db.t3.medium")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getOrderableDbInstance(GetOrderableDbInstanceArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:neptune/getOrderableDbInstance:getOrderableDbInstance", TypeShape.of(GetOrderableDbInstanceResult.class), args, Utilities.withVersion(options)); + } /** * Information about Neptune orderable DB instances. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/networkfirewall/LoggingConfiguration.java b/sdk/java/src/main/java/com/pulumi/aws/networkfirewall/LoggingConfiguration.java index 9131361e9b7..8d8b9629156 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/networkfirewall/LoggingConfiguration.java +++ b/sdk/java/src/main/java/com/pulumi/aws/networkfirewall/LoggingConfiguration.java @@ -51,7 +51,7 @@ * .logDestinationConfigs(LoggingConfigurationLoggingConfigurationLogDestinationConfigArgs.builder() * .logDestination(Map.ofEntries( * Map.entry("bucketName", exampleAwsS3Bucket.bucket()), - * Map.entry("prefix", "/example") + * Map.entry("prefix", "example") * )) * .logDestinationType("S3") * .logType("FLOW") diff --git a/sdk/java/src/main/java/com/pulumi/aws/networkfirewall/NetworkfirewallFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/networkfirewall/NetworkfirewallFunctions.java index ad26c6b5c90..5ab60041c70 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/networkfirewall/NetworkfirewallFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/networkfirewall/NetworkfirewallFunctions.java @@ -17,6 +17,7 @@ import com.pulumi.core.TypeShape; import com.pulumi.deployment.Deployment; import com.pulumi.deployment.InvokeOptions; +import com.pulumi.deployment.InvokeOutputOptions; import java.util.concurrent.CompletableFuture; public final class NetworkfirewallFunctions { @@ -707,6 +708,121 @@ public static Output getFirewall(GetFirewallArgs args, Invoke * <!--End PulumiCodeChooser --> * */ + public static Output getFirewall(GetFirewallArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:networkfirewall/getFirewall:getFirewall", TypeShape.of(GetFirewallResult.class), args, Utilities.withVersion(options)); + } + /** + * Retrieve information about a firewall. + * + * ## Example Usage + * + * ### Find firewall policy by ARN + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.networkfirewall.NetworkfirewallFunctions;
+     * import com.pulumi.aws.networkfirewall.inputs.GetFirewallArgs;
+     * 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 = NetworkfirewallFunctions.getFirewall(GetFirewallArgs.builder()
+     *             .arn(arn)
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + * ### Find firewall policy by Name + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.networkfirewall.NetworkfirewallFunctions;
+     * import com.pulumi.aws.networkfirewall.inputs.GetFirewallArgs;
+     * 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 = NetworkfirewallFunctions.getFirewall(GetFirewallArgs.builder()
+     *             .name("Test")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + * ### Find firewall policy by ARN and Name + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.networkfirewall.NetworkfirewallFunctions;
+     * import com.pulumi.aws.networkfirewall.inputs.GetFirewallArgs;
+     * 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 = NetworkfirewallFunctions.getFirewall(GetFirewallArgs.builder()
+     *             .arn(arn)
+     *             .name("Test")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ public static CompletableFuture getFirewallPlain(GetFirewallPlainArgs args, InvokeOptions options) { return Deployment.getInstance().invokeAsync("aws:networkfirewall/getFirewall:getFirewall", TypeShape.of(GetFirewallResult.class), args, Utilities.withVersion(options)); } @@ -1421,6 +1537,125 @@ public static Output getFirewallPolicy(GetFirewallPolic * > **Note:** If there are multiple firewall policies in an account with the same `name`, and `arn` is not specified, the default behavior will return the firewall policy with `name` that was created in the account. * */ + public static Output getFirewallPolicy(GetFirewallPolicyArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:networkfirewall/getFirewallPolicy:getFirewallPolicy", TypeShape.of(GetFirewallPolicyResult.class), args, Utilities.withVersion(options)); + } + /** + * Retrieve information about a firewall policy. + * + * ## Example Usage + * + * ### Find firewall policy by name + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.networkfirewall.NetworkfirewallFunctions;
+     * import com.pulumi.aws.networkfirewall.inputs.GetFirewallPolicyArgs;
+     * 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 = NetworkfirewallFunctions.getFirewallPolicy(GetFirewallPolicyArgs.builder()
+     *             .name(firewallPolicyName)
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + * ### Find firewall policy by ARN + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.networkfirewall.NetworkfirewallFunctions;
+     * import com.pulumi.aws.networkfirewall.inputs.GetFirewallPolicyArgs;
+     * 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 = NetworkfirewallFunctions.getFirewallPolicy(GetFirewallPolicyArgs.builder()
+     *             .arn(firewallPolicyArn)
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + * ### Find firewall policy by name and ARN + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.networkfirewall.NetworkfirewallFunctions;
+     * import com.pulumi.aws.networkfirewall.inputs.GetFirewallPolicyArgs;
+     * 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 = NetworkfirewallFunctions.getFirewallPolicy(GetFirewallPolicyArgs.builder()
+     *             .arn(firewallPolicyArn)
+     *             .name(firewallPolicyName)
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + * AWS Network Firewall does not allow multiple firewall policies with the same name to be created in an account. It is possible, however, to have multiple firewall policies available in a single account with identical `name` values but distinct `arn` values, e.g. firewall policies shared via a [Resource Access Manager (RAM) share][1]. In that case specifying `arn`, or `name` and `arn`, is recommended. + * + * > **Note:** If there are multiple firewall policies in an account with the same `name`, and `arn` is not specified, the default behavior will return the firewall policy with `name` that was created in the account. + * + */ public static CompletableFuture getFirewallPolicyPlain(GetFirewallPolicyPlainArgs args, InvokeOptions options) { return Deployment.getInstance().invokeAsync("aws:networkfirewall/getFirewallPolicy:getFirewallPolicy", TypeShape.of(GetFirewallPolicyResult.class), args, Utilities.withVersion(options)); } @@ -1550,6 +1785,48 @@ public static CompletableFuture getResourcePolicyPlain( public static Output getResourcePolicy(GetResourcePolicyArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:networkfirewall/getResourcePolicy:getResourcePolicy", TypeShape.of(GetResourcePolicyResult.class), args, Utilities.withVersion(options)); } + /** + * Retrieve information about a Network Firewall resource policy. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.networkfirewall.NetworkfirewallFunctions;
+     * import com.pulumi.aws.networkfirewall.inputs.GetResourcePolicyArgs;
+     * 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 = NetworkfirewallFunctions.getResourcePolicy(GetResourcePolicyArgs.builder()
+     *             .resourceArn(resourcePolicyArn)
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getResourcePolicy(GetResourcePolicyArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:networkfirewall/getResourcePolicy:getResourcePolicy", TypeShape.of(GetResourcePolicyResult.class), args, Utilities.withVersion(options)); + } /** * Retrieve information about a Network Firewall resource policy. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/networkfirewall/inputs/FirewallPolicyFirewallPolicyStatefulEngineOptionsArgs.java b/sdk/java/src/main/java/com/pulumi/aws/networkfirewall/inputs/FirewallPolicyFirewallPolicyStatefulEngineOptionsArgs.java index 1cfcf274f1e..962b07754db 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/networkfirewall/inputs/FirewallPolicyFirewallPolicyStatefulEngineOptionsArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/networkfirewall/inputs/FirewallPolicyFirewallPolicyStatefulEngineOptionsArgs.java @@ -3,6 +3,7 @@ package com.pulumi.aws.networkfirewall.inputs; +import com.pulumi.aws.networkfirewall.inputs.FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsArgs; import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; import java.lang.String; @@ -15,6 +16,21 @@ public final class FirewallPolicyFirewallPolicyStatefulEngineOptionsArgs extends public static final FirewallPolicyFirewallPolicyStatefulEngineOptionsArgs Empty = new FirewallPolicyFirewallPolicyStatefulEngineOptionsArgs(); + /** + * Amount of time that can pass without any traffic sent through the firewall before the firewall determines that the connection is idle. + * + */ + @Import(name="flowTimeouts") + private @Nullable Output flowTimeouts; + + /** + * @return Amount of time that can pass without any traffic sent through the firewall before the firewall determines that the connection is idle. + * + */ + public Optional> flowTimeouts() { + return Optional.ofNullable(this.flowTimeouts); + } + /** * Indicates how to manage the order of stateful rule evaluation for the policy. Default value: `DEFAULT_ACTION_ORDER`. Valid values: `DEFAULT_ACTION_ORDER`, `STRICT_ORDER`. * @@ -48,6 +64,7 @@ public Optional> streamExceptionPolicy() { private FirewallPolicyFirewallPolicyStatefulEngineOptionsArgs() {} private FirewallPolicyFirewallPolicyStatefulEngineOptionsArgs(FirewallPolicyFirewallPolicyStatefulEngineOptionsArgs $) { + this.flowTimeouts = $.flowTimeouts; this.ruleOrder = $.ruleOrder; this.streamExceptionPolicy = $.streamExceptionPolicy; } @@ -70,6 +87,27 @@ public Builder(FirewallPolicyFirewallPolicyStatefulEngineOptionsArgs defaults) { $ = new FirewallPolicyFirewallPolicyStatefulEngineOptionsArgs(Objects.requireNonNull(defaults)); } + /** + * @param flowTimeouts Amount of time that can pass without any traffic sent through the firewall before the firewall determines that the connection is idle. + * + * @return builder + * + */ + public Builder flowTimeouts(@Nullable Output flowTimeouts) { + $.flowTimeouts = flowTimeouts; + return this; + } + + /** + * @param flowTimeouts Amount of time that can pass without any traffic sent through the firewall before the firewall determines that the connection is idle. + * + * @return builder + * + */ + public Builder flowTimeouts(FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsArgs flowTimeouts) { + return flowTimeouts(Output.of(flowTimeouts)); + } + /** * @param ruleOrder Indicates how to manage the order of stateful rule evaluation for the policy. Default value: `DEFAULT_ACTION_ORDER`. Valid values: `DEFAULT_ACTION_ORDER`, `STRICT_ORDER`. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/networkfirewall/inputs/FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsArgs.java b/sdk/java/src/main/java/com/pulumi/aws/networkfirewall/inputs/FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsArgs.java new file mode 100644 index 00000000000..48fa5b0c098 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/networkfirewall/inputs/FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsArgs.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.networkfirewall.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Integer; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsArgs extends com.pulumi.resources.ResourceArgs { + + public static final FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsArgs Empty = new FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsArgs(); + + /** + * Number of seconds that can pass without any TCP traffic sent through the firewall before the firewall determines that the connection is idle. After the idle timeout passes, data packets are dropped, however, the next TCP SYN packet is considered a new flow and is processed by the firewall. Clients or targets can use TCP keepalive packets to reset the idle timeout. Default value: `350`. + * + */ + @Import(name="tcpIdleTimeoutSeconds") + private @Nullable Output tcpIdleTimeoutSeconds; + + /** + * @return Number of seconds that can pass without any TCP traffic sent through the firewall before the firewall determines that the connection is idle. After the idle timeout passes, data packets are dropped, however, the next TCP SYN packet is considered a new flow and is processed by the firewall. Clients or targets can use TCP keepalive packets to reset the idle timeout. Default value: `350`. + * + */ + public Optional> tcpIdleTimeoutSeconds() { + return Optional.ofNullable(this.tcpIdleTimeoutSeconds); + } + + private FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsArgs() {} + + private FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsArgs(FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsArgs $) { + this.tcpIdleTimeoutSeconds = $.tcpIdleTimeoutSeconds; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsArgs $; + + public Builder() { + $ = new FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsArgs(); + } + + public Builder(FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsArgs defaults) { + $ = new FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param tcpIdleTimeoutSeconds Number of seconds that can pass without any TCP traffic sent through the firewall before the firewall determines that the connection is idle. After the idle timeout passes, data packets are dropped, however, the next TCP SYN packet is considered a new flow and is processed by the firewall. Clients or targets can use TCP keepalive packets to reset the idle timeout. Default value: `350`. + * + * @return builder + * + */ + public Builder tcpIdleTimeoutSeconds(@Nullable Output tcpIdleTimeoutSeconds) { + $.tcpIdleTimeoutSeconds = tcpIdleTimeoutSeconds; + return this; + } + + /** + * @param tcpIdleTimeoutSeconds Number of seconds that can pass without any TCP traffic sent through the firewall before the firewall determines that the connection is idle. After the idle timeout passes, data packets are dropped, however, the next TCP SYN packet is considered a new flow and is processed by the firewall. Clients or targets can use TCP keepalive packets to reset the idle timeout. Default value: `350`. + * + * @return builder + * + */ + public Builder tcpIdleTimeoutSeconds(Integer tcpIdleTimeoutSeconds) { + return tcpIdleTimeoutSeconds(Output.of(tcpIdleTimeoutSeconds)); + } + + public FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/networkfirewall/inputs/LoggingConfigurationLoggingConfigurationLogDestinationConfigArgs.java b/sdk/java/src/main/java/com/pulumi/aws/networkfirewall/inputs/LoggingConfigurationLoggingConfigurationLogDestinationConfigArgs.java index cfa85249f3a..c8691c3f635 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/networkfirewall/inputs/LoggingConfigurationLoggingConfigurationLogDestinationConfigArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/networkfirewall/inputs/LoggingConfigurationLoggingConfigurationLogDestinationConfigArgs.java @@ -17,7 +17,7 @@ public final class LoggingConfigurationLoggingConfigurationLogDestinationConfigA /** * A map describing the logging destination for the chosen `log_destination_type`. - * * For an Amazon S3 bucket, specify the key `bucketName` with the name of the bucket and optionally specify the key `prefix` with a path. + * * For an Amazon S3 bucket, specify the key `bucketName` with the name of the bucket and optionally specify the key `prefix` with a path (Do not add a leading / in the `prefix` as the configuration will have two // when applied). * * For a CloudWatch log group, specify the key `logGroup` with the name of the CloudWatch log group. * * For a Kinesis Data Firehose delivery stream, specify the key `deliveryStream` with the name of the delivery stream. * @@ -27,7 +27,7 @@ public final class LoggingConfigurationLoggingConfigurationLogDestinationConfigA /** * @return A map describing the logging destination for the chosen `log_destination_type`. - * * For an Amazon S3 bucket, specify the key `bucketName` with the name of the bucket and optionally specify the key `prefix` with a path. + * * For an Amazon S3 bucket, specify the key `bucketName` with the name of the bucket and optionally specify the key `prefix` with a path (Do not add a leading / in the `prefix` as the configuration will have two // when applied). * * For a CloudWatch log group, specify the key `logGroup` with the name of the CloudWatch log group. * * For a Kinesis Data Firehose delivery stream, specify the key `deliveryStream` with the name of the delivery stream. * @@ -94,7 +94,7 @@ public Builder(LoggingConfigurationLoggingConfigurationLogDestinationConfigArgs /** * @param logDestination A map describing the logging destination for the chosen `log_destination_type`. - * * For an Amazon S3 bucket, specify the key `bucketName` with the name of the bucket and optionally specify the key `prefix` with a path. + * * For an Amazon S3 bucket, specify the key `bucketName` with the name of the bucket and optionally specify the key `prefix` with a path (Do not add a leading / in the `prefix` as the configuration will have two // when applied). * * For a CloudWatch log group, specify the key `logGroup` with the name of the CloudWatch log group. * * For a Kinesis Data Firehose delivery stream, specify the key `deliveryStream` with the name of the delivery stream. * @@ -108,7 +108,7 @@ public Builder logDestination(Output> logDestination) { /** * @param logDestination A map describing the logging destination for the chosen `log_destination_type`. - * * For an Amazon S3 bucket, specify the key `bucketName` with the name of the bucket and optionally specify the key `prefix` with a path. + * * For an Amazon S3 bucket, specify the key `bucketName` with the name of the bucket and optionally specify the key `prefix` with a path (Do not add a leading / in the `prefix` as the configuration will have two // when applied). * * For a CloudWatch log group, specify the key `logGroup` with the name of the CloudWatch log group. * * For a Kinesis Data Firehose delivery stream, specify the key `deliveryStream` with the name of the delivery stream. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/networkfirewall/outputs/FirewallPolicyFirewallPolicyStatefulEngineOptions.java b/sdk/java/src/main/java/com/pulumi/aws/networkfirewall/outputs/FirewallPolicyFirewallPolicyStatefulEngineOptions.java index 176cbc9c51d..b863112d5ef 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/networkfirewall/outputs/FirewallPolicyFirewallPolicyStatefulEngineOptions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/networkfirewall/outputs/FirewallPolicyFirewallPolicyStatefulEngineOptions.java @@ -3,6 +3,7 @@ package com.pulumi.aws.networkfirewall.outputs; +import com.pulumi.aws.networkfirewall.outputs.FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeouts; import com.pulumi.core.annotations.CustomType; import java.lang.String; import java.util.Objects; @@ -11,6 +12,11 @@ @CustomType public final class FirewallPolicyFirewallPolicyStatefulEngineOptions { + /** + * @return Amount of time that can pass without any traffic sent through the firewall before the firewall determines that the connection is idle. + * + */ + private @Nullable FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeouts flowTimeouts; /** * @return Indicates how to manage the order of stateful rule evaluation for the policy. Default value: `DEFAULT_ACTION_ORDER`. Valid values: `DEFAULT_ACTION_ORDER`, `STRICT_ORDER`. * @@ -23,6 +29,13 @@ public final class FirewallPolicyFirewallPolicyStatefulEngineOptions { private @Nullable String streamExceptionPolicy; private FirewallPolicyFirewallPolicyStatefulEngineOptions() {} + /** + * @return Amount of time that can pass without any traffic sent through the firewall before the firewall determines that the connection is idle. + * + */ + public Optional flowTimeouts() { + return Optional.ofNullable(this.flowTimeouts); + } /** * @return Indicates how to manage the order of stateful rule evaluation for the policy. Default value: `DEFAULT_ACTION_ORDER`. Valid values: `DEFAULT_ACTION_ORDER`, `STRICT_ORDER`. * @@ -47,15 +60,23 @@ public static Builder builder(FirewallPolicyFirewallPolicyStatefulEngineOptions } @CustomType.Builder public static final class Builder { + private @Nullable FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeouts flowTimeouts; private @Nullable String ruleOrder; private @Nullable String streamExceptionPolicy; public Builder() {} public Builder(FirewallPolicyFirewallPolicyStatefulEngineOptions defaults) { Objects.requireNonNull(defaults); + this.flowTimeouts = defaults.flowTimeouts; this.ruleOrder = defaults.ruleOrder; this.streamExceptionPolicy = defaults.streamExceptionPolicy; } + @CustomType.Setter + public Builder flowTimeouts(@Nullable FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeouts flowTimeouts) { + + this.flowTimeouts = flowTimeouts; + return this; + } @CustomType.Setter public Builder ruleOrder(@Nullable String ruleOrder) { @@ -70,6 +91,7 @@ public Builder streamExceptionPolicy(@Nullable String streamExceptionPolicy) { } public FirewallPolicyFirewallPolicyStatefulEngineOptions build() { final var _resultValue = new FirewallPolicyFirewallPolicyStatefulEngineOptions(); + _resultValue.flowTimeouts = flowTimeouts; _resultValue.ruleOrder = ruleOrder; _resultValue.streamExceptionPolicy = streamExceptionPolicy; return _resultValue; diff --git a/sdk/java/src/main/java/com/pulumi/aws/networkfirewall/outputs/FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeouts.java b/sdk/java/src/main/java/com/pulumi/aws/networkfirewall/outputs/FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeouts.java new file mode 100644 index 00000000000..64b2695fd59 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/networkfirewall/outputs/FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeouts.java @@ -0,0 +1,57 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.networkfirewall.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.Integer; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeouts { + /** + * @return Number of seconds that can pass without any TCP traffic sent through the firewall before the firewall determines that the connection is idle. After the idle timeout passes, data packets are dropped, however, the next TCP SYN packet is considered a new flow and is processed by the firewall. Clients or targets can use TCP keepalive packets to reset the idle timeout. Default value: `350`. + * + */ + private @Nullable Integer tcpIdleTimeoutSeconds; + + private FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeouts() {} + /** + * @return Number of seconds that can pass without any TCP traffic sent through the firewall before the firewall determines that the connection is idle. After the idle timeout passes, data packets are dropped, however, the next TCP SYN packet is considered a new flow and is processed by the firewall. Clients or targets can use TCP keepalive packets to reset the idle timeout. Default value: `350`. + * + */ + public Optional tcpIdleTimeoutSeconds() { + return Optional.ofNullable(this.tcpIdleTimeoutSeconds); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeouts defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable Integer tcpIdleTimeoutSeconds; + public Builder() {} + public Builder(FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeouts defaults) { + Objects.requireNonNull(defaults); + this.tcpIdleTimeoutSeconds = defaults.tcpIdleTimeoutSeconds; + } + + @CustomType.Setter + public Builder tcpIdleTimeoutSeconds(@Nullable Integer tcpIdleTimeoutSeconds) { + + this.tcpIdleTimeoutSeconds = tcpIdleTimeoutSeconds; + return this; + } + public FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeouts build() { + final var _resultValue = new FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeouts(); + _resultValue.tcpIdleTimeoutSeconds = tcpIdleTimeoutSeconds; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/networkfirewall/outputs/LoggingConfigurationLoggingConfigurationLogDestinationConfig.java b/sdk/java/src/main/java/com/pulumi/aws/networkfirewall/outputs/LoggingConfigurationLoggingConfigurationLogDestinationConfig.java index 6ca33235250..97dee17da92 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/networkfirewall/outputs/LoggingConfigurationLoggingConfigurationLogDestinationConfig.java +++ b/sdk/java/src/main/java/com/pulumi/aws/networkfirewall/outputs/LoggingConfigurationLoggingConfigurationLogDestinationConfig.java @@ -13,7 +13,7 @@ public final class LoggingConfigurationLoggingConfigurationLogDestinationConfig { /** * @return A map describing the logging destination for the chosen `log_destination_type`. - * * For an Amazon S3 bucket, specify the key `bucketName` with the name of the bucket and optionally specify the key `prefix` with a path. + * * For an Amazon S3 bucket, specify the key `bucketName` with the name of the bucket and optionally specify the key `prefix` with a path (Do not add a leading / in the `prefix` as the configuration will have two // when applied). * * For a CloudWatch log group, specify the key `logGroup` with the name of the CloudWatch log group. * * For a Kinesis Data Firehose delivery stream, specify the key `deliveryStream` with the name of the delivery stream. * @@ -33,7 +33,7 @@ public final class LoggingConfigurationLoggingConfigurationLogDestinationConfig private LoggingConfigurationLoggingConfigurationLogDestinationConfig() {} /** * @return A map describing the logging destination for the chosen `log_destination_type`. - * * For an Amazon S3 bucket, specify the key `bucketName` with the name of the bucket and optionally specify the key `prefix` with a path. + * * For an Amazon S3 bucket, specify the key `bucketName` with the name of the bucket and optionally specify the key `prefix` with a path (Do not add a leading / in the `prefix` as the configuration will have two // when applied). * * For a CloudWatch log group, specify the key `logGroup` with the name of the CloudWatch log group. * * For a Kinesis Data Firehose delivery stream, specify the key `deliveryStream` with the name of the delivery stream. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/networkmanager/NetworkmanagerFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/networkmanager/NetworkmanagerFunctions.java index 27e480aa9e8..e7daa4d7d62 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/networkmanager/NetworkmanagerFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/networkmanager/NetworkmanagerFunctions.java @@ -41,6 +41,7 @@ import com.pulumi.core.TypeShape; import com.pulumi.deployment.Deployment; import com.pulumi.deployment.InvokeOptions; +import com.pulumi.deployment.InvokeOutputOptions; import java.util.concurrent.CompletableFuture; public final class NetworkmanagerFunctions { @@ -173,6 +174,49 @@ public static CompletableFuture getConnectionPlain(GetConne public static Output getConnection(GetConnectionArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:networkmanager/getConnection:getConnection", TypeShape.of(GetConnectionResult.class), args, Utilities.withVersion(options)); } + /** + * Retrieve information about a connection. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.networkmanager.NetworkmanagerFunctions;
+     * import com.pulumi.aws.networkmanager.inputs.GetConnectionArgs;
+     * 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 = NetworkmanagerFunctions.getConnection(GetConnectionArgs.builder()
+     *             .globalNetworkId(globalNetworkId)
+     *             .connectionId(connectionId)
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getConnection(GetConnectionArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:networkmanager/getConnection:getConnection", TypeShape.of(GetConnectionResult.class), args, Utilities.withVersion(options)); + } /** * Retrieve information about a connection. * @@ -345,6 +389,49 @@ public static CompletableFuture getConnectionsPlain(GetCon public static Output getConnections(GetConnectionsArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:networkmanager/getConnections:getConnections", TypeShape.of(GetConnectionsResult.class), args, Utilities.withVersion(options)); } + /** + * Retrieve information about connections. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.networkmanager.NetworkmanagerFunctions;
+     * import com.pulumi.aws.networkmanager.inputs.GetConnectionsArgs;
+     * 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 = NetworkmanagerFunctions.getConnections(GetConnectionsArgs.builder()
+     *             .globalNetworkId(globalNetworkId)
+     *             .tags(Map.of("Env", "test"))
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getConnections(GetConnectionsArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:networkmanager/getConnections:getConnections", TypeShape.of(GetConnectionsResult.class), args, Utilities.withVersion(options)); + } /** * Retrieve information about connections. * @@ -809,6 +896,112 @@ public static Output getCoreNetworkPolicyDoc * `data.aws_networkmanager_core_network_policy_document.test.json` will evaluate to: * */ + public static Output getCoreNetworkPolicyDocument(GetCoreNetworkPolicyDocumentArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:networkmanager/getCoreNetworkPolicyDocument:getCoreNetworkPolicyDocument", TypeShape.of(GetCoreNetworkPolicyDocumentResult.class), args, Utilities.withVersion(options)); + } + /** + * Generates a Core Network policy document in JSON format for use with resources that expect core network policy documents such as `awscc_networkmanager_core_network`. It follows the API definition from the [core-network-policy documentation](https://docs.aws.amazon.com/vpc/latest/cloudwan/cloudwan-policies-json.html). + * + * Using this data source to generate policy documents is *optional*. It is also valid to use literal JSON strings in your configuration or to use the `file` interpolation function to read a raw JSON policy document from a file. + * + * ## Example Usage + * + * ### Basic Example + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.networkmanager.NetworkmanagerFunctions;
+     * import com.pulumi.aws.networkmanager.inputs.GetCoreNetworkPolicyDocumentArgs;
+     * 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 test = NetworkmanagerFunctions.getCoreNetworkPolicyDocument(GetCoreNetworkPolicyDocumentArgs.builder()
+     *             .coreNetworkConfigurations(GetCoreNetworkPolicyDocumentCoreNetworkConfigurationArgs.builder()
+     *                 .vpnEcmpSupport(false)
+     *                 .asnRanges("64512-64555")
+     *                 .edgeLocations(                
+     *                     GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationArgs.builder()
+     *                         .location("us-east-1")
+     *                         .asn(64512)
+     *                         .build(),
+     *                     GetCoreNetworkPolicyDocumentCoreNetworkConfigurationEdgeLocationArgs.builder()
+     *                         .location("eu-central-1")
+     *                         .asn(64513)
+     *                         .build())
+     *                 .build())
+     *             .segments(            
+     *                 GetCoreNetworkPolicyDocumentSegmentArgs.builder()
+     *                     .name("shared")
+     *                     .description("Segment for shared services")
+     *                     .requireAttachmentAcceptance(true)
+     *                     .build(),
+     *                 GetCoreNetworkPolicyDocumentSegmentArgs.builder()
+     *                     .name("prod")
+     *                     .description("Segment for prod services")
+     *                     .requireAttachmentAcceptance(true)
+     *                     .build())
+     *             .segmentActions(GetCoreNetworkPolicyDocumentSegmentActionArgs.builder()
+     *                 .action("share")
+     *                 .mode("attachment-route")
+     *                 .segment("shared")
+     *                 .shareWiths("*")
+     *                 .build())
+     *             .attachmentPolicies(            
+     *                 GetCoreNetworkPolicyDocumentAttachmentPolicyArgs.builder()
+     *                     .ruleNumber(100)
+     *                     .conditionLogic("or")
+     *                     .conditions(GetCoreNetworkPolicyDocumentAttachmentPolicyConditionArgs.builder()
+     *                         .type("tag-value")
+     *                         .operator("equals")
+     *                         .key("segment")
+     *                         .value("shared")
+     *                         .build())
+     *                     .action(GetCoreNetworkPolicyDocumentAttachmentPolicyActionArgs.builder()
+     *                         .associationMethod("constant")
+     *                         .segment("shared")
+     *                         .build())
+     *                     .build(),
+     *                 GetCoreNetworkPolicyDocumentAttachmentPolicyArgs.builder()
+     *                     .ruleNumber(200)
+     *                     .conditionLogic("or")
+     *                     .conditions(GetCoreNetworkPolicyDocumentAttachmentPolicyConditionArgs.builder()
+     *                         .type("tag-value")
+     *                         .operator("equals")
+     *                         .key("segment")
+     *                         .value("prod")
+     *                         .build())
+     *                     .action(GetCoreNetworkPolicyDocumentAttachmentPolicyActionArgs.builder()
+     *                         .associationMethod("constant")
+     *                         .segment("prod")
+     *                         .build())
+     *                     .build())
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + * `data.aws_networkmanager_core_network_policy_document.test.json` will evaluate to: + * + */ public static CompletableFuture getCoreNetworkPolicyDocumentPlain(GetCoreNetworkPolicyDocumentPlainArgs args, InvokeOptions options) { return Deployment.getInstance().invokeAsync("aws:networkmanager/getCoreNetworkPolicyDocument:getCoreNetworkPolicyDocument", TypeShape.of(GetCoreNetworkPolicyDocumentResult.class), args, Utilities.withVersion(options)); } @@ -942,7 +1135,136 @@ public static Output getDevice(GetDeviceArgs args, InvokeOption return Deployment.getInstance().invoke("aws:networkmanager/getDevice:getDevice", TypeShape.of(GetDeviceResult.class), args, Utilities.withVersion(options)); } /** - * Retrieve information about a device. + * Retrieve information about a device. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.networkmanager.NetworkmanagerFunctions;
+     * import com.pulumi.aws.networkmanager.inputs.GetDeviceArgs;
+     * 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 = NetworkmanagerFunctions.getDevice(GetDeviceArgs.builder()
+     *             .globalNetworkIdId(globalNetworkId)
+     *             .deviceId(deviceId)
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getDevice(GetDeviceArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:networkmanager/getDevice:getDevice", TypeShape.of(GetDeviceResult.class), args, Utilities.withVersion(options)); + } + /** + * Retrieve information about a device. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.networkmanager.NetworkmanagerFunctions;
+     * import com.pulumi.aws.networkmanager.inputs.GetDeviceArgs;
+     * 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 = NetworkmanagerFunctions.getDevice(GetDeviceArgs.builder()
+     *             .globalNetworkIdId(globalNetworkId)
+     *             .deviceId(deviceId)
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static CompletableFuture getDevicePlain(GetDevicePlainArgs args, InvokeOptions options) { + return Deployment.getInstance().invokeAsync("aws:networkmanager/getDevice:getDevice", TypeShape.of(GetDeviceResult.class), args, Utilities.withVersion(options)); + } + /** + * Retrieve information about devices. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.networkmanager.NetworkmanagerFunctions;
+     * import com.pulumi.aws.networkmanager.inputs.GetDevicesArgs;
+     * 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 = NetworkmanagerFunctions.getDevices(GetDevicesArgs.builder()
+     *             .globalNetworkId(globalNetworkId)
+     *             .tags(Map.of("Env", "test"))
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getDevices(GetDevicesArgs args) { + return getDevices(args, InvokeOptions.Empty); + } + /** + * Retrieve information about devices. * * ## Example Usage * @@ -955,7 +1277,7 @@ public static Output getDevice(GetDeviceArgs args, InvokeOption * import com.pulumi.Pulumi; * import com.pulumi.core.Output; * import com.pulumi.aws.networkmanager.NetworkmanagerFunctions; - * import com.pulumi.aws.networkmanager.inputs.GetDeviceArgs; + * import com.pulumi.aws.networkmanager.inputs.GetDevicesArgs; * import java.util.List; * import java.util.ArrayList; * import java.util.Map; @@ -969,9 +1291,9 @@ public static Output getDevice(GetDeviceArgs args, InvokeOption * } * * public static void stack(Context ctx) { - * final var example = NetworkmanagerFunctions.getDevice(GetDeviceArgs.builder() - * .globalNetworkIdId(globalNetworkId) - * .deviceId(deviceId) + * final var example = NetworkmanagerFunctions.getDevices(GetDevicesArgs.builder() + * .globalNetworkId(globalNetworkId) + * .tags(Map.of("Env", "test")) * .build()); * * } @@ -981,8 +1303,8 @@ public static Output getDevice(GetDeviceArgs args, InvokeOption * <!--End PulumiCodeChooser --> * */ - public static CompletableFuture getDevicePlain(GetDevicePlainArgs args, InvokeOptions options) { - return Deployment.getInstance().invokeAsync("aws:networkmanager/getDevice:getDevice", TypeShape.of(GetDeviceResult.class), args, Utilities.withVersion(options)); + public static CompletableFuture getDevicesPlain(GetDevicesPlainArgs args) { + return getDevicesPlain(args, InvokeOptions.Empty); } /** * Retrieve information about devices. @@ -1024,8 +1346,8 @@ public static CompletableFuture getDevicePlain(GetDevicePlainAr * <!--End PulumiCodeChooser --> * */ - public static Output getDevices(GetDevicesArgs args) { - return getDevices(args, InvokeOptions.Empty); + public static Output getDevices(GetDevicesArgs args, InvokeOptions options) { + return Deployment.getInstance().invoke("aws:networkmanager/getDevices:getDevices", TypeShape.of(GetDevicesResult.class), args, Utilities.withVersion(options)); } /** * Retrieve information about devices. @@ -1067,8 +1389,8 @@ public static Output getDevices(GetDevicesArgs args) { * <!--End PulumiCodeChooser --> * */ - public static CompletableFuture getDevicesPlain(GetDevicesPlainArgs args) { - return getDevicesPlain(args, InvokeOptions.Empty); + public static Output getDevices(GetDevicesArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:networkmanager/getDevices:getDevices", TypeShape.of(GetDevicesResult.class), args, Utilities.withVersion(options)); } /** * Retrieve information about devices. @@ -1110,11 +1432,11 @@ public static CompletableFuture getDevicesPlain(GetDevicesPlai * <!--End PulumiCodeChooser --> * */ - public static Output getDevices(GetDevicesArgs args, InvokeOptions options) { - return Deployment.getInstance().invoke("aws:networkmanager/getDevices:getDevices", TypeShape.of(GetDevicesResult.class), args, Utilities.withVersion(options)); + public static CompletableFuture getDevicesPlain(GetDevicesPlainArgs args, InvokeOptions options) { + return Deployment.getInstance().invokeAsync("aws:networkmanager/getDevices:getDevices", TypeShape.of(GetDevicesResult.class), args, Utilities.withVersion(options)); } /** - * Retrieve information about devices. + * Retrieve information about a global network. * * ## Example Usage * @@ -1127,7 +1449,7 @@ public static Output getDevices(GetDevicesArgs args, InvokeOpt * import com.pulumi.Pulumi; * import com.pulumi.core.Output; * import com.pulumi.aws.networkmanager.NetworkmanagerFunctions; - * import com.pulumi.aws.networkmanager.inputs.GetDevicesArgs; + * import com.pulumi.aws.networkmanager.inputs.GetGlobalNetworkArgs; * import java.util.List; * import java.util.ArrayList; * import java.util.Map; @@ -1141,9 +1463,8 @@ public static Output getDevices(GetDevicesArgs args, InvokeOpt * } * * public static void stack(Context ctx) { - * final var example = NetworkmanagerFunctions.getDevices(GetDevicesArgs.builder() + * final var example = NetworkmanagerFunctions.getGlobalNetwork(GetGlobalNetworkArgs.builder() * .globalNetworkId(globalNetworkId) - * .tags(Map.of("Env", "test")) * .build()); * * } @@ -1153,8 +1474,8 @@ public static Output getDevices(GetDevicesArgs args, InvokeOpt * <!--End PulumiCodeChooser --> * */ - public static CompletableFuture getDevicesPlain(GetDevicesPlainArgs args, InvokeOptions options) { - return Deployment.getInstance().invokeAsync("aws:networkmanager/getDevices:getDevices", TypeShape.of(GetDevicesResult.class), args, Utilities.withVersion(options)); + public static Output getGlobalNetwork(GetGlobalNetworkArgs args) { + return getGlobalNetwork(args, InvokeOptions.Empty); } /** * Retrieve information about a global network. @@ -1195,8 +1516,8 @@ public static CompletableFuture getDevicesPlain(GetDevicesPlai * <!--End PulumiCodeChooser --> * */ - public static Output getGlobalNetwork(GetGlobalNetworkArgs args) { - return getGlobalNetwork(args, InvokeOptions.Empty); + public static CompletableFuture getGlobalNetworkPlain(GetGlobalNetworkPlainArgs args) { + return getGlobalNetworkPlain(args, InvokeOptions.Empty); } /** * Retrieve information about a global network. @@ -1237,8 +1558,8 @@ public static Output getGlobalNetwork(GetGlobalNetworkAr * <!--End PulumiCodeChooser --> * */ - public static CompletableFuture getGlobalNetworkPlain(GetGlobalNetworkPlainArgs args) { - return getGlobalNetworkPlain(args, InvokeOptions.Empty); + public static Output getGlobalNetwork(GetGlobalNetworkArgs args, InvokeOptions options) { + return Deployment.getInstance().invoke("aws:networkmanager/getGlobalNetwork:getGlobalNetwork", TypeShape.of(GetGlobalNetworkResult.class), args, Utilities.withVersion(options)); } /** * Retrieve information about a global network. @@ -1279,7 +1600,7 @@ public static CompletableFuture getGlobalNetworkPlain(Ge * <!--End PulumiCodeChooser --> * */ - public static Output getGlobalNetwork(GetGlobalNetworkArgs args, InvokeOptions options) { + public static Output getGlobalNetwork(GetGlobalNetworkArgs args, InvokeOutputOptions options) { return Deployment.getInstance().invoke("aws:networkmanager/getGlobalNetwork:getGlobalNetwork", TypeShape.of(GetGlobalNetworkResult.class), args, Utilities.withVersion(options)); } /** @@ -1534,6 +1855,48 @@ public static CompletableFuture getGlobalNetworksPlain( public static Output getGlobalNetworks(GetGlobalNetworksArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:networkmanager/getGlobalNetworks:getGlobalNetworks", TypeShape.of(GetGlobalNetworksResult.class), args, Utilities.withVersion(options)); } + /** + * Retrieve information about global networks. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.networkmanager.NetworkmanagerFunctions;
+     * import com.pulumi.aws.networkmanager.inputs.GetGlobalNetworksArgs;
+     * 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 = NetworkmanagerFunctions.getGlobalNetworks(GetGlobalNetworksArgs.builder()
+     *             .tags(Map.of("Env", "test"))
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getGlobalNetworks(GetGlobalNetworksArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:networkmanager/getGlobalNetworks:getGlobalNetworks", TypeShape.of(GetGlobalNetworksResult.class), args, Utilities.withVersion(options)); + } /** * Retrieve information about global networks. * @@ -1705,6 +2068,49 @@ public static CompletableFuture getLinkPlain(GetLinkPlainArgs arg public static Output getLink(GetLinkArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:networkmanager/getLink:getLink", TypeShape.of(GetLinkResult.class), args, Utilities.withVersion(options)); } + /** + * Retrieve information about a link. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.networkmanager.NetworkmanagerFunctions;
+     * import com.pulumi.aws.networkmanager.inputs.GetLinkArgs;
+     * 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 = NetworkmanagerFunctions.getLink(GetLinkArgs.builder()
+     *             .globalNetworkId(globalNetworkId)
+     *             .linkId(linkId)
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getLink(GetLinkArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:networkmanager/getLink:getLink", TypeShape.of(GetLinkResult.class), args, Utilities.withVersion(options)); + } /** * Retrieve information about a link. * @@ -1877,6 +2283,49 @@ public static CompletableFuture getLinksPlain(GetLinksPlainArgs public static Output getLinks(GetLinksArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:networkmanager/getLinks:getLinks", TypeShape.of(GetLinksResult.class), args, Utilities.withVersion(options)); } + /** + * Retrieve information about link. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.networkmanager.NetworkmanagerFunctions;
+     * import com.pulumi.aws.networkmanager.inputs.GetLinksArgs;
+     * 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 = NetworkmanagerFunctions.getLinks(GetLinksArgs.builder()
+     *             .globalNetworkId(globalNetworkId)
+     *             .tags(Map.of("Env", "test"))
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getLinks(GetLinksArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:networkmanager/getLinks:getLinks", TypeShape.of(GetLinksResult.class), args, Utilities.withVersion(options)); + } /** * Retrieve information about link. * @@ -2049,6 +2498,49 @@ public static CompletableFuture getSitePlain(GetSitePlainArgs arg public static Output getSite(GetSiteArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:networkmanager/getSite:getSite", TypeShape.of(GetSiteResult.class), args, Utilities.withVersion(options)); } + /** + * Retrieve information about a site. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.networkmanager.NetworkmanagerFunctions;
+     * import com.pulumi.aws.networkmanager.inputs.GetSiteArgs;
+     * 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 = NetworkmanagerFunctions.getSite(GetSiteArgs.builder()
+     *             .globalNetworkId(globalNetworkId)
+     *             .siteId(siteId)
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getSite(GetSiteArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:networkmanager/getSite:getSite", TypeShape.of(GetSiteResult.class), args, Utilities.withVersion(options)); + } /** * Retrieve information about a site. * @@ -2221,6 +2713,49 @@ public static CompletableFuture getSitesPlain(GetSitesPlainArgs public static Output getSites(GetSitesArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:networkmanager/getSites:getSites", TypeShape.of(GetSitesResult.class), args, Utilities.withVersion(options)); } + /** + * Retrieve information about sites. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.networkmanager.NetworkmanagerFunctions;
+     * import com.pulumi.aws.networkmanager.inputs.GetSitesArgs;
+     * 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 = NetworkmanagerFunctions.getSites(GetSitesArgs.builder()
+     *             .globalNetworkId(globalNetworkId)
+     *             .tags(Map.of("Env", "test"))
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getSites(GetSitesArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:networkmanager/getSites:getSites", TypeShape.of(GetSitesResult.class), args, Utilities.withVersion(options)); + } /** * Retrieve information about sites. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/oam/OamFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/oam/OamFunctions.java index 645a8124f1a..f0d7fd4cd20 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/oam/OamFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/oam/OamFunctions.java @@ -16,6 +16,7 @@ import com.pulumi.core.TypeShape; import com.pulumi.deployment.Deployment; import com.pulumi.deployment.InvokeOptions; +import com.pulumi.deployment.InvokeOutputOptions; import com.pulumi.resources.InvokeArgs; import java.util.concurrent.CompletableFuture; @@ -152,6 +153,50 @@ public static CompletableFuture getLinkPlain(GetLinkPlainArgs arg public static Output getLink(GetLinkArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:oam/getLink:getLink", TypeShape.of(GetLinkResult.class), args, Utilities.withVersion(options)); } + /** + * Data source for managing an AWS CloudWatch Observability Access Manager Link. + * + * ## Example Usage + * + * ### Basic Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.oam.OamFunctions;
+     * import com.pulumi.aws.oam.inputs.GetLinkArgs;
+     * 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 = OamFunctions.getLink(GetLinkArgs.builder()
+     *             .linkIdentifier("arn:aws:oam:us-west-1:111111111111:link/abcd1234-a123-456a-a12b-a123b456c789")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getLink(GetLinkArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:oam/getLink:getLink", TypeShape.of(GetLinkResult.class), args, Utilities.withVersion(options)); + } /** * Data source for managing an AWS CloudWatch Observability Access Manager Link. * @@ -401,6 +446,47 @@ public static CompletableFuture getLinksPlain(InvokeArgs args) { public static Output getLinks(InvokeArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:oam/getLinks:getLinks", TypeShape.of(GetLinksResult.class), args, Utilities.withVersion(options)); } + /** + * Data source for managing an AWS CloudWatch Observability Access Manager Links. + * + * ## Example Usage + * + * ### Basic Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.oam.OamFunctions;
+     * 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 = OamFunctions.getLinks();
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getLinks(InvokeArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:oam/getLinks:getLinks", TypeShape.of(GetLinksResult.class), args, Utilities.withVersion(options)); + } /** * Data source for managing an AWS CloudWatch Observability Access Manager Links. * @@ -574,6 +660,50 @@ public static CompletableFuture getSinkPlain(GetSinkPlainArgs arg public static Output getSink(GetSinkArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:oam/getSink:getSink", TypeShape.of(GetSinkResult.class), args, Utilities.withVersion(options)); } + /** + * Data source for managing an AWS CloudWatch Observability Access Manager Sink. + * + * ## Example Usage + * + * ### Basic Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.oam.OamFunctions;
+     * import com.pulumi.aws.oam.inputs.GetSinkArgs;
+     * 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 = OamFunctions.getSink(GetSinkArgs.builder()
+     *             .sinkIdentifier("arn:aws:oam:us-west-1:111111111111:sink/abcd1234-a123-456a-a12b-a123b456c789")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getSink(GetSinkArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:oam/getSink:getSink", TypeShape.of(GetSinkResult.class), args, Utilities.withVersion(options)); + } /** * Data source for managing an AWS CloudWatch Observability Access Manager Sink. * @@ -823,6 +953,47 @@ public static CompletableFuture getSinksPlain(InvokeArgs args) { public static Output getSinks(InvokeArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:oam/getSinks:getSinks", TypeShape.of(GetSinksResult.class), args, Utilities.withVersion(options)); } + /** + * Data source for managing an AWS CloudWatch Observability Access Manager Sinks. + * + * ## Example Usage + * + * ### Basic Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.oam.OamFunctions;
+     * 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 = OamFunctions.getSinks();
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getSinks(InvokeArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:oam/getSinks:getSinks", TypeShape.of(GetSinksResult.class), args, Utilities.withVersion(options)); + } /** * Data source for managing an AWS CloudWatch Observability Access Manager Sinks. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/opensearch/OpensearchFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/opensearch/OpensearchFunctions.java index a1c387ba669..3b5cd7022a1 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/opensearch/OpensearchFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/opensearch/OpensearchFunctions.java @@ -29,6 +29,7 @@ import com.pulumi.core.TypeShape; import com.pulumi.deployment.Deployment; import com.pulumi.deployment.InvokeOptions; +import com.pulumi.deployment.InvokeOutputOptions; import java.util.concurrent.CompletableFuture; public final class OpensearchFunctions { @@ -158,6 +159,48 @@ public static CompletableFuture getDomainPlain(GetDomainPlainAr public static Output getDomain(GetDomainArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:opensearch/getDomain:getDomain", TypeShape.of(GetDomainResult.class), args, Utilities.withVersion(options)); } + /** + * Use this data source to get information about an OpenSearch Domain + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.opensearch.OpensearchFunctions;
+     * import com.pulumi.aws.opensearch.inputs.GetDomainArgs;
+     * 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 myDomain = OpensearchFunctions.getDomain(GetDomainArgs.builder()
+     *             .domainName("my-domain-name")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getDomain(GetDomainArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:opensearch/getDomain:getDomain", TypeShape.of(GetDomainResult.class), args, Utilities.withVersion(options)); + } /** * Use this data source to get information about an OpenSearch Domain * @@ -335,6 +378,51 @@ public static CompletableFuture getServerlessAc public static Output getServerlessAccessPolicy(GetServerlessAccessPolicyArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:opensearch/getServerlessAccessPolicy:getServerlessAccessPolicy", TypeShape.of(GetServerlessAccessPolicyResult.class), args, Utilities.withVersion(options)); } + /** + * Data source for managing an AWS OpenSearch Serverless Access Policy. + * + * ## Example Usage + * + * ### Basic Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.opensearch.OpensearchFunctions;
+     * import com.pulumi.aws.opensearch.inputs.GetServerlessAccessPolicyArgs;
+     * 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 = OpensearchFunctions.getServerlessAccessPolicy(GetServerlessAccessPolicyArgs.builder()
+     *             .name(exampleAwsOpensearchserverlessAccessPolicy.name())
+     *             .type(exampleAwsOpensearchserverlessAccessPolicy.type())
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getServerlessAccessPolicy(GetServerlessAccessPolicyArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:opensearch/getServerlessAccessPolicy:getServerlessAccessPolicy", TypeShape.of(GetServerlessAccessPolicyResult.class), args, Utilities.withVersion(options)); + } /** * Data source for managing an AWS OpenSearch Serverless Access Policy. * @@ -600,6 +688,50 @@ public static CompletableFuture getServerlessColl public static Output getServerlessCollection(GetServerlessCollectionArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:opensearch/getServerlessCollection:getServerlessCollection", TypeShape.of(GetServerlessCollectionResult.class), args, Utilities.withVersion(options)); } + /** + * Data source for managing an AWS OpenSearch Serverless Collection. + * + * ## Example Usage + * + * ### Basic Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.opensearch.OpensearchFunctions;
+     * import com.pulumi.aws.opensearch.inputs.GetServerlessCollectionArgs;
+     * 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 = OpensearchFunctions.getServerlessCollection(GetServerlessCollectionArgs.builder()
+     *             .name("example")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getServerlessCollection(GetServerlessCollectionArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:opensearch/getServerlessCollection:getServerlessCollection", TypeShape.of(GetServerlessCollectionResult.class), args, Utilities.withVersion(options)); + } /** * Data source for managing an AWS OpenSearch Serverless Collection. * @@ -779,6 +911,51 @@ public static CompletableFuture getServerles public static Output getServerlessLifecyclePolicy(GetServerlessLifecyclePolicyArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:opensearch/getServerlessLifecyclePolicy:getServerlessLifecyclePolicy", TypeShape.of(GetServerlessLifecyclePolicyResult.class), args, Utilities.withVersion(options)); } + /** + * Data source for managing an AWS OpenSearch Serverless Lifecycle Policy. + * + * ## Example Usage + * + * ### Basic Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.opensearch.OpensearchFunctions;
+     * import com.pulumi.aws.opensearch.inputs.GetServerlessLifecyclePolicyArgs;
+     * 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 = OpensearchFunctions.getServerlessLifecyclePolicy(GetServerlessLifecyclePolicyArgs.builder()
+     *             .name("example-lifecycle-policy")
+     *             .type("retention")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getServerlessLifecyclePolicy(GetServerlessLifecyclePolicyArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:opensearch/getServerlessLifecyclePolicy:getServerlessLifecyclePolicy", TypeShape.of(GetServerlessLifecyclePolicyResult.class), args, Utilities.withVersion(options)); + } /** * Data source for managing an AWS OpenSearch Serverless Lifecycle Policy. * @@ -956,6 +1133,50 @@ public static CompletableFuture getServerless public static Output getServerlessSecurityConfig(GetServerlessSecurityConfigArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:opensearch/getServerlessSecurityConfig:getServerlessSecurityConfig", TypeShape.of(GetServerlessSecurityConfigResult.class), args, Utilities.withVersion(options)); } + /** + * Data source for managing an AWS OpenSearch Serverless Security Config. + * + * ## Example Usage + * + * ### Basic Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.opensearch.OpensearchFunctions;
+     * import com.pulumi.aws.opensearch.inputs.GetServerlessSecurityConfigArgs;
+     * 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 = OpensearchFunctions.getServerlessSecurityConfig(GetServerlessSecurityConfigArgs.builder()
+     *             .id("saml/12345678912/example")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getServerlessSecurityConfig(GetServerlessSecurityConfigArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:opensearch/getServerlessSecurityConfig:getServerlessSecurityConfig", TypeShape.of(GetServerlessSecurityConfigResult.class), args, Utilities.withVersion(options)); + } /** * Data source for managing an AWS OpenSearch Serverless Security Config. * @@ -1129,6 +1350,49 @@ public static CompletableFuture getServerless public static Output getServerlessSecurityPolicy(GetServerlessSecurityPolicyArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:opensearch/getServerlessSecurityPolicy:getServerlessSecurityPolicy", TypeShape.of(GetServerlessSecurityPolicyResult.class), args, Utilities.withVersion(options)); } + /** + * Use this data source to get information about an AWS OpenSearch Serverless Security Policy. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.opensearch.OpensearchFunctions;
+     * import com.pulumi.aws.opensearch.inputs.GetServerlessSecurityPolicyArgs;
+     * 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 = OpensearchFunctions.getServerlessSecurityPolicy(GetServerlessSecurityPolicyArgs.builder()
+     *             .name("example-security-policy")
+     *             .type("encryption")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getServerlessSecurityPolicy(GetServerlessSecurityPolicyArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:opensearch/getServerlessSecurityPolicy:getServerlessSecurityPolicy", TypeShape.of(GetServerlessSecurityPolicyResult.class), args, Utilities.withVersion(options)); + } /** * Use this data source to get information about an AWS OpenSearch Serverless Security Policy. * @@ -1298,6 +1562,48 @@ public static CompletableFuture getServerlessVpc public static Output getServerlessVpcEndpoint(GetServerlessVpcEndpointArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:opensearch/getServerlessVpcEndpoint:getServerlessVpcEndpoint", TypeShape.of(GetServerlessVpcEndpointResult.class), args, Utilities.withVersion(options)); } + /** + * Data source for managing an AWS OpenSearch Serverless VPC Endpoint. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.opensearch.OpensearchFunctions;
+     * import com.pulumi.aws.opensearch.inputs.GetServerlessVpcEndpointArgs;
+     * 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 = OpensearchFunctions.getServerlessVpcEndpoint(GetServerlessVpcEndpointArgs.builder()
+     *             .vpcEndpointId("vpce-829a4487959e2a839")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getServerlessVpcEndpoint(GetServerlessVpcEndpointArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:opensearch/getServerlessVpcEndpoint:getServerlessVpcEndpoint", TypeShape.of(GetServerlessVpcEndpointResult.class), args, Utilities.withVersion(options)); + } /** * Data source for managing an AWS OpenSearch Serverless VPC Endpoint. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/organizations/OrganizationsFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/organizations/OrganizationsFunctions.java index 54523154080..67660b0e6aa 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/organizations/OrganizationsFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/organizations/OrganizationsFunctions.java @@ -42,6 +42,7 @@ import com.pulumi.core.TypeShape; import com.pulumi.deployment.Deployment; import com.pulumi.deployment.InvokeOptions; +import com.pulumi.deployment.InvokeOutputOptions; import com.pulumi.resources.InvokeArgs; import java.util.concurrent.CompletableFuture; @@ -256,6 +257,48 @@ public static CompletableFuture getDelegatedAd public static Output getDelegatedAdministrators(GetDelegatedAdministratorsArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:organizations/getDelegatedAdministrators:getDelegatedAdministrators", TypeShape.of(GetDelegatedAdministratorsResult.class), args, Utilities.withVersion(options)); } + /** + * Get a list of AWS accounts that are designated as delegated administrators in this organization + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.organizations.OrganizationsFunctions;
+     * import com.pulumi.aws.organizations.inputs.GetDelegatedAdministratorsArgs;
+     * 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 = OrganizationsFunctions.getDelegatedAdministrators(GetDelegatedAdministratorsArgs.builder()
+     *             .servicePrincipal("SERVICE PRINCIPAL")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getDelegatedAdministrators(GetDelegatedAdministratorsArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:organizations/getDelegatedAdministrators:getDelegatedAdministrators", TypeShape.of(GetDelegatedAdministratorsResult.class), args, Utilities.withVersion(options)); + } /** * Get a list of AWS accounts that are designated as delegated administrators in this organization * @@ -424,6 +467,48 @@ public static CompletableFuture getDelegatedServices public static Output getDelegatedServices(GetDelegatedServicesArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:organizations/getDelegatedServices:getDelegatedServices", TypeShape.of(GetDelegatedServicesResult.class), args, Utilities.withVersion(options)); } + /** + * Get a list the AWS services for which the specified account is a delegated administrator + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.organizations.OrganizationsFunctions;
+     * import com.pulumi.aws.organizations.inputs.GetDelegatedServicesArgs;
+     * 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 = OrganizationsFunctions.getDelegatedServices(GetDelegatedServicesArgs.builder()
+     *             .accountId("AWS ACCOUNT ID")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getDelegatedServices(GetDelegatedServicesArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:organizations/getDelegatedServices:getDelegatedServices", TypeShape.of(GetDelegatedServicesResult.class), args, Utilities.withVersion(options)); + } /** * Get a list the AWS services for which the specified account is a delegated administrator * @@ -1111,6 +1196,114 @@ public static Output getOrganization(InvokeArgs args, Inv * <!--End PulumiCodeChooser --> * */ + public static Output getOrganization(InvokeArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:organizations/getOrganization:getOrganization", TypeShape.of(GetOrganizationResult.class), args, Utilities.withVersion(options)); + } + /** + * Get information about the organization that the user's account belongs to + * + * ## Example Usage + * + * ### List all account IDs for the organization + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.organizations.OrganizationsFunctions;
+     * 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 = OrganizationsFunctions.getOrganization();
+     * 
+     *         ctx.export("accountIds", example.applyValue(getOrganizationResult -> getOrganizationResult.accounts()).stream().map(element -> element.id()).collect(toList()));
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + * ### SNS topic that can be interacted by the organization only + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.organizations.OrganizationsFunctions;
+     * import com.pulumi.aws.sns.Topic;
+     * import com.pulumi.aws.sns.TopicArgs;
+     * import com.pulumi.aws.iam.IamFunctions;
+     * import com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;
+     * import com.pulumi.aws.sns.TopicPolicy;
+     * import com.pulumi.aws.sns.TopicPolicyArgs;
+     * 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 = OrganizationsFunctions.getOrganization();
+     * 
+     *         var snsTopic = new Topic("snsTopic", TopicArgs.builder()
+     *             .name("my-sns-topic")
+     *             .build());
+     * 
+     *         final var snsTopicPolicy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()
+     *             .statements(GetPolicyDocumentStatementArgs.builder()
+     *                 .effect("Allow")
+     *                 .actions(                
+     *                     "SNS:Subscribe",
+     *                     "SNS:Publish")
+     *                 .conditions(GetPolicyDocumentStatementConditionArgs.builder()
+     *                     .test("StringEquals")
+     *                     .variable("aws:PrincipalOrgID")
+     *                     .values(example.applyValue(getOrganizationResult -> getOrganizationResult.id()))
+     *                     .build())
+     *                 .principals(GetPolicyDocumentStatementPrincipalArgs.builder()
+     *                     .type("AWS")
+     *                     .identifiers("*")
+     *                     .build())
+     *                 .resources(snsTopic.arn())
+     *                 .build())
+     *             .build());
+     * 
+     *         var snsTopicPolicyTopicPolicy = new TopicPolicy("snsTopicPolicyTopicPolicy", TopicPolicyArgs.builder()
+     *             .arn(snsTopic.arn())
+     *             .policy(snsTopicPolicy.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult).applyValue(snsTopicPolicy -> snsTopicPolicy.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())))
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ public static CompletableFuture getOrganizationPlain(InvokeArgs args, InvokeOptions options) { return Deployment.getInstance().invokeAsync("aws:organizations/getOrganization:getOrganization", TypeShape.of(GetOrganizationResult.class), args, Utilities.withVersion(options)); } @@ -1255,6 +1448,53 @@ public static CompletableFuture getOrganizationalUn public static Output getOrganizationalUnit(GetOrganizationalUnitArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:organizations/getOrganizationalUnit:getOrganizationalUnit", TypeShape.of(GetOrganizationalUnitResult.class), args, Utilities.withVersion(options)); } + /** + * Data source for getting an AWS Organizations Organizational Unit. + * + * ## Example Usage + * + * ### Basic Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.organizations.OrganizationsFunctions;
+     * import com.pulumi.aws.organizations.inputs.GetOrganizationalUnitArgs;
+     * 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 org = OrganizationsFunctions.getOrganization();
+     * 
+     *         final var ou = OrganizationsFunctions.getOrganizationalUnit(GetOrganizationalUnitArgs.builder()
+     *             .parentId(org.applyValue(getOrganizationResult -> getOrganizationResult.roots()[0].id()))
+     *             .name("dev")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getOrganizationalUnit(GetOrganizationalUnitArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:organizations/getOrganizationalUnit:getOrganizationalUnit", TypeShape.of(GetOrganizationalUnitResult.class), args, Utilities.withVersion(options)); + } /** * Data source for getting an AWS Organizations Organizational Unit. * @@ -1434,6 +1674,50 @@ public static CompletableFuture getOrg public static Output getOrganizationalUnitChildAccounts(GetOrganizationalUnitChildAccountsArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:organizations/getOrganizationalUnitChildAccounts:getOrganizationalUnitChildAccounts", TypeShape.of(GetOrganizationalUnitChildAccountsResult.class), args, Utilities.withVersion(options)); } + /** + * Get all direct child accounts under a parent organizational unit. This only provides immediate children, not all children. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.organizations.OrganizationsFunctions;
+     * import com.pulumi.aws.organizations.inputs.GetOrganizationalUnitChildAccountsArgs;
+     * 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 org = OrganizationsFunctions.getOrganization();
+     * 
+     *         final var accounts = OrganizationsFunctions.getOrganizationalUnitChildAccounts(GetOrganizationalUnitChildAccountsArgs.builder()
+     *             .parentId(org.applyValue(getOrganizationResult -> getOrganizationResult.roots()[0].id()))
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getOrganizationalUnitChildAccounts(GetOrganizationalUnitChildAccountsArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:organizations/getOrganizationalUnitChildAccounts:getOrganizationalUnitChildAccounts", TypeShape.of(GetOrganizationalUnitChildAccountsResult.class), args, Utilities.withVersion(options)); + } /** * Get all direct child accounts under a parent organizational unit. This only provides immediate children, not all children. * @@ -1610,6 +1894,50 @@ public static CompletableFuture g public static Output getOrganizationalUnitDescendantAccounts(GetOrganizationalUnitDescendantAccountsArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:organizations/getOrganizationalUnitDescendantAccounts:getOrganizationalUnitDescendantAccounts", TypeShape.of(GetOrganizationalUnitDescendantAccountsResult.class), args, Utilities.withVersion(options)); } + /** + * Get all direct child accounts under a parent organizational unit. This provides all children. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.organizations.OrganizationsFunctions;
+     * import com.pulumi.aws.organizations.inputs.GetOrganizationalUnitDescendantAccountsArgs;
+     * 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 org = OrganizationsFunctions.getOrganization();
+     * 
+     *         final var accounts = OrganizationsFunctions.getOrganizationalUnitDescendantAccounts(GetOrganizationalUnitDescendantAccountsArgs.builder()
+     *             .parentId(org.applyValue(getOrganizationResult -> getOrganizationResult.roots()[0].id()))
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getOrganizationalUnitDescendantAccounts(GetOrganizationalUnitDescendantAccountsArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:organizations/getOrganizationalUnitDescendantAccounts:getOrganizationalUnitDescendantAccounts", TypeShape.of(GetOrganizationalUnitDescendantAccountsResult.class), args, Utilities.withVersion(options)); + } /** * Get all direct child accounts under a parent organizational unit. This provides all children. * @@ -1786,6 +2114,50 @@ public static CompletableFuture getOrganizationalUnitDescendantOrganizationalUnits(GetOrganizationalUnitDescendantOrganizationalUnitsArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:organizations/getOrganizationalUnitDescendantOrganizationalUnits:getOrganizationalUnitDescendantOrganizationalUnits", TypeShape.of(GetOrganizationalUnitDescendantOrganizationalUnitsResult.class), args, Utilities.withVersion(options)); } + /** + * Get all direct child organizational units under a parent organizational unit. This provides all children. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.organizations.OrganizationsFunctions;
+     * import com.pulumi.aws.organizations.inputs.GetOrganizationalUnitDescendantOrganizationalUnitsArgs;
+     * 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 org = OrganizationsFunctions.getOrganization();
+     * 
+     *         final var ous = OrganizationsFunctions.getOrganizationalUnitDescendantOrganizationalUnits(GetOrganizationalUnitDescendantOrganizationalUnitsArgs.builder()
+     *             .parentId(org.applyValue(getOrganizationResult -> getOrganizationResult.roots()[0].id()))
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getOrganizationalUnitDescendantOrganizationalUnits(GetOrganizationalUnitDescendantOrganizationalUnitsArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:organizations/getOrganizationalUnitDescendantOrganizationalUnits:getOrganizationalUnitDescendantOrganizationalUnits", TypeShape.of(GetOrganizationalUnitDescendantOrganizationalUnitsResult.class), args, Utilities.withVersion(options)); + } /** * Get all direct child organizational units under a parent organizational unit. This provides all children. * @@ -1962,6 +2334,50 @@ public static CompletableFuture getOrganizationalU public static Output getOrganizationalUnits(GetOrganizationalUnitsArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:organizations/getOrganizationalUnits:getOrganizationalUnits", TypeShape.of(GetOrganizationalUnitsResult.class), args, Utilities.withVersion(options)); } + /** + * Get all direct child organizational units under a parent organizational unit. This only provides immediate children, not all children. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.organizations.OrganizationsFunctions;
+     * import com.pulumi.aws.organizations.inputs.GetOrganizationalUnitsArgs;
+     * 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 org = OrganizationsFunctions.getOrganization();
+     * 
+     *         final var ou = OrganizationsFunctions.getOrganizationalUnits(GetOrganizationalUnitsArgs.builder()
+     *             .parentId(org.applyValue(getOrganizationResult -> getOrganizationResult.roots()[0].id()))
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getOrganizationalUnits(GetOrganizationalUnitsArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:organizations/getOrganizationalUnits:getOrganizationalUnits", TypeShape.of(GetOrganizationalUnitsResult.class), args, Utilities.withVersion(options)); + } /** * Get all direct child organizational units under a parent organizational unit. This only provides immediate children, not all children. * @@ -2033,6 +2449,15 @@ public static CompletableFuture getPoliciesPlain(GetPoliciesP public static Output getPolicies(GetPoliciesArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:organizations/getPolicies:getPolicies", TypeShape.of(GetPoliciesResult.class), args, Utilities.withVersion(options)); } + /** + * Data source for managing an AWS Organizations Policies. + * + * ## Example Usage + * + */ + public static Output getPolicies(GetPoliciesArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:organizations/getPolicies:getPolicies", TypeShape.of(GetPoliciesResult.class), args, Utilities.withVersion(options)); + } /** * Data source for managing an AWS Organizations Policies. * @@ -2069,6 +2494,15 @@ public static CompletableFuture getPoliciesForTarget public static Output getPoliciesForTarget(GetPoliciesForTargetArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:organizations/getPoliciesForTarget:getPoliciesForTarget", TypeShape.of(GetPoliciesForTargetResult.class), args, Utilities.withVersion(options)); } + /** + * Data source for managing an AWS Organizations Policies For Target. + * + * ## Example Usage + * + */ + public static Output getPoliciesForTarget(GetPoliciesForTargetArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:organizations/getPoliciesForTarget:getPoliciesForTarget", TypeShape.of(GetPoliciesForTargetResult.class), args, Utilities.withVersion(options)); + } /** * Data source for managing an AWS Organizations Policies For Target. * @@ -2105,6 +2539,15 @@ public static CompletableFuture getPolicyPlain(GetPolicyPlainAr public static Output getPolicy(GetPolicyArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:organizations/getPolicy:getPolicy", TypeShape.of(GetPolicyResult.class), args, Utilities.withVersion(options)); } + /** + * Data source for managing an AWS Organizations Policy. + * + * ## Example Usage + * + */ + public static Output getPolicy(GetPolicyArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:organizations/getPolicy:getPolicy", TypeShape.of(GetPolicyResult.class), args, Utilities.withVersion(options)); + } /** * Data source for managing an AWS Organizations Policy. * @@ -2240,6 +2683,48 @@ public static CompletableFuture getResourceTagsPlain(GetR public static Output getResourceTags(GetResourceTagsArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:organizations/getResourceTags:getResourceTags", TypeShape.of(GetResourceTagsResult.class), args, Utilities.withVersion(options)); } + /** + * Get tags attached to the specified AWS Organizations resource. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.organizations.OrganizationsFunctions;
+     * import com.pulumi.aws.organizations.inputs.GetResourceTagsArgs;
+     * 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 account = OrganizationsFunctions.getResourceTags(GetResourceTagsArgs.builder()
+     *             .resourceId("123456123846")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getResourceTags(GetResourceTagsArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:organizations/getResourceTags:getResourceTags", TypeShape.of(GetResourceTagsResult.class), args, Utilities.withVersion(options)); + } /** * Get tags attached to the specified AWS Organizations resource. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/outposts/OutpostsFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/outposts/OutpostsFunctions.java index 20bea07c949..d721af02317 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/outposts/OutpostsFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/outposts/OutpostsFunctions.java @@ -30,6 +30,7 @@ import com.pulumi.core.TypeShape; import com.pulumi.deployment.Deployment; import com.pulumi.deployment.InvokeOptions; +import com.pulumi.deployment.InvokeOutputOptions; import com.pulumi.resources.InvokeArgs; import java.util.concurrent.CompletableFuture; @@ -55,6 +56,13 @@ public static CompletableFuture getAssetPlain(GetAssetPlainArgs public static Output getAsset(GetAssetArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:outposts/getAsset:getAsset", TypeShape.of(GetAssetResult.class), args, Utilities.withVersion(options)); } + /** + * Information about a specific hardware asset in an Outpost. + * + */ + public static Output getAsset(GetAssetArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:outposts/getAsset:getAsset", TypeShape.of(GetAssetResult.class), args, Utilities.withVersion(options)); + } /** * Information about a specific hardware asset in an Outpost. * @@ -523,6 +531,122 @@ public static Output getAssets(GetAssetsArgs args, InvokeOption * <!--End PulumiCodeChooser --> * */ + public static Output getAssets(GetAssetsArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:outposts/getAssets:getAssets", TypeShape.of(GetAssetsResult.class), args, Utilities.withVersion(options)); + } + /** + * Information about hardware assets in an Outpost. + * + * ## Example Usage + * + * ### Basic + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.outposts.OutpostsFunctions;
+     * import com.pulumi.aws.outposts.inputs.GetAssetsArgs;
+     * 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 = OutpostsFunctions.getAssets(GetAssetsArgs.builder()
+     *             .arn(exampleAwsOutpostsOutpost.arn())
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + * ### With Host ID Filter + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.outposts.OutpostsFunctions;
+     * import com.pulumi.aws.outposts.inputs.GetAssetsArgs;
+     * 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 = OutpostsFunctions.getAssets(GetAssetsArgs.builder()
+     *             .arn(exampleAwsOutpostsOutpost.arn())
+     *             .hostIdFilters("h-x38g5n0yd2a0ueb61")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + * ### With Status ID Filter + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.outposts.OutpostsFunctions;
+     * import com.pulumi.aws.outposts.inputs.GetAssetsArgs;
+     * 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 = OutpostsFunctions.getAssets(GetAssetsArgs.builder()
+     *             .arn(exampleAwsOutpostsOutpost.arn())
+     *             .statusIdFilters("ACTIVE")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ public static CompletableFuture getAssetsPlain(GetAssetsPlainArgs args, InvokeOptions options) { return Deployment.getInstance().invokeAsync("aws:outposts/getAssets:getAssets", TypeShape.of(GetAssetsResult.class), args, Utilities.withVersion(options)); } @@ -736,6 +860,48 @@ public static CompletableFuture getOutpostPlain(GetOutpostPlai public static Output getOutpost(GetOutpostArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:outposts/getOutpost:getOutpost", TypeShape.of(GetOutpostResult.class), args, Utilities.withVersion(options)); } + /** + * Provides details about an Outposts Outpost. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.outposts.OutpostsFunctions;
+     * import com.pulumi.aws.outposts.inputs.GetOutpostArgs;
+     * 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 = OutpostsFunctions.getOutpost(GetOutpostArgs.builder()
+     *             .name("example")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getOutpost(GetOutpostArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:outposts/getOutpost:getOutpost", TypeShape.of(GetOutpostResult.class), args, Utilities.withVersion(options)); + } /** * Provides details about an Outposts Outpost. * @@ -931,6 +1097,57 @@ public static CompletableFuture getOutpostInstance public static Output getOutpostInstanceType(GetOutpostInstanceTypeArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:outposts/getOutpostInstanceType:getOutpostInstanceType", TypeShape.of(GetOutpostInstanceTypeResult.class), args, Utilities.withVersion(options)); } + /** + * Information about single Outpost Instance Type. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.outposts.OutpostsFunctions;
+     * import com.pulumi.aws.outposts.inputs.GetOutpostInstanceTypeArgs;
+     * import com.pulumi.aws.ec2Instance;
+     * import com.pulumi.aws.Ec2InstanceArgs;
+     * 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 = OutpostsFunctions.getOutpostInstanceType(GetOutpostInstanceTypeArgs.builder()
+     *             .arn(exampleAwsOutpostsOutpost.arn())
+     *             .preferredInstanceTypes(            
+     *                 "m5.large",
+     *                 "m5.4xlarge")
+     *             .build());
+     * 
+     *         var exampleEc2Instance = new Ec2Instance("exampleEc2Instance", Ec2InstanceArgs.builder()
+     *             .instanceType(example.applyValue(getOutpostInstanceTypeResult -> getOutpostInstanceTypeResult.instanceType()))
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getOutpostInstanceType(GetOutpostInstanceTypeArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:outposts/getOutpostInstanceType:getOutpostInstanceType", TypeShape.of(GetOutpostInstanceTypeResult.class), args, Utilities.withVersion(options)); + } /** * Information about single Outpost Instance Type. * @@ -1108,6 +1325,48 @@ public static CompletableFuture getOutpostInstanc public static Output getOutpostInstanceTypes(GetOutpostInstanceTypesArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:outposts/getOutpostInstanceTypes:getOutpostInstanceTypes", TypeShape.of(GetOutpostInstanceTypesResult.class), args, Utilities.withVersion(options)); } + /** + * Information about Outposts Instance Types. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.outposts.OutpostsFunctions;
+     * import com.pulumi.aws.outposts.inputs.GetOutpostInstanceTypesArgs;
+     * 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 = OutpostsFunctions.getOutpostInstanceTypes(GetOutpostInstanceTypesArgs.builder()
+     *             .arn(exampleAwsOutpostsOutpost.arn())
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getOutpostInstanceTypes(GetOutpostInstanceTypesArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:outposts/getOutpostInstanceTypes:getOutpostInstanceTypes", TypeShape.of(GetOutpostInstanceTypesResult.class), args, Utilities.withVersion(options)); + } /** * Information about Outposts Instance Types. * @@ -1360,6 +1619,48 @@ public static CompletableFuture getOutpostsPlain(GetOutpostsP public static Output getOutposts(GetOutpostsArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:outposts/getOutposts:getOutposts", TypeShape.of(GetOutpostsResult.class), args, Utilities.withVersion(options)); } + /** + * Provides details about multiple Outposts. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.outposts.OutpostsFunctions;
+     * import com.pulumi.aws.outposts.inputs.GetOutpostsArgs;
+     * 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 = OutpostsFunctions.getOutposts(GetOutpostsArgs.builder()
+     *             .siteId(id)
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getOutposts(GetOutpostsArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:outposts/getOutposts:getOutposts", TypeShape.of(GetOutpostsResult.class), args, Utilities.withVersion(options)); + } /** * Provides details about multiple Outposts. * @@ -1612,6 +1913,48 @@ public static CompletableFuture getSitePlain(GetSitePlainArgs arg public static Output getSite(GetSiteArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:outposts/getSite:getSite", TypeShape.of(GetSiteResult.class), args, Utilities.withVersion(options)); } + /** + * Provides details about an Outposts Site. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.outposts.OutpostsFunctions;
+     * import com.pulumi.aws.outposts.inputs.GetSiteArgs;
+     * 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 = OutpostsFunctions.getSite(GetSiteArgs.builder()
+     *             .name("example")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getSite(GetSiteArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:outposts/getSite:getSite", TypeShape.of(GetSiteResult.class), args, Utilities.withVersion(options)); + } /** * Provides details about an Outposts Site. * @@ -1849,6 +2192,45 @@ public static CompletableFuture getSitesPlain(InvokeArgs args) { public static Output getSites(InvokeArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:outposts/getSites:getSites", TypeShape.of(GetSitesResult.class), args, Utilities.withVersion(options)); } + /** + * Provides details about multiple Outposts Sites. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.outposts.OutpostsFunctions;
+     * 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 all = OutpostsFunctions.getSites();
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getSites(InvokeArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:outposts/getSites:getSites", TypeShape.of(GetSitesResult.class), args, Utilities.withVersion(options)); + } /** * Provides details about multiple Outposts Sites. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/polly/PollyFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/polly/PollyFunctions.java index 08264b5b198..d3b86105242 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/polly/PollyFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/polly/PollyFunctions.java @@ -11,6 +11,7 @@ import com.pulumi.core.TypeShape; import com.pulumi.deployment.Deployment; import com.pulumi.deployment.InvokeOptions; +import com.pulumi.deployment.InvokeOutputOptions; import java.util.concurrent.CompletableFuture; public final class PollyFunctions { @@ -399,6 +400,83 @@ public static CompletableFuture getVoicesPlain(GetVoicesPlainAr public static Output getVoices(GetVoicesArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:polly/getVoices:getVoices", TypeShape.of(GetVoicesResult.class), args, Utilities.withVersion(options)); } + /** + * Data source for managing an AWS Polly Voices. + * + * ## Example Usage + * + * ### Basic Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.polly.PollyFunctions;
+     * import com.pulumi.aws.polly.inputs.GetVoicesArgs;
+     * 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 = PollyFunctions.getVoices();
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + * ### With Language Code + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.polly.PollyFunctions;
+     * import com.pulumi.aws.polly.inputs.GetVoicesArgs;
+     * 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 = PollyFunctions.getVoices(GetVoicesArgs.builder()
+     *             .languageCode("en-GB")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getVoices(GetVoicesArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:polly/getVoices:getVoices", TypeShape.of(GetVoicesResult.class), args, Utilities.withVersion(options)); + } /** * Data source for managing an AWS Polly Voices. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/pricing/PricingFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/pricing/PricingFunctions.java index 15818033953..3031a8925fb 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/pricing/PricingFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/pricing/PricingFunctions.java @@ -11,6 +11,7 @@ import com.pulumi.core.TypeShape; import com.pulumi.deployment.Deployment; import com.pulumi.deployment.InvokeOptions; +import com.pulumi.deployment.InvokeOutputOptions; import java.util.concurrent.CompletableFuture; public final class PricingFunctions { @@ -467,6 +468,120 @@ public static Output getProduct(GetProductArgs args, InvokeOpt * <!--End PulumiCodeChooser --> * */ + public static Output getProduct(GetProductArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:pricing/getProduct:getProduct", TypeShape.of(GetProductResult.class), args, Utilities.withVersion(options)); + } + /** + * Use this data source to get the pricing information of all products in AWS. + * This data source is only available in a us-east-1 or ap-south-1 provider. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.pricing.PricingFunctions;
+     * import com.pulumi.aws.pricing.inputs.GetProductArgs;
+     * 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 = PricingFunctions.getProduct(GetProductArgs.builder()
+     *             .serviceCode("AmazonEC2")
+     *             .filters(            
+     *                 GetProductFilterArgs.builder()
+     *                     .field("instanceType")
+     *                     .value("c5.xlarge")
+     *                     .build(),
+     *                 GetProductFilterArgs.builder()
+     *                     .field("operatingSystem")
+     *                     .value("Linux")
+     *                     .build(),
+     *                 GetProductFilterArgs.builder()
+     *                     .field("location")
+     *                     .value("US East (N. Virginia)")
+     *                     .build(),
+     *                 GetProductFilterArgs.builder()
+     *                     .field("preInstalledSw")
+     *                     .value("NA")
+     *                     .build(),
+     *                 GetProductFilterArgs.builder()
+     *                     .field("licenseModel")
+     *                     .value("No License required")
+     *                     .build(),
+     *                 GetProductFilterArgs.builder()
+     *                     .field("tenancy")
+     *                     .value("Shared")
+     *                     .build(),
+     *                 GetProductFilterArgs.builder()
+     *                     .field("capacitystatus")
+     *                     .value("Used")
+     *                     .build())
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.pricing.PricingFunctions;
+     * import com.pulumi.aws.pricing.inputs.GetProductArgs;
+     * 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 = PricingFunctions.getProduct(GetProductArgs.builder()
+     *             .serviceCode("AmazonRedshift")
+     *             .filters(            
+     *                 GetProductFilterArgs.builder()
+     *                     .field("instanceType")
+     *                     .value("ds1.xlarge")
+     *                     .build(),
+     *                 GetProductFilterArgs.builder()
+     *                     .field("location")
+     *                     .value("US East (N. Virginia)")
+     *                     .build())
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ public static CompletableFuture getProductPlain(GetProductPlainArgs args, InvokeOptions options) { return Deployment.getInstance().invokeAsync("aws:pricing/getProduct:getProduct", TypeShape.of(GetProductResult.class), args, Utilities.withVersion(options)); } diff --git a/sdk/java/src/main/java/com/pulumi/aws/qldb/QldbFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/qldb/QldbFunctions.java index 30cb6a401c9..10e7e09d45e 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/qldb/QldbFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/qldb/QldbFunctions.java @@ -11,6 +11,7 @@ import com.pulumi.core.TypeShape; import com.pulumi.deployment.Deployment; import com.pulumi.deployment.InvokeOptions; +import com.pulumi.deployment.InvokeOutputOptions; import java.util.concurrent.CompletableFuture; public final class QldbFunctions { @@ -140,6 +141,48 @@ public static CompletableFuture getLedgerPlain(GetLedgerPlainAr public static Output getLedger(GetLedgerArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:qldb/getLedger:getLedger", TypeShape.of(GetLedgerResult.class), args, Utilities.withVersion(options)); } + /** + * Use this data source to fetch information about a Quantum Ledger Database. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.qldb.QldbFunctions;
+     * import com.pulumi.aws.qldb.inputs.GetLedgerArgs;
+     * 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 = QldbFunctions.getLedger(GetLedgerArgs.builder()
+     *             .name("an_example_ledger")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getLedger(GetLedgerArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:qldb/getLedger:getLedger", TypeShape.of(GetLedgerResult.class), args, Utilities.withVersion(options)); + } /** * Use this data source to fetch information about a Quantum Ledger Database. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/quicksight/QuicksightFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/quicksight/QuicksightFunctions.java index 4a8df239162..40223240af6 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/quicksight/QuicksightFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/quicksight/QuicksightFunctions.java @@ -26,6 +26,7 @@ import com.pulumi.core.TypeShape; import com.pulumi.deployment.Deployment; import com.pulumi.deployment.InvokeOptions; +import com.pulumi.deployment.InvokeOutputOptions; import java.util.concurrent.CompletableFuture; public final class QuicksightFunctions { @@ -218,6 +219,54 @@ public static Output getAnalysis(GetAnalysisArgs args, Invoke * */ @Deprecated /* aws.quicksight/getanalysis.getAnalysis has been deprecated in favor of aws.quicksight/getquicksightanalysis.getQuicksightAnalysis */ + public static Output getAnalysis(GetAnalysisArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:quicksight/getAnalysis:getAnalysis", TypeShape.of(GetAnalysisResult.class), args, Utilities.withVersion(options)); + } + /** + * Data source for managing an AWS QuickSight Analysis. + * + * ## Example Usage + * + * ### Basic Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.quicksight.QuicksightFunctions;
+     * import com.pulumi.aws.quicksight.inputs.GetQuicksightAnalysisArgs;
+     * 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 = QuicksightFunctions.getQuicksightAnalysis(GetQuicksightAnalysisArgs.builder()
+     *             .analysisId("example-id")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + * @deprecated + * aws.quicksight/getanalysis.getAnalysis has been deprecated in favor of aws.quicksight/getquicksightanalysis.getQuicksightAnalysis + * + */ + @Deprecated /* aws.quicksight/getanalysis.getAnalysis has been deprecated in favor of aws.quicksight/getquicksightanalysis.getQuicksightAnalysis */ public static CompletableFuture getAnalysisPlain(GetAnalysisPlainArgs args, InvokeOptions options) { return Deployment.getInstance().invokeAsync("aws:quicksight/getAnalysis:getAnalysis", TypeShape.of(GetAnalysisResult.class), args, Utilities.withVersion(options)); } @@ -353,6 +402,50 @@ public static CompletableFuture getDataSetPlain(GetDataSetPlai public static Output getDataSet(GetDataSetArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:quicksight/getDataSet:getDataSet", TypeShape.of(GetDataSetResult.class), args, Utilities.withVersion(options)); } + /** + * Data source for managing a QuickSight Data Set. + * + * ## Example Usage + * + * ### Basic Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.quicksight.QuicksightFunctions;
+     * import com.pulumi.aws.quicksight.inputs.GetDataSetArgs;
+     * 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 = QuicksightFunctions.getDataSet(GetDataSetArgs.builder()
+     *             .dataSetId("example-id")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getDataSet(GetDataSetArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:quicksight/getDataSet:getDataSet", TypeShape.of(GetDataSetResult.class), args, Utilities.withVersion(options)); + } /** * Data source for managing a QuickSight Data Set. * @@ -529,6 +622,50 @@ public static CompletableFuture getQuicksightAnalys public static Output getQuicksightAnalysis(GetQuicksightAnalysisArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:quicksight/getQuicksightAnalysis:getQuicksightAnalysis", TypeShape.of(GetQuicksightAnalysisResult.class), args, Utilities.withVersion(options)); } + /** + * Data source for managing an AWS QuickSight Analysis. + * + * ## Example Usage + * + * ### Basic Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.quicksight.QuicksightFunctions;
+     * import com.pulumi.aws.quicksight.inputs.GetQuicksightAnalysisArgs;
+     * 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 = QuicksightFunctions.getQuicksightAnalysis(GetQuicksightAnalysisArgs.builder()
+     *             .analysisId("example-id")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getQuicksightAnalysis(GetQuicksightAnalysisArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:quicksight/getQuicksightAnalysis:getQuicksightAnalysis", TypeShape.of(GetQuicksightAnalysisResult.class), args, Utilities.withVersion(options)); + } /** * Data source for managing an AWS QuickSight Analysis. * @@ -711,6 +848,52 @@ public static CompletableFuture getQuicksightGroupPlai public static Output getQuicksightGroup(GetQuicksightGroupArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:quicksight/getQuicksightGroup:getQuicksightGroup", TypeShape.of(GetQuicksightGroupResult.class), args, Utilities.withVersion(options)); } + /** + * This data source can be used to fetch information about a specific + * QuickSight group. By using this data source, you can reference QuickSight group + * properties without having to hard code ARNs or unique IDs as input. + * + * ## Example Usage + * + * ### Basic Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.quicksight.QuicksightFunctions;
+     * import com.pulumi.aws.quicksight.inputs.GetQuicksightGroupArgs;
+     * 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 = QuicksightFunctions.getQuicksightGroup(GetQuicksightGroupArgs.builder()
+     *             .groupName("example")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getQuicksightGroup(GetQuicksightGroupArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:quicksight/getQuicksightGroup:getQuicksightGroup", TypeShape.of(GetQuicksightGroupResult.class), args, Utilities.withVersion(options)); + } /** * This data source can be used to fetch information about a specific * QuickSight group. By using this data source, you can reference QuickSight group @@ -895,6 +1078,52 @@ public static CompletableFuture getQuicksightUserPlain( public static Output getQuicksightUser(GetQuicksightUserArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:quicksight/getQuicksightUser:getQuicksightUser", TypeShape.of(GetQuicksightUserResult.class), args, Utilities.withVersion(options)); } + /** + * This data source can be used to fetch information about a specific + * QuickSight user. By using this data source, you can reference QuickSight user + * properties without having to hard code ARNs or unique IDs as input. + * + * ## Example Usage + * + * ### Basic Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.quicksight.QuicksightFunctions;
+     * import com.pulumi.aws.quicksight.inputs.GetQuicksightUserArgs;
+     * 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 = QuicksightFunctions.getQuicksightUser(GetQuicksightUserArgs.builder()
+     *             .userName("example")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getQuicksightUser(GetQuicksightUserArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:quicksight/getQuicksightUser:getQuicksightUser", TypeShape.of(GetQuicksightUserResult.class), args, Utilities.withVersion(options)); + } /** * This data source can be used to fetch information about a specific * QuickSight user. By using this data source, you can reference QuickSight user @@ -1073,6 +1302,50 @@ public static CompletableFuture getThemePlain(GetThemePlainArgs public static Output getTheme(GetThemeArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:quicksight/getTheme:getTheme", TypeShape.of(GetThemeResult.class), args, Utilities.withVersion(options)); } + /** + * Data source for managing an AWS QuickSight Theme. + * + * ## Example Usage + * + * ### Basic Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.quicksight.QuicksightFunctions;
+     * import com.pulumi.aws.quicksight.inputs.GetThemeArgs;
+     * 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 = QuicksightFunctions.getTheme(GetThemeArgs.builder()
+     *             .themeId("example")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getTheme(GetThemeArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:quicksight/getTheme:getTheme", TypeShape.of(GetThemeResult.class), args, Utilities.withVersion(options)); + } /** * Data source for managing an AWS QuickSight Theme. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/ram/RamFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/ram/RamFunctions.java index e823a68c049..a7f4c33b47d 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ram/RamFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ram/RamFunctions.java @@ -11,6 +11,7 @@ import com.pulumi.core.TypeShape; import com.pulumi.deployment.Deployment; import com.pulumi.deployment.InvokeOptions; +import com.pulumi.deployment.InvokeOutputOptions; import java.util.concurrent.CompletableFuture; public final class RamFunctions { @@ -260,6 +261,88 @@ public static CompletableFuture getResourceSharePlain(Ge public static Output getResourceShare(GetResourceShareArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:ram/getResourceShare:getResourceShare", TypeShape.of(GetResourceShareResult.class), args, Utilities.withVersion(options)); } + /** + * `aws.ram.ResourceShare` Retrieve information about a RAM Resource Share. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.ram.RamFunctions;
+     * import com.pulumi.aws.ram.inputs.GetResourceShareArgs;
+     * 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 = RamFunctions.getResourceShare(GetResourceShareArgs.builder()
+     *             .name("example")
+     *             .resourceOwner("SELF")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + * ## Search by filters + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.ram.RamFunctions;
+     * import com.pulumi.aws.ram.inputs.GetResourceShareArgs;
+     * 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 tagFilter = RamFunctions.getResourceShare(GetResourceShareArgs.builder()
+     *             .resourceOwner("SELF")
+     *             .filters(GetResourceShareFilterArgs.builder()
+     *                 .name("NameOfTag")
+     *                 .values("exampleNameTagValue")
+     *                 .build())
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getResourceShare(GetResourceShareArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:ram/getResourceShare:getResourceShare", TypeShape.of(GetResourceShareResult.class), args, Utilities.withVersion(options)); + } /** * `aws.ram.ResourceShare` Retrieve information about a RAM Resource Share. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/rds/Cluster.java b/sdk/java/src/main/java/com/pulumi/aws/rds/Cluster.java index eac48dc5237..826a17f8243 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/rds/Cluster.java +++ b/sdk/java/src/main/java/com/pulumi/aws/rds/Cluster.java @@ -272,7 +272,8 @@ * .storageEncrypted(true) * .serverlessv2ScalingConfiguration(ClusterServerlessv2ScalingConfigurationArgs.builder() * .maxCapacity(1) - * .minCapacity(0.5) + * .minCapacity(0) + * .secondsUntilAutoPause(3600) * .build()) * .build()); * diff --git a/sdk/java/src/main/java/com/pulumi/aws/rds/GlobalCluster.java b/sdk/java/src/main/java/com/pulumi/aws/rds/GlobalCluster.java index 4aeb0502c69..4636c002e91 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/rds/GlobalCluster.java +++ b/sdk/java/src/main/java/com/pulumi/aws/rds/GlobalCluster.java @@ -14,6 +14,7 @@ import java.lang.Boolean; import java.lang.String; import java.util.List; +import java.util.Map; import java.util.Optional; import javax.annotation.Nullable; @@ -309,32 +310,32 @@ @ResourceType(type="aws:rds/globalCluster:GlobalCluster") public class GlobalCluster extends com.pulumi.resources.CustomResource { /** - * RDS Global Cluster Amazon Resource Name (ARN) + * RDS Global Cluster Amazon Resource Name (ARN). * */ @Export(name="arn", refs={String.class}, tree="[0]") private Output arn; /** - * @return RDS Global Cluster Amazon Resource Name (ARN) + * @return RDS Global Cluster Amazon Resource Name (ARN). * */ public Output arn() { return this.arn; } /** - * Name for an automatically created database on cluster creation. + * Name for an automatically created database on cluster creation. Pulumi will only perform drift detection if a configuration value is provided. * */ @Export(name="databaseName", refs={String.class}, tree="[0]") - private Output databaseName; + private Output databaseName; /** - * @return Name for an automatically created database on cluster creation. + * @return Name for an automatically created database on cluster creation. Pulumi will only perform drift detection if a configuration value is provided. * */ - public Output> databaseName() { - return Codegen.optional(this.databaseName); + public Output databaseName() { + return this.databaseName; } /** * If the Global Cluster should have deletion protection enabled. The database can't be deleted when this value is set to `true`. The default is `false`. @@ -455,14 +456,14 @@ public Output> globalClusterMembers() { return this.globalClusterMembers; } /** - * AWS Region-unique, immutable identifier for the global database cluster. This identifier is found in AWS CloudTrail log entries whenever the AWS KMS key for the DB cluster is accessed + * AWS Region-unique, immutable identifier for the global database cluster. This identifier is found in AWS CloudTrail log entries whenever the AWS KMS key for the DB cluster is accessed. * */ @Export(name="globalClusterResourceId", refs={String.class}, tree="[0]") private Output globalClusterResourceId; /** - * @return AWS Region-unique, immutable identifier for the global database cluster. This identifier is found in AWS CloudTrail log entries whenever the AWS KMS key for the DB cluster is accessed + * @return AWS Region-unique, immutable identifier for the global database cluster. This identifier is found in AWS CloudTrail log entries whenever the AWS KMS key for the DB cluster is accessed. * */ public Output globalClusterResourceId() { @@ -496,6 +497,38 @@ public Output sourceDbClusterIdentifier() { public Output storageEncrypted() { return this.storageEncrypted; } + /** + * A map of tags to assign to the DB cluster. 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 DB cluster. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + */ + public Output>> tags() { + return Codegen.optional(this.tags); + } + /** + * Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + * @deprecated + * Please use `tags` instead. + * + */ + @Deprecated /* Please use `tags` instead. */ + @Export(name="tagsAll", refs={Map.class,String.class}, tree="[0,1,1]") + private Output> tagsAll; + + /** + * @return Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + */ + public Output> tagsAll() { + return this.tagsAll; + } /** * diff --git a/sdk/java/src/main/java/com/pulumi/aws/rds/GlobalClusterArgs.java b/sdk/java/src/main/java/com/pulumi/aws/rds/GlobalClusterArgs.java index d4d7201a005..dabac473a7e 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/rds/GlobalClusterArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/rds/GlobalClusterArgs.java @@ -8,6 +8,7 @@ import com.pulumi.exceptions.MissingRequiredPropertyException; import java.lang.Boolean; import java.lang.String; +import java.util.Map; import java.util.Objects; import java.util.Optional; import javax.annotation.Nullable; @@ -18,14 +19,14 @@ public final class GlobalClusterArgs extends com.pulumi.resources.ResourceArgs { public static final GlobalClusterArgs Empty = new GlobalClusterArgs(); /** - * Name for an automatically created database on cluster creation. + * Name for an automatically created database on cluster creation. Pulumi will only perform drift detection if a configuration value is provided. * */ @Import(name="databaseName") private @Nullable Output databaseName; /** - * @return Name for an automatically created database on cluster creation. + * @return Name for an automatically created database on cluster creation. Pulumi will only perform drift detection if a configuration value is provided. * */ public Optional> databaseName() { @@ -152,6 +153,21 @@ public Optional> storageEncrypted() { return Optional.ofNullable(this.storageEncrypted); } + /** + * A map of tags to assign to the DB cluster. 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 DB cluster. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + */ + public Optional>> tags() { + return Optional.ofNullable(this.tags); + } + private GlobalClusterArgs() {} private GlobalClusterArgs(GlobalClusterArgs $) { @@ -164,6 +180,7 @@ private GlobalClusterArgs(GlobalClusterArgs $) { this.globalClusterIdentifier = $.globalClusterIdentifier; this.sourceDbClusterIdentifier = $.sourceDbClusterIdentifier; this.storageEncrypted = $.storageEncrypted; + this.tags = $.tags; } public static Builder builder() { @@ -185,7 +202,7 @@ public Builder(GlobalClusterArgs defaults) { } /** - * @param databaseName Name for an automatically created database on cluster creation. + * @param databaseName Name for an automatically created database on cluster creation. Pulumi will only perform drift detection if a configuration value is provided. * * @return builder * @@ -196,7 +213,7 @@ public Builder databaseName(@Nullable Output databaseName) { } /** - * @param databaseName Name for an automatically created database on cluster creation. + * @param databaseName Name for an automatically created database on cluster creation. Pulumi will only perform drift detection if a configuration value is provided. * * @return builder * @@ -373,6 +390,27 @@ public Builder storageEncrypted(Boolean storageEncrypted) { return storageEncrypted(Output.of(storageEncrypted)); } + /** + * @param tags A map of tags to assign to the DB cluster. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + * @return builder + * + */ + public Builder tags(@Nullable Output> tags) { + $.tags = tags; + return this; + } + + /** + * @param tags A map of tags to assign to the DB cluster. 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 GlobalClusterArgs build() { if ($.globalClusterIdentifier == null) { throw new MissingRequiredPropertyException("GlobalClusterArgs", "globalClusterIdentifier"); 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 c2cb24c2a66..45465d58e79 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 @@ -774,26 +774,24 @@ public Output dbName() { return this.dbName; } /** - * Name of DB subnet group. DB instance will - * be created in the VPC associated with the DB subnet group. If unspecified, will - * be created in the `default` VPC, or in EC2 Classic, if available. When working - * with read replicas, it should be specified only if the source database - * specifies an instance in another AWS Region. See [DBSubnetGroupName in API - * action CreateDBInstanceReadReplica](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstanceReadReplica.html) - * for additional read replica constraints. + * Name of DB subnet group. + * DB instance will be created in the VPC associated with the DB subnet group. + * If unspecified, will be created in the `default` Subnet Group. + * When working with read replicas created in the same region, defaults to the Subnet Group Name of the source DB. + * When working with read replicas created in a different region, defaults to the `default` Subnet Group. + * See [DBSubnetGroupName in API action CreateDBInstanceReadReplica](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstanceReadReplica.html) for additional read replica constraints. * */ @Export(name="dbSubnetGroupName", refs={String.class}, tree="[0]") private Output dbSubnetGroupName; /** - * @return Name of DB subnet group. DB instance will - * be created in the VPC associated with the DB subnet group. If unspecified, will - * be created in the `default` VPC, or in EC2 Classic, if available. When working - * with read replicas, it should be specified only if the source database - * specifies an instance in another AWS Region. See [DBSubnetGroupName in API - * action CreateDBInstanceReadReplica](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstanceReadReplica.html) - * for additional read replica constraints. + * @return Name of DB subnet group. + * DB instance will be created in the VPC associated with the DB subnet group. + * If unspecified, will be created in the `default` Subnet Group. + * When working with read replicas created in the same region, defaults to the Subnet Group Name of the source DB. + * When working with read replicas created in a different region, defaults to the `default` Subnet Group. + * See [DBSubnetGroupName in API action CreateDBInstanceReadReplica](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstanceReadReplica.html) for additional read replica constraints. * */ public Output dbSubnetGroupName() { @@ -1504,30 +1502,24 @@ public Output> replicas() { return this.replicas; } /** - * Specifies that this resource is a Replicate - * database, and to use this value as the source database. This correlates to the - * `identifier` of another Amazon RDS Database to replicate (if replicating within - * a single region) or ARN of the Amazon RDS Database to replicate (if replicating - * cross-region). Note that if you are - * creating a cross-region replica of an encrypted database you will also need to - * specify a `kms_key_id`. See [DB Instance Replication][instance-replication] and [Working with - * PostgreSQL and MySQL Read Replicas](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ReadRepl.html) - * for more information on using Replication. + * Specifies that this resource is a Replica database, and to use this value as the source database. + * If replicating an Amazon RDS Database Instance in the same region, use the `identifier` of the source DB, unless also specifying the `db_subnet_group_name`. + * If specifying the `db_subnet_group_name` in the same region, use the `arn` of the source DB. + * If replicating an Instance in a different region, use the `arn` of the source DB. + * Note that if you are creating a cross-region replica of an encrypted database you will also need to specify a `kms_key_id`. + * See [DB Instance Replication][instance-replication] and [Working with PostgreSQL and MySQL Read Replicas](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ReadRepl.html) for more information on using Replication. * */ @Export(name="replicateSourceDb", refs={String.class}, tree="[0]") private Output replicateSourceDb; /** - * @return Specifies that this resource is a Replicate - * database, and to use this value as the source database. This correlates to the - * `identifier` of another Amazon RDS Database to replicate (if replicating within - * a single region) or ARN of the Amazon RDS Database to replicate (if replicating - * cross-region). Note that if you are - * creating a cross-region replica of an encrypted database you will also need to - * specify a `kms_key_id`. See [DB Instance Replication][instance-replication] and [Working with - * PostgreSQL and MySQL Read Replicas](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ReadRepl.html) - * for more information on using Replication. + * @return Specifies that this resource is a Replica database, and to use this value as the source database. + * If replicating an Amazon RDS Database Instance in the same region, use the `identifier` of the source DB, unless also specifying the `db_subnet_group_name`. + * If specifying the `db_subnet_group_name` in the same region, use the `arn` of the source DB. + * If replicating an Instance in a different region, use the `arn` of the source DB. + * Note that if you are creating a cross-region replica of an encrypted database you will also need to specify a `kms_key_id`. + * See [DB Instance Replication][instance-replication] and [Working with PostgreSQL and MySQL Read Replicas](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ReadRepl.html) for more information on using Replication. * */ public Output> replicateSourceDb() { @@ -1548,14 +1540,18 @@ public Output resourceId() { return this.resourceId; } /** - * A configuration block for restoring a DB instance to an arbitrary point in time. Requires the `identifier` argument to be set with the name of the new DB instance to be created. See Restore To Point In Time below for details. + * A configuration block for restoring a DB instance to an arbitrary point in time. + * Requires the `identifier` argument to be set with the name of the new DB instance to be created. + * See Restore To Point In Time below for details. * */ @Export(name="restoreToPointInTime", refs={InstanceRestoreToPointInTime.class}, tree="[0]") private Output restoreToPointInTime; /** - * @return A configuration block for restoring a DB instance to an arbitrary point in time. Requires the `identifier` argument to be set with the name of the new DB instance to be created. See Restore To Point In Time below for details. + * @return A configuration block for restoring a DB instance to an arbitrary point in time. + * Requires the `identifier` argument to be set with the name of the new DB instance to be created. + * See Restore To Point In Time below for details. * */ public Output> restoreToPointInTime() { @@ -1598,18 +1594,16 @@ public Output> skipFinalSnapshot() { return Codegen.optional(this.skipFinalSnapshot); } /** - * Specifies whether or not to create this - * database from a snapshot. This correlates to the snapshot ID you'd find in the - * RDS console, e.g: rds:production-2015-06-26-06-05. + * Specifies whether or not to create this database from a snapshot. + * This corresponds to the snapshot ID you'd find in the RDS console, e.g: rds:production-2015-06-26-06-05. * */ @Export(name="snapshotIdentifier", refs={String.class}, tree="[0]") private Output snapshotIdentifier; /** - * @return Specifies whether or not to create this - * database from a snapshot. This correlates to the snapshot ID you'd find in the - * RDS console, e.g: rds:production-2015-06-26-06-05. + * @return Specifies whether or not to create this database from a snapshot. + * This corresponds to the snapshot ID you'd find in the RDS console, e.g: rds:production-2015-06-26-06-05. * */ public Output snapshotIdentifier() { @@ -1738,14 +1732,16 @@ public Output timezone() { return this.timezone; } /** - * Whether to upgrade the storage file system configuration on the read replica. Can only be set with `replicate_source_db`. + * Whether to upgrade the storage file system configuration on the read replica. + * Can only be set with `replicate_source_db`. * */ @Export(name="upgradeStorageConfig", refs={Boolean.class}, tree="[0]") private Output upgradeStorageConfig; /** - * @return Whether to upgrade the storage file system configuration on the read replica. Can only be set with `replicate_source_db`. + * @return Whether to upgrade the storage file system configuration on the read replica. + * Can only be set with `replicate_source_db`. * */ public Output> upgradeStorageConfig() { diff --git a/sdk/java/src/main/java/com/pulumi/aws/rds/InstanceArgs.java b/sdk/java/src/main/java/com/pulumi/aws/rds/InstanceArgs.java index 03ea36ee78b..1ccd0e72688 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/rds/InstanceArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/rds/InstanceArgs.java @@ -296,26 +296,24 @@ public Optional> dbName() { } /** - * Name of DB subnet group. DB instance will - * be created in the VPC associated with the DB subnet group. If unspecified, will - * be created in the `default` VPC, or in EC2 Classic, if available. When working - * with read replicas, it should be specified only if the source database - * specifies an instance in another AWS Region. See [DBSubnetGroupName in API - * action CreateDBInstanceReadReplica](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstanceReadReplica.html) - * for additional read replica constraints. + * Name of DB subnet group. + * DB instance will be created in the VPC associated with the DB subnet group. + * If unspecified, will be created in the `default` Subnet Group. + * When working with read replicas created in the same region, defaults to the Subnet Group Name of the source DB. + * When working with read replicas created in a different region, defaults to the `default` Subnet Group. + * See [DBSubnetGroupName in API action CreateDBInstanceReadReplica](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstanceReadReplica.html) for additional read replica constraints. * */ @Import(name="dbSubnetGroupName") private @Nullable Output dbSubnetGroupName; /** - * @return Name of DB subnet group. DB instance will - * be created in the VPC associated with the DB subnet group. If unspecified, will - * be created in the `default` VPC, or in EC2 Classic, if available. When working - * with read replicas, it should be specified only if the source database - * specifies an instance in another AWS Region. See [DBSubnetGroupName in API - * action CreateDBInstanceReadReplica](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstanceReadReplica.html) - * for additional read replica constraints. + * @return Name of DB subnet group. + * DB instance will be created in the VPC associated with the DB subnet group. + * If unspecified, will be created in the `default` Subnet Group. + * When working with read replicas created in the same region, defaults to the Subnet Group Name of the source DB. + * When working with read replicas created in a different region, defaults to the `default` Subnet Group. + * See [DBSubnetGroupName in API action CreateDBInstanceReadReplica](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstanceReadReplica.html) for additional read replica constraints. * */ public Optional> dbSubnetGroupName() { @@ -983,30 +981,24 @@ public Optional> replicaMode() { } /** - * Specifies that this resource is a Replicate - * database, and to use this value as the source database. This correlates to the - * `identifier` of another Amazon RDS Database to replicate (if replicating within - * a single region) or ARN of the Amazon RDS Database to replicate (if replicating - * cross-region). Note that if you are - * creating a cross-region replica of an encrypted database you will also need to - * specify a `kms_key_id`. See [DB Instance Replication][instance-replication] and [Working with - * PostgreSQL and MySQL Read Replicas](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ReadRepl.html) - * for more information on using Replication. + * Specifies that this resource is a Replica database, and to use this value as the source database. + * If replicating an Amazon RDS Database Instance in the same region, use the `identifier` of the source DB, unless also specifying the `db_subnet_group_name`. + * If specifying the `db_subnet_group_name` in the same region, use the `arn` of the source DB. + * If replicating an Instance in a different region, use the `arn` of the source DB. + * Note that if you are creating a cross-region replica of an encrypted database you will also need to specify a `kms_key_id`. + * See [DB Instance Replication][instance-replication] and [Working with PostgreSQL and MySQL Read Replicas](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ReadRepl.html) for more information on using Replication. * */ @Import(name="replicateSourceDb") private @Nullable Output replicateSourceDb; /** - * @return Specifies that this resource is a Replicate - * database, and to use this value as the source database. This correlates to the - * `identifier` of another Amazon RDS Database to replicate (if replicating within - * a single region) or ARN of the Amazon RDS Database to replicate (if replicating - * cross-region). Note that if you are - * creating a cross-region replica of an encrypted database you will also need to - * specify a `kms_key_id`. See [DB Instance Replication][instance-replication] and [Working with - * PostgreSQL and MySQL Read Replicas](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ReadRepl.html) - * for more information on using Replication. + * @return Specifies that this resource is a Replica database, and to use this value as the source database. + * If replicating an Amazon RDS Database Instance in the same region, use the `identifier` of the source DB, unless also specifying the `db_subnet_group_name`. + * If specifying the `db_subnet_group_name` in the same region, use the `arn` of the source DB. + * If replicating an Instance in a different region, use the `arn` of the source DB. + * Note that if you are creating a cross-region replica of an encrypted database you will also need to specify a `kms_key_id`. + * See [DB Instance Replication][instance-replication] and [Working with PostgreSQL and MySQL Read Replicas](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ReadRepl.html) for more information on using Replication. * */ public Optional> replicateSourceDb() { @@ -1014,14 +1006,18 @@ public Optional> replicateSourceDb() { } /** - * A configuration block for restoring a DB instance to an arbitrary point in time. Requires the `identifier` argument to be set with the name of the new DB instance to be created. See Restore To Point In Time below for details. + * A configuration block for restoring a DB instance to an arbitrary point in time. + * Requires the `identifier` argument to be set with the name of the new DB instance to be created. + * See Restore To Point In Time below for details. * */ @Import(name="restoreToPointInTime") private @Nullable Output restoreToPointInTime; /** - * @return A configuration block for restoring a DB instance to an arbitrary point in time. Requires the `identifier` argument to be set with the name of the new DB instance to be created. See Restore To Point In Time below for details. + * @return A configuration block for restoring a DB instance to an arbitrary point in time. + * Requires the `identifier` argument to be set with the name of the new DB instance to be created. + * See Restore To Point In Time below for details. * */ public Optional> restoreToPointInTime() { @@ -1067,18 +1063,16 @@ public Optional> skipFinalSnapshot() { } /** - * Specifies whether or not to create this - * database from a snapshot. This correlates to the snapshot ID you'd find in the - * RDS console, e.g: rds:production-2015-06-26-06-05. + * Specifies whether or not to create this database from a snapshot. + * This corresponds to the snapshot ID you'd find in the RDS console, e.g: rds:production-2015-06-26-06-05. * */ @Import(name="snapshotIdentifier") private @Nullable Output snapshotIdentifier; /** - * @return Specifies whether or not to create this - * database from a snapshot. This correlates to the snapshot ID you'd find in the - * RDS console, e.g: rds:production-2015-06-26-06-05. + * @return Specifies whether or not to create this database from a snapshot. + * This corresponds to the snapshot ID you'd find in the RDS console, e.g: rds:production-2015-06-26-06-05. * */ public Optional> snapshotIdentifier() { @@ -1181,14 +1175,16 @@ public Optional> timezone() { } /** - * Whether to upgrade the storage file system configuration on the read replica. Can only be set with `replicate_source_db`. + * Whether to upgrade the storage file system configuration on the read replica. + * Can only be set with `replicate_source_db`. * */ @Import(name="upgradeStorageConfig") private @Nullable Output upgradeStorageConfig; /** - * @return Whether to upgrade the storage file system configuration on the read replica. Can only be set with `replicate_source_db`. + * @return Whether to upgrade the storage file system configuration on the read replica. + * Can only be set with `replicate_source_db`. * */ public Optional> upgradeStorageConfig() { @@ -1681,13 +1677,12 @@ public Builder dbName(String dbName) { } /** - * @param dbSubnetGroupName Name of DB subnet group. DB instance will - * be created in the VPC associated with the DB subnet group. If unspecified, will - * be created in the `default` VPC, or in EC2 Classic, if available. When working - * with read replicas, it should be specified only if the source database - * specifies an instance in another AWS Region. See [DBSubnetGroupName in API - * action CreateDBInstanceReadReplica](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstanceReadReplica.html) - * for additional read replica constraints. + * @param dbSubnetGroupName Name of DB subnet group. + * DB instance will be created in the VPC associated with the DB subnet group. + * If unspecified, will be created in the `default` Subnet Group. + * When working with read replicas created in the same region, defaults to the Subnet Group Name of the source DB. + * When working with read replicas created in a different region, defaults to the `default` Subnet Group. + * See [DBSubnetGroupName in API action CreateDBInstanceReadReplica](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstanceReadReplica.html) for additional read replica constraints. * * @return builder * @@ -1698,13 +1693,12 @@ public Builder dbSubnetGroupName(@Nullable Output dbSubnetGroupName) { } /** - * @param dbSubnetGroupName Name of DB subnet group. DB instance will - * be created in the VPC associated with the DB subnet group. If unspecified, will - * be created in the `default` VPC, or in EC2 Classic, if available. When working - * with read replicas, it should be specified only if the source database - * specifies an instance in another AWS Region. See [DBSubnetGroupName in API - * action CreateDBInstanceReadReplica](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstanceReadReplica.html) - * for additional read replica constraints. + * @param dbSubnetGroupName Name of DB subnet group. + * DB instance will be created in the VPC associated with the DB subnet group. + * If unspecified, will be created in the `default` Subnet Group. + * When working with read replicas created in the same region, defaults to the Subnet Group Name of the source DB. + * When working with read replicas created in a different region, defaults to the `default` Subnet Group. + * See [DBSubnetGroupName in API action CreateDBInstanceReadReplica](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstanceReadReplica.html) for additional read replica constraints. * * @return builder * @@ -2654,15 +2648,12 @@ public Builder replicaMode(String replicaMode) { } /** - * @param replicateSourceDb Specifies that this resource is a Replicate - * database, and to use this value as the source database. This correlates to the - * `identifier` of another Amazon RDS Database to replicate (if replicating within - * a single region) or ARN of the Amazon RDS Database to replicate (if replicating - * cross-region). Note that if you are - * creating a cross-region replica of an encrypted database you will also need to - * specify a `kms_key_id`. See [DB Instance Replication][instance-replication] and [Working with - * PostgreSQL and MySQL Read Replicas](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ReadRepl.html) - * for more information on using Replication. + * @param replicateSourceDb Specifies that this resource is a Replica database, and to use this value as the source database. + * If replicating an Amazon RDS Database Instance in the same region, use the `identifier` of the source DB, unless also specifying the `db_subnet_group_name`. + * If specifying the `db_subnet_group_name` in the same region, use the `arn` of the source DB. + * If replicating an Instance in a different region, use the `arn` of the source DB. + * Note that if you are creating a cross-region replica of an encrypted database you will also need to specify a `kms_key_id`. + * See [DB Instance Replication][instance-replication] and [Working with PostgreSQL and MySQL Read Replicas](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ReadRepl.html) for more information on using Replication. * * @return builder * @@ -2673,15 +2664,12 @@ public Builder replicateSourceDb(@Nullable Output replicateSourceDb) { } /** - * @param replicateSourceDb Specifies that this resource is a Replicate - * database, and to use this value as the source database. This correlates to the - * `identifier` of another Amazon RDS Database to replicate (if replicating within - * a single region) or ARN of the Amazon RDS Database to replicate (if replicating - * cross-region). Note that if you are - * creating a cross-region replica of an encrypted database you will also need to - * specify a `kms_key_id`. See [DB Instance Replication][instance-replication] and [Working with - * PostgreSQL and MySQL Read Replicas](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ReadRepl.html) - * for more information on using Replication. + * @param replicateSourceDb Specifies that this resource is a Replica database, and to use this value as the source database. + * If replicating an Amazon RDS Database Instance in the same region, use the `identifier` of the source DB, unless also specifying the `db_subnet_group_name`. + * If specifying the `db_subnet_group_name` in the same region, use the `arn` of the source DB. + * If replicating an Instance in a different region, use the `arn` of the source DB. + * Note that if you are creating a cross-region replica of an encrypted database you will also need to specify a `kms_key_id`. + * See [DB Instance Replication][instance-replication] and [Working with PostgreSQL and MySQL Read Replicas](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ReadRepl.html) for more information on using Replication. * * @return builder * @@ -2691,7 +2679,9 @@ public Builder replicateSourceDb(String replicateSourceDb) { } /** - * @param restoreToPointInTime A configuration block for restoring a DB instance to an arbitrary point in time. Requires the `identifier` argument to be set with the name of the new DB instance to be created. See Restore To Point In Time below for details. + * @param restoreToPointInTime A configuration block for restoring a DB instance to an arbitrary point in time. + * Requires the `identifier` argument to be set with the name of the new DB instance to be created. + * See Restore To Point In Time below for details. * * @return builder * @@ -2702,7 +2692,9 @@ public Builder restoreToPointInTime(@Nullable Output snapshotIdentifier) { } /** - * @param snapshotIdentifier Specifies whether or not to create this - * database from a snapshot. This correlates to the snapshot ID you'd find in the - * RDS console, e.g: rds:production-2015-06-26-06-05. + * @param snapshotIdentifier Specifies whether or not to create this database from a snapshot. + * This corresponds to the snapshot ID you'd find in the RDS console, e.g: rds:production-2015-06-26-06-05. * * @return builder * @@ -2938,7 +2928,8 @@ public Builder timezone(String timezone) { } /** - * @param upgradeStorageConfig Whether to upgrade the storage file system configuration on the read replica. Can only be set with `replicate_source_db`. + * @param upgradeStorageConfig Whether to upgrade the storage file system configuration on the read replica. + * Can only be set with `replicate_source_db`. * * @return builder * @@ -2949,7 +2940,8 @@ public Builder upgradeStorageConfig(@Nullable Output upgradeStorageConf } /** - * @param upgradeStorageConfig Whether to upgrade the storage file system configuration on the read replica. Can only be set with `replicate_source_db`. + * @param upgradeStorageConfig Whether to upgrade the storage file system configuration on the read replica. + * Can only be set with `replicate_source_db`. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/rds/Proxy.java b/sdk/java/src/main/java/com/pulumi/aws/rds/Proxy.java index ec02a5df44b..e74df926a23 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/rds/Proxy.java +++ b/sdk/java/src/main/java/com/pulumi/aws/rds/Proxy.java @@ -20,61 +20,6 @@ import javax.annotation.Nullable; /** - * Provides an RDS DB proxy resource. For additional information, see the [RDS User Guide](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-proxy.html). - * - * ## Example Usage - * - * <!--Start PulumiCodeChooser --> - *
- * {@code
- * package generated_program;
- * 
- * import com.pulumi.Context;
- * import com.pulumi.Pulumi;
- * import com.pulumi.core.Output;
- * import com.pulumi.aws.rds.Proxy;
- * import com.pulumi.aws.rds.ProxyArgs;
- * import com.pulumi.aws.rds.inputs.ProxyAuthArgs;
- * 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 Proxy("example", ProxyArgs.builder()
- *             .name("example")
- *             .debugLogging(false)
- *             .engineFamily("MYSQL")
- *             .idleClientTimeout(1800)
- *             .requireTls(true)
- *             .roleArn(exampleAwsIamRole.arn())
- *             .vpcSecurityGroupIds(exampleAwsSecurityGroup.id())
- *             .vpcSubnetIds(exampleAwsSubnet.id())
- *             .auths(ProxyAuthArgs.builder()
- *                 .authScheme("SECRETS")
- *                 .description("example")
- *                 .iamAuth("DISABLED")
- *                 .secretArn(exampleAwsSecretsmanagerSecret.arn())
- *                 .build())
- *             .tags(Map.ofEntries(
- *                 Map.entry("Name", "example"),
- *                 Map.entry("Key", "value")
- *             ))
- *             .build());
- * 
- *     }
- * }
- * }
- * 
- * <!--End PulumiCodeChooser --> - * * ## Import * * Using `pulumi import`, import DB proxies using the `name`. For example: diff --git a/sdk/java/src/main/java/com/pulumi/aws/rds/RdsFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/rds/RdsFunctions.java index 4fb2074b47a..27aa8dc3fae 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/rds/RdsFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/rds/RdsFunctions.java @@ -53,6 +53,7 @@ import com.pulumi.core.TypeShape; import com.pulumi.deployment.Deployment; import com.pulumi.deployment.InvokeOptions; +import com.pulumi.deployment.InvokeOutputOptions; import java.util.concurrent.CompletableFuture; public final class RdsFunctions { @@ -266,6 +267,48 @@ public static CompletableFuture getCertificatePlain(GetCer public static Output getCertificate(GetCertificateArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:rds/getCertificate:getCertificate", TypeShape.of(GetCertificateResult.class), args, Utilities.withVersion(options)); } + /** + * Information about an RDS Certificate. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.rds.RdsFunctions;
+     * import com.pulumi.aws.rds.inputs.GetCertificateArgs;
+     * 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 = RdsFunctions.getCertificate(GetCertificateArgs.builder()
+     *             .latestValidTill(true)
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getCertificate(GetCertificateArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:rds/getCertificate:getCertificate", TypeShape.of(GetCertificateResult.class), args, Utilities.withVersion(options)); + } /** * Information about an RDS Certificate. * @@ -434,6 +477,48 @@ public static CompletableFuture getClusterPlain(GetClusterPlai public static Output getCluster(GetClusterArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:rds/getCluster:getCluster", TypeShape.of(GetClusterResult.class), args, Utilities.withVersion(options)); } + /** + * Provides information about an RDS cluster. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.rds.RdsFunctions;
+     * import com.pulumi.aws.rds.inputs.GetClusterArgs;
+     * 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 clusterName = RdsFunctions.getCluster(GetClusterArgs.builder()
+     *             .clusterIdentifier("clusterName")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getCluster(GetClusterArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:rds/getCluster:getCluster", TypeShape.of(GetClusterResult.class), args, Utilities.withVersion(options)); + } /** * Provides information about an RDS cluster. * @@ -602,6 +687,48 @@ public static CompletableFuture getClusterParame public static Output getClusterParameterGroup(GetClusterParameterGroupArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:rds/getClusterParameterGroup:getClusterParameterGroup", TypeShape.of(GetClusterParameterGroupResult.class), args, Utilities.withVersion(options)); } + /** + * Information about an RDS cluster parameter group. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.rds.RdsFunctions;
+     * import com.pulumi.aws.rds.inputs.GetClusterParameterGroupArgs;
+     * 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 test = RdsFunctions.getClusterParameterGroup(GetClusterParameterGroupArgs.builder()
+     *             .name("default.postgres15")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getClusterParameterGroup(GetClusterParameterGroupArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:rds/getClusterParameterGroup:getClusterParameterGroup", TypeShape.of(GetClusterParameterGroupResult.class), args, Utilities.withVersion(options)); + } /** * Information about an RDS cluster parameter group. * @@ -964,6 +1091,70 @@ public static CompletableFuture getClusterSnapshotPlai public static Output getClusterSnapshot(GetClusterSnapshotArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:rds/getClusterSnapshot:getClusterSnapshot", TypeShape.of(GetClusterSnapshotResult.class), args, Utilities.withVersion(options)); } + /** + * Use this data source to get information about a DB Cluster Snapshot for use when provisioning DB clusters. + * + * > **NOTE:** This data source does not apply to snapshots created on DB Instances. + * See the `aws.rds.Snapshot` data source for DB Instance snapshots. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.rds.RdsFunctions;
+     * import com.pulumi.aws.rds.inputs.GetClusterSnapshotArgs;
+     * import com.pulumi.aws.rds.Cluster;
+     * import com.pulumi.aws.rds.ClusterArgs;
+     * import com.pulumi.aws.rds.ClusterInstance;
+     * import com.pulumi.aws.rds.ClusterInstanceArgs;
+     * 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 developmentFinalSnapshot = RdsFunctions.getClusterSnapshot(GetClusterSnapshotArgs.builder()
+     *             .dbClusterIdentifier("development_cluster")
+     *             .mostRecent(true)
+     *             .build());
+     * 
+     *         // Use the last snapshot of the dev database before it was destroyed to create
+     *         // a new dev database.
+     *         var aurora = new Cluster("aurora", ClusterArgs.builder()
+     *             .clusterIdentifier("development_cluster")
+     *             .snapshotIdentifier(developmentFinalSnapshot.applyValue(getClusterSnapshotResult -> getClusterSnapshotResult.id()))
+     *             .dbSubnetGroupName("my_db_subnet_group")
+     *             .build());
+     * 
+     *         var auroraClusterInstance = new ClusterInstance("auroraClusterInstance", ClusterInstanceArgs.builder()
+     *             .clusterIdentifier(aurora.id())
+     *             .instanceClass("db.t2.small")
+     *             .dbSubnetGroupName("my_db_subnet_group")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getClusterSnapshot(GetClusterSnapshotArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:rds/getClusterSnapshot:getClusterSnapshot", TypeShape.of(GetClusterSnapshotResult.class), args, Utilities.withVersion(options)); + } /** * Use this data source to get information about a DB Cluster Snapshot for use when provisioning DB clusters. * @@ -1263,6 +1454,53 @@ public static CompletableFuture getClustersPlain(GetClustersP public static Output getClusters(GetClustersArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:rds/getClusters:getClusters", TypeShape.of(GetClustersResult.class), args, Utilities.withVersion(options)); } + /** + * Data source for managing an AWS RDS (Relational Database) Clusters. + * + * ## Example Usage + * + * ### Basic Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.rds.RdsFunctions;
+     * import com.pulumi.aws.rds.inputs.GetClustersArgs;
+     * 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 = RdsFunctions.getClusters(GetClustersArgs.builder()
+     *             .filters(GetClustersFilterArgs.builder()
+     *                 .name("engine")
+     *                 .values("aurora-postgresql")
+     *                 .build())
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getClusters(GetClustersArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:rds/getClusters:getClusters", TypeShape.of(GetClustersResult.class), args, Utilities.withVersion(options)); + } /** * Data source for managing an AWS RDS (Relational Database) Clusters. * @@ -1659,13 +1897,15 @@ public static Output getEngineVersion(GetEngineVersionAr * <!--End PulumiCodeChooser --> * */ - public static CompletableFuture getEngineVersionPlain(GetEngineVersionPlainArgs args, InvokeOptions options) { - return Deployment.getInstance().invokeAsync("aws:rds/getEngineVersion:getEngineVersion", TypeShape.of(GetEngineVersionResult.class), args, Utilities.withVersion(options)); + public static Output getEngineVersion(GetEngineVersionArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:rds/getEngineVersion:getEngineVersion", TypeShape.of(GetEngineVersionResult.class), args, Utilities.withVersion(options)); } /** + * Information about an RDS engine version. + * * ## Example Usage * - * List the event categories of all the RDS resources. + * ### Basic Usage * * <!--Start PulumiCodeChooser --> *
@@ -1676,7 +1916,7 @@ public static CompletableFuture getEngineVersionPlain(Ge
      * import com.pulumi.Pulumi;
      * import com.pulumi.core.Output;
      * import com.pulumi.aws.rds.RdsFunctions;
-     * import com.pulumi.aws.rds.inputs.GetEventCategoriesArgs;
+     * import com.pulumi.aws.rds.inputs.GetEngineVersionArgs;
      * import java.util.List;
      * import java.util.ArrayList;
      * import java.util.Map;
@@ -1690,16 +1930,20 @@ public static CompletableFuture getEngineVersionPlain(Ge
      *     }
      * 
      *     public static void stack(Context ctx) {
-     *         final var example = RdsFunctions.getEventCategories();
+     *         final var test = RdsFunctions.getEngineVersion(GetEngineVersionArgs.builder()
+     *             .engine("mysql")
+     *             .preferredVersions(            
+     *                 "8.0.27",
+     *                 "8.0.26")
+     *             .build());
      * 
-     *         ctx.export("example", example.applyValue(getEventCategoriesResult -> getEventCategoriesResult.eventCategories()));
      *     }
      * }
      * }
      * 
* <!--End PulumiCodeChooser --> * - * List the event categories specific to the RDS resource `db-snapshot`. + * ### With `filter` * * <!--Start PulumiCodeChooser --> *
@@ -1710,7 +1954,7 @@ public static CompletableFuture getEngineVersionPlain(Ge
      * import com.pulumi.Pulumi;
      * import com.pulumi.core.Output;
      * import com.pulumi.aws.rds.RdsFunctions;
-     * import com.pulumi.aws.rds.inputs.GetEventCategoriesArgs;
+     * import com.pulumi.aws.rds.inputs.GetEngineVersionArgs;
      * import java.util.List;
      * import java.util.ArrayList;
      * import java.util.Map;
@@ -1724,9 +1968,91 @@ public static CompletableFuture getEngineVersionPlain(Ge
      *     }
      * 
      *     public static void stack(Context ctx) {
-     *         final var example = RdsFunctions.getEventCategories(GetEventCategoriesArgs.builder()
-     *             .sourceType("db-snapshot")
-     *             .build());
+     *         final var test = RdsFunctions.getEngineVersion(GetEngineVersionArgs.builder()
+     *             .engine("aurora-postgresql")
+     *             .version("10.14")
+     *             .includeAll(true)
+     *             .filters(GetEngineVersionFilterArgs.builder()
+     *                 .name("engine-mode")
+     *                 .values("serverless")
+     *                 .build())
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static CompletableFuture getEngineVersionPlain(GetEngineVersionPlainArgs args, InvokeOptions options) { + return Deployment.getInstance().invokeAsync("aws:rds/getEngineVersion:getEngineVersion", TypeShape.of(GetEngineVersionResult.class), args, Utilities.withVersion(options)); + } + /** + * ## Example Usage + * + * List the event categories of all the RDS resources. + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * 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.GetEventCategoriesArgs;
+     * 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 = RdsFunctions.getEventCategories();
+     * 
+     *         ctx.export("example", example.applyValue(getEventCategoriesResult -> getEventCategoriesResult.eventCategories()));
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + * List the event categories specific to the RDS resource `db-snapshot`. + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * 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.GetEventCategoriesArgs;
+     * 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 = RdsFunctions.getEventCategories(GetEventCategoriesArgs.builder()
+     *             .sourceType("db-snapshot")
+     *             .build());
      * 
      *         ctx.export("example", example.applyValue(getEventCategoriesResult -> getEventCategoriesResult.eventCategories()));
      *     }
@@ -2047,6 +2373,83 @@ public static CompletableFuture getEventCategoriesPlai
     public static Output getEventCategories(GetEventCategoriesArgs args, InvokeOptions options) {
         return Deployment.getInstance().invoke("aws:rds/getEventCategories:getEventCategories", TypeShape.of(GetEventCategoriesResult.class), args, Utilities.withVersion(options));
     }
+    /**
+     * ## Example Usage
+     * 
+     * List the event categories of all the RDS resources.
+     * 
+     * <!--Start PulumiCodeChooser -->
+     * 
+     * {@code
+     * 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.GetEventCategoriesArgs;
+     * 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 = RdsFunctions.getEventCategories();
+     * 
+     *         ctx.export("example", example.applyValue(getEventCategoriesResult -> getEventCategoriesResult.eventCategories()));
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + * List the event categories specific to the RDS resource `db-snapshot`. + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * 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.GetEventCategoriesArgs;
+     * 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 = RdsFunctions.getEventCategories(GetEventCategoriesArgs.builder()
+     *             .sourceType("db-snapshot")
+     *             .build());
+     * 
+     *         ctx.export("example", example.applyValue(getEventCategoriesResult -> getEventCategoriesResult.eventCategories()));
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getEventCategories(GetEventCategoriesArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:rds/getEventCategories:getEventCategories", TypeShape.of(GetEventCategoriesResult.class), args, Utilities.withVersion(options)); + } /** * ## Example Usage * @@ -2334,6 +2737,48 @@ public static CompletableFuture getInstancePlain(GetInstanceP public static Output getInstance(GetInstanceArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:rds/getInstance:getInstance", TypeShape.of(GetInstanceResult.class), args, Utilities.withVersion(options)); } + /** + * Use this data source to get information about an RDS instance + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.rds.RdsFunctions;
+     * import com.pulumi.aws.rds.inputs.GetInstanceArgs;
+     * 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 database = RdsFunctions.getInstance(GetInstanceArgs.builder()
+     *             .dbInstanceIdentifier("my-test-database")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getInstance(GetInstanceArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:rds/getInstance:getInstance", TypeShape.of(GetInstanceResult.class), args, Utilities.withVersion(options)); + } /** * Use this data source to get information about an RDS instance * @@ -2865,8 +3310,183 @@ public static Output getInstances(GetInstancesArgs args, Inv * <!--End PulumiCodeChooser --> * */ - public static CompletableFuture getInstancesPlain(GetInstancesPlainArgs args, InvokeOptions options) { - return Deployment.getInstance().invokeAsync("aws:rds/getInstances:getInstances", TypeShape.of(GetInstancesResult.class), args, Utilities.withVersion(options)); + public static Output getInstances(GetInstancesArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:rds/getInstances:getInstances", TypeShape.of(GetInstancesResult.class), args, Utilities.withVersion(options)); + } + /** + * Data source for listing RDS Database Instances. + * + * ## Example Usage + * + * ### Basic Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.rds.RdsFunctions;
+     * import com.pulumi.aws.rds.inputs.GetInstancesArgs;
+     * 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 = RdsFunctions.getInstances(GetInstancesArgs.builder()
+     *             .filters(GetInstancesFilterArgs.builder()
+     *                 .name("db-instance-id")
+     *                 .values("my-database-id")
+     *                 .build())
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + * ### Using tags + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * 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.GetInstancesArgs;
+     * 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 = RdsFunctions.getInstances(GetInstancesArgs.builder()
+     *             .tags(Map.of("Env", "test"))
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static CompletableFuture getInstancesPlain(GetInstancesPlainArgs args, InvokeOptions options) { + return Deployment.getInstance().invokeAsync("aws:rds/getInstances:getInstances", TypeShape.of(GetInstancesResult.class), args, Utilities.withVersion(options)); + } + /** + * Information about RDS orderable DB instances and valid parameter combinations. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.rds.RdsFunctions;
+     * import com.pulumi.aws.rds.inputs.GetOrderableDbInstanceArgs;
+     * 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 test = RdsFunctions.getOrderableDbInstance(GetOrderableDbInstanceArgs.builder()
+     *             .engine("mysql")
+     *             .engineVersion("5.7.22")
+     *             .licenseModel("general-public-license")
+     *             .storageType("standard")
+     *             .preferredInstanceClasses(            
+     *                 "db.r6.xlarge",
+     *                 "db.m4.large",
+     *                 "db.t3.small")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + * Valid parameter combinations can also be found with `preferred_engine_versions` and/or `preferred_instance_classes`. + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * 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 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 test = RdsFunctions.getOrderableDbInstance(GetOrderableDbInstanceArgs.builder()
+     *             .engine("mysql")
+     *             .licenseModel("general-public-license")
+     *             .preferredEngineVersions(            
+     *                 "5.6.35",
+     *                 "5.6.41",
+     *                 "5.6.44")
+     *             .preferredInstanceClasses(            
+     *                 "db.t2.small",
+     *                 "db.t3.medium",
+     *                 "db.t3.large")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getOrderableDbInstance(GetOrderableDbInstanceArgs args) { + return getOrderableDbInstance(args, InvokeOptions.Empty); } /** * Information about RDS orderable DB instances and valid parameter combinations. @@ -2958,8 +3578,8 @@ public static CompletableFuture getInstancesPlain(GetInstanc * <!--End PulumiCodeChooser --> * */ - public static Output getOrderableDbInstance(GetOrderableDbInstanceArgs args) { - return getOrderableDbInstance(args, InvokeOptions.Empty); + public static CompletableFuture getOrderableDbInstancePlain(GetOrderableDbInstancePlainArgs args) { + return getOrderableDbInstancePlain(args, InvokeOptions.Empty); } /** * Information about RDS orderable DB instances and valid parameter combinations. @@ -3051,8 +3671,8 @@ public static Output getOrderableDbInstance(GetOrd * <!--End PulumiCodeChooser --> * */ - public static CompletableFuture getOrderableDbInstancePlain(GetOrderableDbInstancePlainArgs args) { - return getOrderableDbInstancePlain(args, InvokeOptions.Empty); + public static Output getOrderableDbInstance(GetOrderableDbInstanceArgs args, InvokeOptions options) { + return Deployment.getInstance().invoke("aws:rds/getOrderableDbInstance:getOrderableDbInstance", TypeShape.of(GetOrderableDbInstanceResult.class), args, Utilities.withVersion(options)); } /** * Information about RDS orderable DB instances and valid parameter combinations. @@ -3144,7 +3764,7 @@ public static CompletableFuture getOrderableDbInst * <!--End PulumiCodeChooser --> * */ - public static Output getOrderableDbInstance(GetOrderableDbInstanceArgs args, InvokeOptions options) { + public static Output getOrderableDbInstance(GetOrderableDbInstanceArgs args, InvokeOutputOptions options) { return Deployment.getInstance().invoke("aws:rds/getOrderableDbInstance:getOrderableDbInstance", TypeShape.of(GetOrderableDbInstanceResult.class), args, Utilities.withVersion(options)); } /** @@ -3366,6 +3986,48 @@ public static CompletableFuture getParameterGroupPlain( public static Output getParameterGroup(GetParameterGroupArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:rds/getParameterGroup:getParameterGroup", TypeShape.of(GetParameterGroupResult.class), args, Utilities.withVersion(options)); } + /** + * Information about a database parameter group. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.rds.RdsFunctions;
+     * import com.pulumi.aws.rds.inputs.GetParameterGroupArgs;
+     * 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 test = RdsFunctions.getParameterGroup(GetParameterGroupArgs.builder()
+     *             .name("default.postgres15")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getParameterGroup(GetParameterGroupArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:rds/getParameterGroup:getParameterGroup", TypeShape.of(GetParameterGroupResult.class), args, Utilities.withVersion(options)); + } /** * Information about a database parameter group. * @@ -3534,6 +4196,48 @@ public static CompletableFuture getProxyPlain(GetProxyPlainArgs public static Output getProxy(GetProxyArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:rds/getProxy:getProxy", TypeShape.of(GetProxyResult.class), args, Utilities.withVersion(options)); } + /** + * Use this data source to get information about a DB Proxy. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.rds.RdsFunctions;
+     * import com.pulumi.aws.rds.inputs.GetProxyArgs;
+     * 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 proxy = RdsFunctions.getProxy(GetProxyArgs.builder()
+     *             .name("my-test-db-proxy")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getProxy(GetProxyArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:rds/getProxy:getProxy", TypeShape.of(GetProxyResult.class), args, Utilities.withVersion(options)); + } /** * Use this data source to get information about a DB Proxy. * @@ -3714,6 +4418,52 @@ public static CompletableFuture getReservedIn public static Output getReservedInstanceOffering(GetReservedInstanceOfferingArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:rds/getReservedInstanceOffering:getReservedInstanceOffering", TypeShape.of(GetReservedInstanceOfferingResult.class), args, Utilities.withVersion(options)); } + /** + * Information about a single RDS Reserved Instance Offering. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.rds.RdsFunctions;
+     * import com.pulumi.aws.rds.inputs.GetReservedInstanceOfferingArgs;
+     * 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 test = RdsFunctions.getReservedInstanceOffering(GetReservedInstanceOfferingArgs.builder()
+     *             .dbInstanceClass("db.t2.micro")
+     *             .duration(31536000)
+     *             .multiAz(false)
+     *             .offeringType("All Upfront")
+     *             .productDescription("mysql")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getReservedInstanceOffering(GetReservedInstanceOfferingArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:rds/getReservedInstanceOffering:getReservedInstanceOffering", TypeShape.of(GetReservedInstanceOfferingResult.class), args, Utilities.withVersion(options)); + } /** * Information about a single RDS Reserved Instance Offering. * @@ -4095,6 +4845,73 @@ public static CompletableFuture getSnapshotPlain(GetSnapshotP public static Output getSnapshot(GetSnapshotArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:rds/getSnapshot:getSnapshot", TypeShape.of(GetSnapshotResult.class), args, Utilities.withVersion(options)); } + /** + * Use this data source to get information about a DB Snapshot for use when provisioning DB instances + * + * > **NOTE:** This data source does not apply to snapshots created on Aurora DB clusters. + * See the `aws.rds.ClusterSnapshot` data source for DB Cluster snapshots. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.rds.Instance;
+     * import com.pulumi.aws.rds.InstanceArgs;
+     * import com.pulumi.aws.rds.RdsFunctions;
+     * import com.pulumi.aws.rds.inputs.GetSnapshotArgs;
+     * 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 prod = new Instance("prod", InstanceArgs.builder()
+     *             .allocatedStorage(10)
+     *             .engine("mysql")
+     *             .engineVersion("5.6.17")
+     *             .instanceClass("db.t2.micro")
+     *             .dbName("mydb")
+     *             .username("foo")
+     *             .password("bar")
+     *             .dbSubnetGroupName("my_database_subnet_group")
+     *             .parameterGroupName("default.mysql5.6")
+     *             .build());
+     * 
+     *         final var latestProdSnapshot = RdsFunctions.getSnapshot(GetSnapshotArgs.builder()
+     *             .dbInstanceIdentifier(prod.identifier())
+     *             .mostRecent(true)
+     *             .build());
+     * 
+     *         // Use the latest production snapshot to create a dev instance.
+     *         var dev = new Instance("dev", InstanceArgs.builder()
+     *             .instanceClass("db.t2.micro")
+     *             .dbName("mydbdev")
+     *             .snapshotIdentifier(latestProdSnapshot.applyValue(getSnapshotResult -> getSnapshotResult).applyValue(latestProdSnapshot -> latestProdSnapshot.applyValue(getSnapshotResult -> getSnapshotResult.id())))
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getSnapshot(GetSnapshotArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:rds/getSnapshot:getSnapshot", TypeShape.of(GetSnapshotResult.class), args, Utilities.withVersion(options)); + } /** * Use this data source to get information about a DB Snapshot for use when provisioning DB instances * @@ -4288,6 +5105,48 @@ public static CompletableFuture getSubnetGroupPlain(GetSub public static Output getSubnetGroup(GetSubnetGroupArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:rds/getSubnetGroup:getSubnetGroup", TypeShape.of(GetSubnetGroupResult.class), args, Utilities.withVersion(options)); } + /** + * Use this data source to get information about an RDS subnet group. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.rds.RdsFunctions;
+     * import com.pulumi.aws.rds.inputs.GetSubnetGroupArgs;
+     * 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 database = RdsFunctions.getSubnetGroup(GetSubnetGroupArgs.builder()
+     *             .name("my-test-database-subnet-group")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getSubnetGroup(GetSubnetGroupArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:rds/getSubnetGroup:getSubnetGroup", TypeShape.of(GetSubnetGroupResult.class), args, Utilities.withVersion(options)); + } /** * Use this data source to get information about an RDS subnet group. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/rds/inputs/ClusterServerlessv2ScalingConfigurationArgs.java b/sdk/java/src/main/java/com/pulumi/aws/rds/inputs/ClusterServerlessv2ScalingConfigurationArgs.java index 8d64a013155..cf7015ced35 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/rds/inputs/ClusterServerlessv2ScalingConfigurationArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/rds/inputs/ClusterServerlessv2ScalingConfigurationArgs.java @@ -7,7 +7,10 @@ import com.pulumi.core.annotations.Import; import com.pulumi.exceptions.MissingRequiredPropertyException; import java.lang.Double; +import java.lang.Integer; import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; public final class ClusterServerlessv2ScalingConfigurationArgs extends com.pulumi.resources.ResourceArgs { @@ -44,11 +47,27 @@ public Output minCapacity() { return this.minCapacity; } + /** + * Time, in seconds, before an Aurora DB cluster in `provisioned` DB engine mode is paused. Valid values are `300` through `86400`. + * + */ + @Import(name="secondsUntilAutoPause") + private @Nullable Output secondsUntilAutoPause; + + /** + * @return Time, in seconds, before an Aurora DB cluster in `provisioned` DB engine mode is paused. Valid values are `300` through `86400`. + * + */ + public Optional> secondsUntilAutoPause() { + return Optional.ofNullable(this.secondsUntilAutoPause); + } + private ClusterServerlessv2ScalingConfigurationArgs() {} private ClusterServerlessv2ScalingConfigurationArgs(ClusterServerlessv2ScalingConfigurationArgs $) { this.maxCapacity = $.maxCapacity; this.minCapacity = $.minCapacity; + this.secondsUntilAutoPause = $.secondsUntilAutoPause; } public static Builder builder() { @@ -111,6 +130,27 @@ public Builder minCapacity(Double minCapacity) { return minCapacity(Output.of(minCapacity)); } + /** + * @param secondsUntilAutoPause Time, in seconds, before an Aurora DB cluster in `provisioned` DB engine mode is paused. Valid values are `300` through `86400`. + * + * @return builder + * + */ + public Builder secondsUntilAutoPause(@Nullable Output secondsUntilAutoPause) { + $.secondsUntilAutoPause = secondsUntilAutoPause; + return this; + } + + /** + * @param secondsUntilAutoPause Time, in seconds, before an Aurora DB cluster in `provisioned` DB engine mode is paused. Valid values are `300` through `86400`. + * + * @return builder + * + */ + public Builder secondsUntilAutoPause(Integer secondsUntilAutoPause) { + return secondsUntilAutoPause(Output.of(secondsUntilAutoPause)); + } + public ClusterServerlessv2ScalingConfigurationArgs build() { if ($.maxCapacity == null) { throw new MissingRequiredPropertyException("ClusterServerlessv2ScalingConfigurationArgs", "maxCapacity"); diff --git a/sdk/java/src/main/java/com/pulumi/aws/rds/inputs/GlobalClusterGlobalClusterMemberArgs.java b/sdk/java/src/main/java/com/pulumi/aws/rds/inputs/GlobalClusterGlobalClusterMemberArgs.java index bb58e080435..918bcb54b2f 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/rds/inputs/GlobalClusterGlobalClusterMemberArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/rds/inputs/GlobalClusterGlobalClusterMemberArgs.java @@ -17,14 +17,14 @@ public final class GlobalClusterGlobalClusterMemberArgs extends com.pulumi.resou public static final GlobalClusterGlobalClusterMemberArgs Empty = new GlobalClusterGlobalClusterMemberArgs(); /** - * Amazon Resource Name (ARN) of member DB Cluster + * Amazon Resource Name (ARN) of member DB Cluster. * */ @Import(name="dbClusterArn") private @Nullable Output dbClusterArn; /** - * @return Amazon Resource Name (ARN) of member DB Cluster + * @return Amazon Resource Name (ARN) of member DB Cluster. * */ public Optional> dbClusterArn() { @@ -32,14 +32,14 @@ public Optional> dbClusterArn() { } /** - * Whether the member is the primary DB Cluster + * Whether the member is the primary DB Cluster. * */ @Import(name="isWriter") private @Nullable Output isWriter; /** - * @return Whether the member is the primary DB Cluster + * @return Whether the member is the primary DB Cluster. * */ public Optional> isWriter() { @@ -72,7 +72,7 @@ public Builder(GlobalClusterGlobalClusterMemberArgs defaults) { } /** - * @param dbClusterArn Amazon Resource Name (ARN) of member DB Cluster + * @param dbClusterArn Amazon Resource Name (ARN) of member DB Cluster. * * @return builder * @@ -83,7 +83,7 @@ public Builder dbClusterArn(@Nullable Output dbClusterArn) { } /** - * @param dbClusterArn Amazon Resource Name (ARN) of member DB Cluster + * @param dbClusterArn Amazon Resource Name (ARN) of member DB Cluster. * * @return builder * @@ -93,7 +93,7 @@ public Builder dbClusterArn(String dbClusterArn) { } /** - * @param isWriter Whether the member is the primary DB Cluster + * @param isWriter Whether the member is the primary DB Cluster. * * @return builder * @@ -104,7 +104,7 @@ public Builder isWriter(@Nullable Output isWriter) { } /** - * @param isWriter Whether the member is the primary DB Cluster + * @param isWriter Whether the member is the primary DB Cluster. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/rds/inputs/GlobalClusterState.java b/sdk/java/src/main/java/com/pulumi/aws/rds/inputs/GlobalClusterState.java index 10f209d95e9..4b47c0d76a7 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/rds/inputs/GlobalClusterState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/rds/inputs/GlobalClusterState.java @@ -9,6 +9,7 @@ import java.lang.Boolean; import java.lang.String; import java.util.List; +import java.util.Map; import java.util.Objects; import java.util.Optional; import javax.annotation.Nullable; @@ -19,14 +20,14 @@ public final class GlobalClusterState extends com.pulumi.resources.ResourceArgs public static final GlobalClusterState Empty = new GlobalClusterState(); /** - * RDS Global Cluster Amazon Resource Name (ARN) + * RDS Global Cluster Amazon Resource Name (ARN). * */ @Import(name="arn") private @Nullable Output arn; /** - * @return RDS Global Cluster Amazon Resource Name (ARN) + * @return RDS Global Cluster Amazon Resource Name (ARN). * */ public Optional> arn() { @@ -34,14 +35,14 @@ public Optional> arn() { } /** - * Name for an automatically created database on cluster creation. + * Name for an automatically created database on cluster creation. Pulumi will only perform drift detection if a configuration value is provided. * */ @Import(name="databaseName") private @Nullable Output databaseName; /** - * @return Name for an automatically created database on cluster creation. + * @return Name for an automatically created database on cluster creation. Pulumi will only perform drift detection if a configuration value is provided. * */ public Optional> databaseName() { @@ -176,14 +177,14 @@ public Optional>> globalCluste } /** - * AWS Region-unique, immutable identifier for the global database cluster. This identifier is found in AWS CloudTrail log entries whenever the AWS KMS key for the DB cluster is accessed + * AWS Region-unique, immutable identifier for the global database cluster. This identifier is found in AWS CloudTrail log entries whenever the AWS KMS key for the DB cluster is accessed. * */ @Import(name="globalClusterResourceId") private @Nullable Output globalClusterResourceId; /** - * @return AWS Region-unique, immutable identifier for the global database cluster. This identifier is found in AWS CloudTrail log entries whenever the AWS KMS key for the DB cluster is accessed + * @return AWS Region-unique, immutable identifier for the global database cluster. This identifier is found in AWS CloudTrail log entries whenever the AWS KMS key for the DB cluster is accessed. * */ public Optional> globalClusterResourceId() { @@ -220,6 +221,44 @@ public Optional> storageEncrypted() { return Optional.ofNullable(this.storageEncrypted); } + /** + * A map of tags to assign to the DB cluster. 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 DB cluster. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + */ + public Optional>> tags() { + return Optional.ofNullable(this.tags); + } + + /** + * Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + * @deprecated + * Please use `tags` instead. + * + */ + @Deprecated /* Please use `tags` instead. */ + @Import(name="tagsAll") + private @Nullable Output> tagsAll; + + /** + * @return Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + * @deprecated + * Please use `tags` instead. + * + */ + @Deprecated /* Please use `tags` instead. */ + public Optional>> tagsAll() { + return Optional.ofNullable(this.tagsAll); + } + private GlobalClusterState() {} private GlobalClusterState(GlobalClusterState $) { @@ -237,6 +276,8 @@ private GlobalClusterState(GlobalClusterState $) { this.globalClusterResourceId = $.globalClusterResourceId; this.sourceDbClusterIdentifier = $.sourceDbClusterIdentifier; this.storageEncrypted = $.storageEncrypted; + this.tags = $.tags; + this.tagsAll = $.tagsAll; } public static Builder builder() { @@ -258,7 +299,7 @@ public Builder(GlobalClusterState defaults) { } /** - * @param arn RDS Global Cluster Amazon Resource Name (ARN) + * @param arn RDS Global Cluster Amazon Resource Name (ARN). * * @return builder * @@ -269,7 +310,7 @@ public Builder arn(@Nullable Output arn) { } /** - * @param arn RDS Global Cluster Amazon Resource Name (ARN) + * @param arn RDS Global Cluster Amazon Resource Name (ARN). * * @return builder * @@ -279,7 +320,7 @@ public Builder arn(String arn) { } /** - * @param databaseName Name for an automatically created database on cluster creation. + * @param databaseName Name for an automatically created database on cluster creation. Pulumi will only perform drift detection if a configuration value is provided. * * @return builder * @@ -290,7 +331,7 @@ public Builder databaseName(@Nullable Output databaseName) { } /** - * @param databaseName Name for an automatically created database on cluster creation. + * @param databaseName Name for an automatically created database on cluster creation. Pulumi will only perform drift detection if a configuration value is provided. * * @return builder * @@ -487,7 +528,7 @@ public Builder globalClusterMembers(GlobalClusterGlobalClusterMemberArgs... glob } /** - * @param globalClusterResourceId AWS Region-unique, immutable identifier for the global database cluster. This identifier is found in AWS CloudTrail log entries whenever the AWS KMS key for the DB cluster is accessed + * @param globalClusterResourceId AWS Region-unique, immutable identifier for the global database cluster. This identifier is found in AWS CloudTrail log entries whenever the AWS KMS key for the DB cluster is accessed. * * @return builder * @@ -498,7 +539,7 @@ public Builder globalClusterResourceId(@Nullable Output globalClusterRes } /** - * @param globalClusterResourceId AWS Region-unique, immutable identifier for the global database cluster. This identifier is found in AWS CloudTrail log entries whenever the AWS KMS key for the DB cluster is accessed + * @param globalClusterResourceId AWS Region-unique, immutable identifier for the global database cluster. This identifier is found in AWS CloudTrail log entries whenever the AWS KMS key for the DB cluster is accessed. * * @return builder * @@ -549,6 +590,56 @@ public Builder storageEncrypted(Boolean storageEncrypted) { return storageEncrypted(Output.of(storageEncrypted)); } + /** + * @param tags A map of tags to assign to the DB cluster. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + * @return builder + * + */ + public Builder tags(@Nullable Output> tags) { + $.tags = tags; + return this; + } + + /** + * @param tags A map of tags to assign to the DB cluster. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + * @return builder + * + */ + public Builder tags(Map tags) { + return tags(Output.of(tags)); + } + + /** + * @param tagsAll Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + * @return builder + * + * @deprecated + * Please use `tags` instead. + * + */ + @Deprecated /* Please use `tags` instead. */ + public Builder tagsAll(@Nullable Output> tagsAll) { + $.tagsAll = tagsAll; + return this; + } + + /** + * @param tagsAll Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + * @return builder + * + * @deprecated + * Please use `tags` instead. + * + */ + @Deprecated /* Please use `tags` instead. */ + public Builder tagsAll(Map tagsAll) { + return tagsAll(Output.of(tagsAll)); + } + public GlobalClusterState build() { return $; } diff --git a/sdk/java/src/main/java/com/pulumi/aws/rds/inputs/InstanceState.java b/sdk/java/src/main/java/com/pulumi/aws/rds/inputs/InstanceState.java index a756d2c6054..d90893b8251 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/rds/inputs/InstanceState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/rds/inputs/InstanceState.java @@ -327,26 +327,24 @@ public Optional> dbName() { } /** - * Name of DB subnet group. DB instance will - * be created in the VPC associated with the DB subnet group. If unspecified, will - * be created in the `default` VPC, or in EC2 Classic, if available. When working - * with read replicas, it should be specified only if the source database - * specifies an instance in another AWS Region. See [DBSubnetGroupName in API - * action CreateDBInstanceReadReplica](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstanceReadReplica.html) - * for additional read replica constraints. + * Name of DB subnet group. + * DB instance will be created in the VPC associated with the DB subnet group. + * If unspecified, will be created in the `default` Subnet Group. + * When working with read replicas created in the same region, defaults to the Subnet Group Name of the source DB. + * When working with read replicas created in a different region, defaults to the `default` Subnet Group. + * See [DBSubnetGroupName in API action CreateDBInstanceReadReplica](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstanceReadReplica.html) for additional read replica constraints. * */ @Import(name="dbSubnetGroupName") private @Nullable Output dbSubnetGroupName; /** - * @return Name of DB subnet group. DB instance will - * be created in the VPC associated with the DB subnet group. If unspecified, will - * be created in the `default` VPC, or in EC2 Classic, if available. When working - * with read replicas, it should be specified only if the source database - * specifies an instance in another AWS Region. See [DBSubnetGroupName in API - * action CreateDBInstanceReadReplica](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstanceReadReplica.html) - * for additional read replica constraints. + * @return Name of DB subnet group. + * DB instance will be created in the VPC associated with the DB subnet group. + * If unspecified, will be created in the `default` Subnet Group. + * When working with read replicas created in the same region, defaults to the Subnet Group Name of the source DB. + * When working with read replicas created in a different region, defaults to the `default` Subnet Group. + * See [DBSubnetGroupName in API action CreateDBInstanceReadReplica](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstanceReadReplica.html) for additional read replica constraints. * */ public Optional> dbSubnetGroupName() { @@ -1111,30 +1109,24 @@ public Optional>> replicas() { } /** - * Specifies that this resource is a Replicate - * database, and to use this value as the source database. This correlates to the - * `identifier` of another Amazon RDS Database to replicate (if replicating within - * a single region) or ARN of the Amazon RDS Database to replicate (if replicating - * cross-region). Note that if you are - * creating a cross-region replica of an encrypted database you will also need to - * specify a `kms_key_id`. See [DB Instance Replication][instance-replication] and [Working with - * PostgreSQL and MySQL Read Replicas](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ReadRepl.html) - * for more information on using Replication. + * Specifies that this resource is a Replica database, and to use this value as the source database. + * If replicating an Amazon RDS Database Instance in the same region, use the `identifier` of the source DB, unless also specifying the `db_subnet_group_name`. + * If specifying the `db_subnet_group_name` in the same region, use the `arn` of the source DB. + * If replicating an Instance in a different region, use the `arn` of the source DB. + * Note that if you are creating a cross-region replica of an encrypted database you will also need to specify a `kms_key_id`. + * See [DB Instance Replication][instance-replication] and [Working with PostgreSQL and MySQL Read Replicas](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ReadRepl.html) for more information on using Replication. * */ @Import(name="replicateSourceDb") private @Nullable Output replicateSourceDb; /** - * @return Specifies that this resource is a Replicate - * database, and to use this value as the source database. This correlates to the - * `identifier` of another Amazon RDS Database to replicate (if replicating within - * a single region) or ARN of the Amazon RDS Database to replicate (if replicating - * cross-region). Note that if you are - * creating a cross-region replica of an encrypted database you will also need to - * specify a `kms_key_id`. See [DB Instance Replication][instance-replication] and [Working with - * PostgreSQL and MySQL Read Replicas](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ReadRepl.html) - * for more information on using Replication. + * @return Specifies that this resource is a Replica database, and to use this value as the source database. + * If replicating an Amazon RDS Database Instance in the same region, use the `identifier` of the source DB, unless also specifying the `db_subnet_group_name`. + * If specifying the `db_subnet_group_name` in the same region, use the `arn` of the source DB. + * If replicating an Instance in a different region, use the `arn` of the source DB. + * Note that if you are creating a cross-region replica of an encrypted database you will also need to specify a `kms_key_id`. + * See [DB Instance Replication][instance-replication] and [Working with PostgreSQL and MySQL Read Replicas](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ReadRepl.html) for more information on using Replication. * */ public Optional> replicateSourceDb() { @@ -1157,14 +1149,18 @@ public Optional> resourceId() { } /** - * A configuration block for restoring a DB instance to an arbitrary point in time. Requires the `identifier` argument to be set with the name of the new DB instance to be created. See Restore To Point In Time below for details. + * A configuration block for restoring a DB instance to an arbitrary point in time. + * Requires the `identifier` argument to be set with the name of the new DB instance to be created. + * See Restore To Point In Time below for details. * */ @Import(name="restoreToPointInTime") private @Nullable Output restoreToPointInTime; /** - * @return A configuration block for restoring a DB instance to an arbitrary point in time. Requires the `identifier` argument to be set with the name of the new DB instance to be created. See Restore To Point In Time below for details. + * @return A configuration block for restoring a DB instance to an arbitrary point in time. + * Requires the `identifier` argument to be set with the name of the new DB instance to be created. + * See Restore To Point In Time below for details. * */ public Optional> restoreToPointInTime() { @@ -1210,18 +1206,16 @@ public Optional> skipFinalSnapshot() { } /** - * Specifies whether or not to create this - * database from a snapshot. This correlates to the snapshot ID you'd find in the - * RDS console, e.g: rds:production-2015-06-26-06-05. + * Specifies whether or not to create this database from a snapshot. + * This corresponds to the snapshot ID you'd find in the RDS console, e.g: rds:production-2015-06-26-06-05. * */ @Import(name="snapshotIdentifier") private @Nullable Output snapshotIdentifier; /** - * @return Specifies whether or not to create this - * database from a snapshot. This correlates to the snapshot ID you'd find in the - * RDS console, e.g: rds:production-2015-06-26-06-05. + * @return Specifies whether or not to create this database from a snapshot. + * This corresponds to the snapshot ID you'd find in the RDS console, e.g: rds:production-2015-06-26-06-05. * */ public Optional> snapshotIdentifier() { @@ -1362,14 +1356,16 @@ public Optional> timezone() { } /** - * Whether to upgrade the storage file system configuration on the read replica. Can only be set with `replicate_source_db`. + * Whether to upgrade the storage file system configuration on the read replica. + * Can only be set with `replicate_source_db`. * */ @Import(name="upgradeStorageConfig") private @Nullable Output upgradeStorageConfig; /** - * @return Whether to upgrade the storage file system configuration on the read replica. Can only be set with `replicate_source_db`. + * @return Whether to upgrade the storage file system configuration on the read replica. + * Can only be set with `replicate_source_db`. * */ public Optional> upgradeStorageConfig() { @@ -1916,13 +1912,12 @@ public Builder dbName(String dbName) { } /** - * @param dbSubnetGroupName Name of DB subnet group. DB instance will - * be created in the VPC associated with the DB subnet group. If unspecified, will - * be created in the `default` VPC, or in EC2 Classic, if available. When working - * with read replicas, it should be specified only if the source database - * specifies an instance in another AWS Region. See [DBSubnetGroupName in API - * action CreateDBInstanceReadReplica](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstanceReadReplica.html) - * for additional read replica constraints. + * @param dbSubnetGroupName Name of DB subnet group. + * DB instance will be created in the VPC associated with the DB subnet group. + * If unspecified, will be created in the `default` Subnet Group. + * When working with read replicas created in the same region, defaults to the Subnet Group Name of the source DB. + * When working with read replicas created in a different region, defaults to the `default` Subnet Group. + * See [DBSubnetGroupName in API action CreateDBInstanceReadReplica](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstanceReadReplica.html) for additional read replica constraints. * * @return builder * @@ -1933,13 +1928,12 @@ public Builder dbSubnetGroupName(@Nullable Output dbSubnetGroupName) { } /** - * @param dbSubnetGroupName Name of DB subnet group. DB instance will - * be created in the VPC associated with the DB subnet group. If unspecified, will - * be created in the `default` VPC, or in EC2 Classic, if available. When working - * with read replicas, it should be specified only if the source database - * specifies an instance in another AWS Region. See [DBSubnetGroupName in API - * action CreateDBInstanceReadReplica](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstanceReadReplica.html) - * for additional read replica constraints. + * @param dbSubnetGroupName Name of DB subnet group. + * DB instance will be created in the VPC associated with the DB subnet group. + * If unspecified, will be created in the `default` Subnet Group. + * When working with read replicas created in the same region, defaults to the Subnet Group Name of the source DB. + * When working with read replicas created in a different region, defaults to the `default` Subnet Group. + * See [DBSubnetGroupName in API action CreateDBInstanceReadReplica](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstanceReadReplica.html) for additional read replica constraints. * * @return builder * @@ -3048,15 +3042,12 @@ public Builder replicas(String... replicas) { } /** - * @param replicateSourceDb Specifies that this resource is a Replicate - * database, and to use this value as the source database. This correlates to the - * `identifier` of another Amazon RDS Database to replicate (if replicating within - * a single region) or ARN of the Amazon RDS Database to replicate (if replicating - * cross-region). Note that if you are - * creating a cross-region replica of an encrypted database you will also need to - * specify a `kms_key_id`. See [DB Instance Replication][instance-replication] and [Working with - * PostgreSQL and MySQL Read Replicas](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ReadRepl.html) - * for more information on using Replication. + * @param replicateSourceDb Specifies that this resource is a Replica database, and to use this value as the source database. + * If replicating an Amazon RDS Database Instance in the same region, use the `identifier` of the source DB, unless also specifying the `db_subnet_group_name`. + * If specifying the `db_subnet_group_name` in the same region, use the `arn` of the source DB. + * If replicating an Instance in a different region, use the `arn` of the source DB. + * Note that if you are creating a cross-region replica of an encrypted database you will also need to specify a `kms_key_id`. + * See [DB Instance Replication][instance-replication] and [Working with PostgreSQL and MySQL Read Replicas](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ReadRepl.html) for more information on using Replication. * * @return builder * @@ -3067,15 +3058,12 @@ public Builder replicateSourceDb(@Nullable Output replicateSourceDb) { } /** - * @param replicateSourceDb Specifies that this resource is a Replicate - * database, and to use this value as the source database. This correlates to the - * `identifier` of another Amazon RDS Database to replicate (if replicating within - * a single region) or ARN of the Amazon RDS Database to replicate (if replicating - * cross-region). Note that if you are - * creating a cross-region replica of an encrypted database you will also need to - * specify a `kms_key_id`. See [DB Instance Replication][instance-replication] and [Working with - * PostgreSQL and MySQL Read Replicas](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ReadRepl.html) - * for more information on using Replication. + * @param replicateSourceDb Specifies that this resource is a Replica database, and to use this value as the source database. + * If replicating an Amazon RDS Database Instance in the same region, use the `identifier` of the source DB, unless also specifying the `db_subnet_group_name`. + * If specifying the `db_subnet_group_name` in the same region, use the `arn` of the source DB. + * If replicating an Instance in a different region, use the `arn` of the source DB. + * Note that if you are creating a cross-region replica of an encrypted database you will also need to specify a `kms_key_id`. + * See [DB Instance Replication][instance-replication] and [Working with PostgreSQL and MySQL Read Replicas](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ReadRepl.html) for more information on using Replication. * * @return builder * @@ -3106,7 +3094,9 @@ public Builder resourceId(String resourceId) { } /** - * @param restoreToPointInTime A configuration block for restoring a DB instance to an arbitrary point in time. Requires the `identifier` argument to be set with the name of the new DB instance to be created. See Restore To Point In Time below for details. + * @param restoreToPointInTime A configuration block for restoring a DB instance to an arbitrary point in time. + * Requires the `identifier` argument to be set with the name of the new DB instance to be created. + * See Restore To Point In Time below for details. * * @return builder * @@ -3117,7 +3107,9 @@ public Builder restoreToPointInTime(@Nullable Output snapshotIdentifier) { } /** - * @param snapshotIdentifier Specifies whether or not to create this - * database from a snapshot. This correlates to the snapshot ID you'd find in the - * RDS console, e.g: rds:production-2015-06-26-06-05. + * @param snapshotIdentifier Specifies whether or not to create this database from a snapshot. + * This corresponds to the snapshot ID you'd find in the RDS console, e.g: rds:production-2015-06-26-06-05. * * @return builder * @@ -3403,7 +3393,8 @@ public Builder timezone(String timezone) { } /** - * @param upgradeStorageConfig Whether to upgrade the storage file system configuration on the read replica. Can only be set with `replicate_source_db`. + * @param upgradeStorageConfig Whether to upgrade the storage file system configuration on the read replica. + * Can only be set with `replicate_source_db`. * * @return builder * @@ -3414,7 +3405,8 @@ public Builder upgradeStorageConfig(@Nullable Output upgradeStorageConf } /** - * @param upgradeStorageConfig Whether to upgrade the storage file system configuration on the read replica. Can only be set with `replicate_source_db`. + * @param upgradeStorageConfig Whether to upgrade the storage file system configuration on the read replica. + * Can only be set with `replicate_source_db`. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/rds/outputs/ClusterServerlessv2ScalingConfiguration.java b/sdk/java/src/main/java/com/pulumi/aws/rds/outputs/ClusterServerlessv2ScalingConfiguration.java index 32792a47c50..43693b379e6 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/rds/outputs/ClusterServerlessv2ScalingConfiguration.java +++ b/sdk/java/src/main/java/com/pulumi/aws/rds/outputs/ClusterServerlessv2ScalingConfiguration.java @@ -6,7 +6,10 @@ import com.pulumi.core.annotations.CustomType; import com.pulumi.exceptions.MissingRequiredPropertyException; import java.lang.Double; +import java.lang.Integer; import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; @CustomType public final class ClusterServerlessv2ScalingConfiguration { @@ -20,6 +23,11 @@ public final class ClusterServerlessv2ScalingConfiguration { * */ private Double minCapacity; + /** + * @return Time, in seconds, before an Aurora DB cluster in `provisioned` DB engine mode is paused. Valid values are `300` through `86400`. + * + */ + private @Nullable Integer secondsUntilAutoPause; private ClusterServerlessv2ScalingConfiguration() {} /** @@ -36,6 +44,13 @@ public Double maxCapacity() { public Double minCapacity() { return this.minCapacity; } + /** + * @return Time, in seconds, before an Aurora DB cluster in `provisioned` DB engine mode is paused. Valid values are `300` through `86400`. + * + */ + public Optional secondsUntilAutoPause() { + return Optional.ofNullable(this.secondsUntilAutoPause); + } public static Builder builder() { return new Builder(); @@ -48,11 +63,13 @@ public static Builder builder(ClusterServerlessv2ScalingConfiguration defaults) public static final class Builder { private Double maxCapacity; private Double minCapacity; + private @Nullable Integer secondsUntilAutoPause; public Builder() {} public Builder(ClusterServerlessv2ScalingConfiguration defaults) { Objects.requireNonNull(defaults); this.maxCapacity = defaults.maxCapacity; this.minCapacity = defaults.minCapacity; + this.secondsUntilAutoPause = defaults.secondsUntilAutoPause; } @CustomType.Setter @@ -71,10 +88,17 @@ public Builder minCapacity(Double minCapacity) { this.minCapacity = minCapacity; return this; } + @CustomType.Setter + public Builder secondsUntilAutoPause(@Nullable Integer secondsUntilAutoPause) { + + this.secondsUntilAutoPause = secondsUntilAutoPause; + return this; + } public ClusterServerlessv2ScalingConfiguration build() { final var _resultValue = new ClusterServerlessv2ScalingConfiguration(); _resultValue.maxCapacity = maxCapacity; _resultValue.minCapacity = minCapacity; + _resultValue.secondsUntilAutoPause = secondsUntilAutoPause; return _resultValue; } } diff --git a/sdk/java/src/main/java/com/pulumi/aws/rds/outputs/GlobalClusterGlobalClusterMember.java b/sdk/java/src/main/java/com/pulumi/aws/rds/outputs/GlobalClusterGlobalClusterMember.java index 13c668e9346..aa23d79fb62 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/rds/outputs/GlobalClusterGlobalClusterMember.java +++ b/sdk/java/src/main/java/com/pulumi/aws/rds/outputs/GlobalClusterGlobalClusterMember.java @@ -13,26 +13,26 @@ @CustomType public final class GlobalClusterGlobalClusterMember { /** - * @return Amazon Resource Name (ARN) of member DB Cluster + * @return Amazon Resource Name (ARN) of member DB Cluster. * */ private @Nullable String dbClusterArn; /** - * @return Whether the member is the primary DB Cluster + * @return Whether the member is the primary DB Cluster. * */ private @Nullable Boolean isWriter; private GlobalClusterGlobalClusterMember() {} /** - * @return Amazon Resource Name (ARN) of member DB Cluster + * @return Amazon Resource Name (ARN) of member DB Cluster. * */ public Optional dbClusterArn() { return Optional.ofNullable(this.dbClusterArn); } /** - * @return Whether the member is the primary DB Cluster + * @return Whether the member is the primary DB Cluster. * */ public Optional isWriter() { diff --git a/sdk/java/src/main/java/com/pulumi/aws/redshift/RedshiftFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/redshift/RedshiftFunctions.java index 09cc410ed0d..e9372e0deba 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/redshift/RedshiftFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/redshift/RedshiftFunctions.java @@ -29,6 +29,7 @@ import com.pulumi.core.TypeShape; import com.pulumi.deployment.Deployment; import com.pulumi.deployment.InvokeOptions; +import com.pulumi.deployment.InvokeOutputOptions; import java.util.concurrent.CompletableFuture; public final class RedshiftFunctions { @@ -233,6 +234,73 @@ public static CompletableFuture getClusterPlain(GetClusterPlai public static Output getCluster(GetClusterArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:redshift/getCluster:getCluster", TypeShape.of(GetClusterResult.class), args, Utilities.withVersion(options)); } + /** + * Provides details about a specific redshift cluster. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.redshift.RedshiftFunctions;
+     * import com.pulumi.aws.redshift.inputs.GetClusterArgs;
+     * import com.pulumi.aws.kinesis.FirehoseDeliveryStream;
+     * import com.pulumi.aws.kinesis.FirehoseDeliveryStreamArgs;
+     * import com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamRedshiftConfigurationArgs;
+     * import com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamRedshiftConfigurationS3ConfigurationArgs;
+     * 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 = RedshiftFunctions.getCluster(GetClusterArgs.builder()
+     *             .clusterIdentifier("example-cluster")
+     *             .build());
+     * 
+     *         var exampleStream = new FirehoseDeliveryStream("exampleStream", FirehoseDeliveryStreamArgs.builder()
+     *             .name("kinesis-firehose-example-stream")
+     *             .destination("redshift")
+     *             .redshiftConfiguration(FirehoseDeliveryStreamRedshiftConfigurationArgs.builder()
+     *                 .roleArn(firehoseRole.arn())
+     *                 .clusterJdbcurl(String.format("jdbc:redshift://%s/%s", example.applyValue(getClusterResult -> getClusterResult.endpoint()),example.applyValue(getClusterResult -> getClusterResult.databaseName())))
+     *                 .username("exampleuser")
+     *                 .password("Exampl3Pass")
+     *                 .dataTableName("example-table")
+     *                 .copyOptions("delimiter '|'")
+     *                 .dataTableColumns("example-col")
+     *                 .s3Configuration(FirehoseDeliveryStreamRedshiftConfigurationS3ConfigurationArgs.builder()
+     *                     .roleArn(firehoseRole.arn())
+     *                     .bucketArn(bucket.arn())
+     *                     .bufferSize(10)
+     *                     .bufferInterval(400)
+     *                     .compressionFormat("GZIP")
+     *                     .build())
+     *                 .build())
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getCluster(GetClusterArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:redshift/getCluster:getCluster", TypeShape.of(GetClusterResult.class), args, Utilities.withVersion(options)); + } /** * Provides details about a specific redshift cluster. * @@ -429,6 +497,49 @@ public static CompletableFuture getClusterCredentia public static Output getClusterCredentials(GetClusterCredentialsArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:redshift/getClusterCredentials:getClusterCredentials", TypeShape.of(GetClusterCredentialsResult.class), args, Utilities.withVersion(options)); } + /** + * Provides redshift cluster temporary credentials. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.redshift.RedshiftFunctions;
+     * import com.pulumi.aws.redshift.inputs.GetClusterCredentialsArgs;
+     * 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 = RedshiftFunctions.getClusterCredentials(GetClusterCredentialsArgs.builder()
+     *             .clusterIdentifier(exampleAwsRedshiftCluster.clusterIdentifier())
+     *             .dbUser(exampleAwsRedshiftCluster.masterUsername())
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getClusterCredentials(GetClusterCredentialsArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:redshift/getClusterCredentials:getClusterCredentials", TypeShape.of(GetClusterCredentialsResult.class), args, Utilities.withVersion(options)); + } /** * Provides redshift cluster temporary credentials. * @@ -682,6 +793,48 @@ public static CompletableFuture getDataSharesPlain(GetDataS public static Output getDataShares(GetDataSharesArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:redshift/getDataShares:getDataShares", TypeShape.of(GetDataSharesResult.class), args, Utilities.withVersion(options)); } + /** + * Data source for managing AWS Redshift Data Shares. + * + * ## Example Usage + * + * ### Basic Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.redshift.RedshiftFunctions;
+     * import com.pulumi.aws.redshift.inputs.GetDataSharesArgs;
+     * 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 = RedshiftFunctions.getDataShares();
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getDataShares(GetDataSharesArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:redshift/getDataShares:getDataShares", TypeShape.of(GetDataSharesResult.class), args, Utilities.withVersion(options)); + } /** * Data source for managing AWS Redshift Data Shares. * @@ -949,6 +1102,51 @@ public static CompletableFuture getOrderableClusterPl public static Output getOrderableCluster(GetOrderableClusterArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:redshift/getOrderableCluster:getOrderableCluster", TypeShape.of(GetOrderableClusterResult.class), args, Utilities.withVersion(options)); } + /** + * Information about Redshift Orderable Clusters and valid parameter combinations. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.redshift.RedshiftFunctions;
+     * import com.pulumi.aws.redshift.inputs.GetOrderableClusterArgs;
+     * 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 test = RedshiftFunctions.getOrderableCluster(GetOrderableClusterArgs.builder()
+     *             .clusterType("multi-node")
+     *             .preferredNodeTypes(            
+     *                 "dc2.large",
+     *                 "ds2.xlarge")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getOrderableCluster(GetOrderableClusterArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:redshift/getOrderableCluster:getOrderableCluster", TypeShape.of(GetOrderableClusterResult.class), args, Utilities.withVersion(options)); + } /** * Information about Redshift Orderable Clusters and valid parameter combinations. * @@ -1126,6 +1324,50 @@ public static CompletableFuture getProducerDataShar public static Output getProducerDataShares(GetProducerDataSharesArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:redshift/getProducerDataShares:getProducerDataShares", TypeShape.of(GetProducerDataSharesResult.class), args, Utilities.withVersion(options)); } + /** + * Data source for managing AWS Redshift Producer Data Shares. + * + * ## Example Usage + * + * ### Basic Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.redshift.RedshiftFunctions;
+     * import com.pulumi.aws.redshift.inputs.GetProducerDataSharesArgs;
+     * 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 = RedshiftFunctions.getProducerDataShares(GetProducerDataSharesArgs.builder()
+     *             .producerArn("")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getProducerDataShares(GetProducerDataSharesArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:redshift/getProducerDataShares:getProducerDataShares", TypeShape.of(GetProducerDataSharesResult.class), args, Utilities.withVersion(options)); + } /** * Data source for managing AWS Redshift Producer Data Shares. * @@ -1590,6 +1832,90 @@ public static CompletableFuture getServiceAccountPlain( public static Output getServiceAccount(GetServiceAccountArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:redshift/getServiceAccount:getServiceAccount", TypeShape.of(GetServiceAccountResult.class), args, Utilities.withVersion(options)); } + /** + * Use this data source to get the Account ID of the [AWS Redshift Service Account](http://docs.aws.amazon.com/redshift/latest/mgmt/db-auditing.html#db-auditing-enable-logging) + * in a given region for the purpose of allowing Redshift to store audit data in S3. + * + * > **Note:** AWS documentation [states that](https://docs.aws.amazon.com/redshift/latest/mgmt/db-auditing.html#db-auditing-bucket-permissions) a [service principal name](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html#principal-services) should be used instead of an AWS account ID in any relevant IAM policy. + * The `aws.redshift.getServiceAccount` data source has been deprecated and will be removed in a future version. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.redshift.RedshiftFunctions;
+     * import com.pulumi.aws.redshift.inputs.GetServiceAccountArgs;
+     * 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;
+     * import com.pulumi.aws.s3.BucketPolicyArgs;
+     * 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 main = RedshiftFunctions.getServiceAccount();
+     * 
+     *         var bucket = new BucketV2("bucket", BucketV2Args.builder()
+     *             .bucket("tf-redshift-logging-test-bucket")
+     *             .forceDestroy(true)
+     *             .build());
+     * 
+     *         final var allowAuditLogging = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()
+     *             .statements(            
+     *                 GetPolicyDocumentStatementArgs.builder()
+     *                     .sid("Put bucket policy needed for audit logging")
+     *                     .effect("Allow")
+     *                     .principals(GetPolicyDocumentStatementPrincipalArgs.builder()
+     *                         .type("AWS")
+     *                         .identifiers(main.applyValue(getServiceAccountResult -> getServiceAccountResult.arn()))
+     *                         .build())
+     *                     .actions("s3:PutObject")
+     *                     .resources(bucket.arn().applyValue(arn -> String.format("%s/*", arn)))
+     *                     .build(),
+     *                 GetPolicyDocumentStatementArgs.builder()
+     *                     .sid("Get bucket policy needed for audit logging")
+     *                     .effect("Allow")
+     *                     .principals(GetPolicyDocumentStatementPrincipalArgs.builder()
+     *                         .type("AWS")
+     *                         .identifiers(main.applyValue(getServiceAccountResult -> getServiceAccountResult.arn()))
+     *                         .build())
+     *                     .actions("s3:GetBucketAcl")
+     *                     .resources(bucketAwsS3Bucket.arn())
+     *                     .build())
+     *             .build());
+     * 
+     *         var allowAuditLoggingBucketPolicy = new BucketPolicy("allowAuditLoggingBucketPolicy", BucketPolicyArgs.builder()
+     *             .bucket(bucket.id())
+     *             .policy(allowAuditLogging.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult).applyValue(allowAuditLogging -> allowAuditLogging.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())))
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getServiceAccount(GetServiceAccountArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:redshift/getServiceAccount:getServiceAccount", TypeShape.of(GetServiceAccountResult.class), args, Utilities.withVersion(options)); + } /** * Use this data source to get the Account ID of the [AWS Redshift Service Account](http://docs.aws.amazon.com/redshift/latest/mgmt/db-auditing.html#db-auditing-enable-logging) * in a given region for the purpose of allowing Redshift to store audit data in S3. @@ -1800,6 +2126,48 @@ public static CompletableFuture getSubnetGroupPlain(GetSub public static Output getSubnetGroup(GetSubnetGroupArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:redshift/getSubnetGroup:getSubnetGroup", TypeShape.of(GetSubnetGroupResult.class), args, Utilities.withVersion(options)); } + /** + * Provides details about a specific redshift subnet group. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.redshift.RedshiftFunctions;
+     * import com.pulumi.aws.redshift.inputs.GetSubnetGroupArgs;
+     * 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 = RedshiftFunctions.getSubnetGroup(GetSubnetGroupArgs.builder()
+     *             .name(exampleAwsRedshiftSubnetGroup.name())
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getSubnetGroup(GetSubnetGroupArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:redshift/getSubnetGroup:getSubnetGroup", TypeShape.of(GetSubnetGroupResult.class), args, Utilities.withVersion(options)); + } /** * Provides details about a specific redshift subnet group. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/redshiftserverless/RedshiftserverlessFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/redshiftserverless/RedshiftserverlessFunctions.java index 58e251c2fda..7444fe2cdc5 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/redshiftserverless/RedshiftserverlessFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/redshiftserverless/RedshiftserverlessFunctions.java @@ -17,6 +17,7 @@ import com.pulumi.core.TypeShape; import com.pulumi.deployment.Deployment; import com.pulumi.deployment.InvokeOptions; +import com.pulumi.deployment.InvokeOutputOptions; import java.util.concurrent.CompletableFuture; public final class RedshiftserverlessFunctions { @@ -146,6 +147,48 @@ public static CompletableFuture getCredentialsPlain(GetCre public static Output getCredentials(GetCredentialsArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:redshiftserverless/getCredentials:getCredentials", TypeShape.of(GetCredentialsResult.class), args, Utilities.withVersion(options)); } + /** + * Provides redshift serverless temporary credentials for a workgroup. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.redshiftserverless.RedshiftserverlessFunctions;
+     * import com.pulumi.aws.redshiftserverless.inputs.GetCredentialsArgs;
+     * 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 = RedshiftserverlessFunctions.getCredentials(GetCredentialsArgs.builder()
+     *             .workgroupName(exampleAwsRedshiftserverlessWorkgroup.workgroupName())
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getCredentials(GetCredentialsArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:redshiftserverless/getCredentials:getCredentials", TypeShape.of(GetCredentialsResult.class), args, Utilities.withVersion(options)); + } /** * Provides redshift serverless temporary credentials for a workgroup. * @@ -314,6 +357,48 @@ public static CompletableFuture getNamespacePlain(GetNamespa public static Output getNamespace(GetNamespaceArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:redshiftserverless/getNamespace:getNamespace", TypeShape.of(GetNamespaceResult.class), args, Utilities.withVersion(options)); } + /** + * Data source for managing an AWS Redshift Serverless Namespace. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.redshiftserverless.RedshiftserverlessFunctions;
+     * import com.pulumi.aws.redshiftserverless.inputs.GetNamespaceArgs;
+     * 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 = RedshiftserverlessFunctions.getNamespace(GetNamespaceArgs.builder()
+     *             .namespaceName("example-namespace")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getNamespace(GetNamespaceArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:redshiftserverless/getNamespace:getNamespace", TypeShape.of(GetNamespaceResult.class), args, Utilities.withVersion(options)); + } /** * Data source for managing an AWS Redshift Serverless Namespace. * @@ -488,6 +573,50 @@ public static CompletableFuture getWorkgroupPlain(GetWorkgro public static Output getWorkgroup(GetWorkgroupArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:redshiftserverless/getWorkgroup:getWorkgroup", TypeShape.of(GetWorkgroupResult.class), args, Utilities.withVersion(options)); } + /** + * Data source for managing an AWS Redshift Serverless Workgroup. + * + * ## Example Usage + * + * ### Basic Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.redshiftserverless.RedshiftserverlessFunctions;
+     * import com.pulumi.aws.redshiftserverless.inputs.GetWorkgroupArgs;
+     * 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 = RedshiftserverlessFunctions.getWorkgroup(GetWorkgroupArgs.builder()
+     *             .workgroupName(exampleAwsRedshiftserverlessWorkgroup.workgroupName())
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getWorkgroup(GetWorkgroupArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:redshiftserverless/getWorkgroup:getWorkgroup", TypeShape.of(GetWorkgroupResult.class), args, Utilities.withVersion(options)); + } /** * Data source for managing an AWS Redshift Serverless Workgroup. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/resourceexplorer/ResourceexplorerFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/resourceexplorer/ResourceexplorerFunctions.java index a16abeb7d3f..d782159b460 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/resourceexplorer/ResourceexplorerFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/resourceexplorer/ResourceexplorerFunctions.java @@ -11,6 +11,7 @@ import com.pulumi.core.TypeShape; import com.pulumi.deployment.Deployment; import com.pulumi.deployment.InvokeOptions; +import com.pulumi.deployment.InvokeOutputOptions; import java.util.concurrent.CompletableFuture; public final class ResourceexplorerFunctions { @@ -149,6 +150,51 @@ public static CompletableFuture searchPlain(SearchPlainArgs args) public static Output search(SearchArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:resourceexplorer/search:Search", TypeShape.of(SearchResult.class), args, Utilities.withVersion(options)); } + /** + * Data source for managing an AWS Resource Explorer Search. + * + * ## Example Usage + * + * ### Basic Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.resourceexplorer.ResourceexplorerFunctions;
+     * import com.pulumi.aws.resourceexplorer.inputs.SearchArgs;
+     * 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 = ResourceexplorerFunctions.Search(SearchArgs.builder()
+     *             .queryString("region:us-west-2")
+     *             .viewArn(test.arn())
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output search(SearchArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:resourceexplorer/search:Search", TypeShape.of(SearchResult.class), args, Utilities.withVersion(options)); + } /** * Data source for managing an AWS Resource Explorer Search. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/resourcegroupstaggingapi/ResourcegroupstaggingapiFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/resourcegroupstaggingapi/ResourcegroupstaggingapiFunctions.java index 2c9e8c4250d..ca879aa0834 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/resourcegroupstaggingapi/ResourcegroupstaggingapiFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/resourcegroupstaggingapi/ResourcegroupstaggingapiFunctions.java @@ -11,6 +11,7 @@ import com.pulumi.core.TypeShape; import com.pulumi.deployment.Deployment; import com.pulumi.deployment.InvokeOptions; +import com.pulumi.deployment.InvokeOutputOptions; import java.util.concurrent.CompletableFuture; public final class ResourcegroupstaggingapiFunctions { @@ -713,6 +714,123 @@ public static Output getResources(GetResourcesArgs args, Inv * <!--End PulumiCodeChooser --> * */ + public static Output getResources(GetResourcesArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:resourcegroupstaggingapi/getResources:getResources", TypeShape.of(GetResourcesResult.class), args, Utilities.withVersion(options)); + } + /** + * Provides details about resource tagging. + * + * ## Example Usage + * + * ### Get All Resource Tag Mappings + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.resourcegroupstaggingapi.ResourcegroupstaggingapiFunctions;
+     * import com.pulumi.aws.resourcegroupstaggingapi.inputs.GetResourcesArgs;
+     * 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 test = ResourcegroupstaggingapiFunctions.getResources();
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + * ### Filter By Tag Key and Value + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.resourcegroupstaggingapi.ResourcegroupstaggingapiFunctions;
+     * import com.pulumi.aws.resourcegroupstaggingapi.inputs.GetResourcesArgs;
+     * 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 test = ResourcegroupstaggingapiFunctions.getResources(GetResourcesArgs.builder()
+     *             .tagFilters(GetResourcesTagFilterArgs.builder()
+     *                 .key("tag-key")
+     *                 .values(                
+     *                     "tag-value-1",
+     *                     "tag-value-2")
+     *                 .build())
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + * ### Filter By Resource Type + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.resourcegroupstaggingapi.ResourcegroupstaggingapiFunctions;
+     * import com.pulumi.aws.resourcegroupstaggingapi.inputs.GetResourcesArgs;
+     * 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 test = ResourcegroupstaggingapiFunctions.getResources(GetResourcesArgs.builder()
+     *             .resourceTypeFilters("ec2:instance")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ public static CompletableFuture getResourcesPlain(GetResourcesPlainArgs args, InvokeOptions options) { return Deployment.getInstance().invokeAsync("aws:resourcegroupstaggingapi/getResources:getResources", TypeShape.of(GetResourcesResult.class), args, Utilities.withVersion(options)); } diff --git a/sdk/java/src/main/java/com/pulumi/aws/route53/ProfilesAssociation.java b/sdk/java/src/main/java/com/pulumi/aws/route53/ProfilesAssociation.java index b120c36d97f..17c51c1a793 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/route53/ProfilesAssociation.java +++ b/sdk/java/src/main/java/com/pulumi/aws/route53/ProfilesAssociation.java @@ -92,14 +92,14 @@ public Output resourceId() { return this.resourceId; } /** - * Status of the Profile Association. See the [AWS docs](https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53profiles_Profile.html) for valid values. + * Status of the Profile Association. * */ @Export(name="status", refs={String.class}, tree="[0]") private Output status; /** - * @return Status of the Profile Association. See the [AWS docs](https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53profiles_Profile.html) for valid values. + * @return Status of the Profile Association. * */ public Output status() { @@ -119,13 +119,23 @@ public Output status() { public Output statusMessage() { return this.statusMessage; } + /** + * Map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + */ @Export(name="tags", refs={Map.class,String.class}, tree="[0,1,1]") private Output> tags; + /** + * @return Map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + */ public Output>> tags() { return Codegen.optional(this.tags); } /** + * Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * * @deprecated * Please use `tags` instead. * @@ -134,6 +144,10 @@ public Output>> tags() { @Export(name="tagsAll", refs={Map.class,String.class}, tree="[0,1,1]") private Output> tagsAll; + /** + * @return Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + */ public Output> tagsAll() { return this.tagsAll; } diff --git a/sdk/java/src/main/java/com/pulumi/aws/route53/ProfilesAssociationArgs.java b/sdk/java/src/main/java/com/pulumi/aws/route53/ProfilesAssociationArgs.java index d4aeace91b2..386d044a4e8 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/route53/ProfilesAssociationArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/route53/ProfilesAssociationArgs.java @@ -63,9 +63,17 @@ public Output resourceId() { return this.resourceId; } + /** + * Map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + */ @Import(name="tags") private @Nullable Output> tags; + /** + * @return Map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + */ public Optional>> tags() { return Optional.ofNullable(this.tags); } @@ -168,11 +176,23 @@ public Builder resourceId(String resourceId) { return resourceId(Output.of(resourceId)); } + /** + * @param tags Map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + * @return builder + * + */ public Builder tags(@Nullable Output> tags) { $.tags = tags; return this; } + /** + * @param tags Map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + * @return builder + * + */ public Builder tags(Map tags) { return tags(Output.of(tags)); } diff --git a/sdk/java/src/main/java/com/pulumi/aws/route53/ProfilesProfile.java b/sdk/java/src/main/java/com/pulumi/aws/route53/ProfilesProfile.java index d13a9020320..934aae313c2 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/route53/ProfilesProfile.java +++ b/sdk/java/src/main/java/com/pulumi/aws/route53/ProfilesProfile.java @@ -48,6 +48,7 @@ * public static void stack(Context ctx) { * var example = new ProfilesProfile("example", ProfilesProfileArgs.builder() * .name("example") + * .tags(Map.of("Environment", "dev")) * .build()); * * } @@ -102,28 +103,28 @@ public Output ownerId() { return this.ownerId; } /** - * Share status of the Profile. Valid values [AWS docs](https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53profiles_Profile.html) + * Share status of the Profile. * */ @Export(name="shareStatus", refs={String.class}, tree="[0]") private Output shareStatus; /** - * @return Share status of the Profile. Valid values [AWS docs](https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53profiles_Profile.html) + * @return Share status of the Profile. * */ public Output shareStatus() { return this.shareStatus; } /** - * Status of the Profile. Valid values [AWS docs](https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53profiles_Profile.html) + * Status of the Profile. * */ @Export(name="status", refs={String.class}, tree="[0]") private Output status; /** - * @return Status of the Profile. Valid values [AWS docs](https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53profiles_Profile.html) + * @return Status of the Profile. * */ public Output status() { @@ -143,9 +144,17 @@ public Output status() { public Output statusMessage() { return this.statusMessage; } + /** + * Map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + */ @Export(name="tags", refs={Map.class,String.class}, tree="[0,1,1]") private Output> tags; + /** + * @return Map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + */ public Output>> tags() { return Codegen.optional(this.tags); } diff --git a/sdk/java/src/main/java/com/pulumi/aws/route53/ProfilesProfileArgs.java b/sdk/java/src/main/java/com/pulumi/aws/route53/ProfilesProfileArgs.java index 4abc654af6c..3ff76cc4b15 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/route53/ProfilesProfileArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/route53/ProfilesProfileArgs.java @@ -32,9 +32,17 @@ public Optional> name() { return Optional.ofNullable(this.name); } + /** + * Map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + */ @Import(name="tags") private @Nullable Output> tags; + /** + * @return Map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + */ public Optional>> tags() { return Optional.ofNullable(this.tags); } @@ -93,11 +101,23 @@ public Builder name(String name) { return name(Output.of(name)); } + /** + * @param tags Map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + * @return builder + * + */ public Builder tags(@Nullable Output> tags) { $.tags = tags; return this; } + /** + * @param tags Map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + * @return builder + * + */ public Builder tags(Map tags) { return tags(Output.of(tags)); } diff --git a/sdk/java/src/main/java/com/pulumi/aws/route53/Route53Functions.java b/sdk/java/src/main/java/com/pulumi/aws/route53/Route53Functions.java index 13432395a95..23143d8618e 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/route53/Route53Functions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/route53/Route53Functions.java @@ -46,6 +46,7 @@ import com.pulumi.core.TypeShape; import com.pulumi.deployment.Deployment; import com.pulumi.deployment.InvokeOptions; +import com.pulumi.deployment.InvokeOutputOptions; import com.pulumi.resources.InvokeArgs; import java.util.concurrent.CompletableFuture; @@ -188,6 +189,52 @@ public static CompletableFuture getDelegationSetPlain(Ge public static Output getDelegationSet(GetDelegationSetArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:route53/getDelegationSet:getDelegationSet", TypeShape.of(GetDelegationSetResult.class), args, Utilities.withVersion(options)); } + /** + * `aws.route53.DelegationSet` provides details about a specific Route 53 Delegation Set. + * + * This data source allows to find a list of name servers associated with a specific delegation set. + * + * ## Example Usage + * + * The following example shows how to get a delegation set from its id. + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.route53.Route53Functions;
+     * import com.pulumi.aws.route53.inputs.GetDelegationSetArgs;
+     * 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 dset = Route53Functions.getDelegationSet(GetDelegationSetArgs.builder()
+     *             .id("MQWGHCBFAKEID")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getDelegationSet(GetDelegationSetArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:route53/getDelegationSet:getDelegationSet", TypeShape.of(GetDelegationSetResult.class), args, Utilities.withVersion(options)); + } /** * `aws.route53.DelegationSet` provides details about a specific Route 53 Delegation Set. * @@ -439,6 +486,47 @@ public static CompletableFuture getProfilesProfilesPl public static Output getProfilesProfiles(InvokeArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:route53/getProfilesProfiles:getProfilesProfiles", TypeShape.of(GetProfilesProfilesResult.class), args, Utilities.withVersion(options)); } + /** + * Data source for managing an AWS Route 53 Profiles. + * + * ## Example Usage + * + * ### Basic Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.route53.Route53Functions;
+     * 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 = Route53Functions.getProfilesProfiles();
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getProfilesProfiles(InvokeArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:route53/getProfilesProfiles:getProfilesProfiles", TypeShape.of(GetProfilesProfilesResult.class), args, Utilities.withVersion(options)); + } /** * Data source for managing an AWS Route 53 Profiles. * @@ -895,6 +983,89 @@ public static CompletableFuture getQueryLogConfigPlain( public static Output getQueryLogConfig(GetQueryLogConfigArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:route53/getQueryLogConfig:getQueryLogConfig", TypeShape.of(GetQueryLogConfigResult.class), args, Utilities.withVersion(options)); } + /** + * `aws.route53.ResolverQueryLogConfig` provides details about a specific Route53 Resolver Query Logging Configuration. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.route53.Route53Functions;
+     * import com.pulumi.aws.route53.inputs.GetQueryLogConfigArgs;
+     * 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 = Route53Functions.getQueryLogConfig(GetQueryLogConfigArgs.builder()
+     *             .resolverQueryLogConfigId("rqlc-1abc2345ef678g91h")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.route53.Route53Functions;
+     * import com.pulumi.aws.route53.inputs.GetQueryLogConfigArgs;
+     * 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 = Route53Functions.getQueryLogConfig(GetQueryLogConfigArgs.builder()
+     *             .filters(            
+     *                 GetQueryLogConfigFilterArgs.builder()
+     *                     .name("Name")
+     *                     .values("shared-query-log-config")
+     *                     .build(),
+     *                 GetQueryLogConfigFilterArgs.builder()
+     *                     .name("ShareStatus")
+     *                     .values("SHARED_WITH_ME")
+     *                     .build())
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getQueryLogConfig(GetQueryLogConfigArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:route53/getQueryLogConfig:getQueryLogConfig", TypeShape.of(GetQueryLogConfigResult.class), args, Utilities.withVersion(options)); + } /** * `aws.route53.ResolverQueryLogConfig` provides details about a specific Route53 Resolver Query Logging Configuration. * @@ -1455,18 +1626,16 @@ public static Output getResolverEndpoint(GetResolverE * <!--End PulumiCodeChooser --> * */ - public static CompletableFuture getResolverEndpointPlain(GetResolverEndpointPlainArgs args, InvokeOptions options) { - return Deployment.getInstance().invokeAsync("aws:route53/getResolverEndpoint:getResolverEndpoint", TypeShape.of(GetResolverEndpointResult.class), args, Utilities.withVersion(options)); + public static Output getResolverEndpoint(GetResolverEndpointArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:route53/getResolverEndpoint:getResolverEndpoint", TypeShape.of(GetResolverEndpointResult.class), args, Utilities.withVersion(options)); } /** - * `aws.route53.ResolverFirewallConfig` provides details about a specific a Route 53 Resolver DNS Firewall config. + * `aws.route53.ResolverEndpoint` provides details about a specific Route53 Resolver Endpoint. * - * This data source allows to find a details about a specific a Route 53 Resolver DNS Firewall config. + * This data source allows to find a list of IPaddresses associated with a specific Route53 Resolver Endpoint. * * ## Example Usage * - * The following example shows how to get a firewall config using the VPC ID. - * * <!--Start PulumiCodeChooser --> *
      * {@code
@@ -1476,7 +1645,7 @@ public static CompletableFuture getResolverEndpointPl
      * import com.pulumi.Pulumi;
      * import com.pulumi.core.Output;
      * import com.pulumi.aws.route53.Route53Functions;
-     * import com.pulumi.aws.route53.inputs.GetResolverFirewallConfigArgs;
+     * import com.pulumi.aws.route53.inputs.GetResolverEndpointArgs;
      * import java.util.List;
      * import java.util.ArrayList;
      * import java.util.Map;
@@ -1490,8 +1659,8 @@ public static CompletableFuture getResolverEndpointPl
      *     }
      * 
      *     public static void stack(Context ctx) {
-     *         final var example = Route53Functions.getResolverFirewallConfig(GetResolverFirewallConfigArgs.builder()
-     *             .resourceId("vpc-exampleid")
+     *         final var example = Route53Functions.getResolverEndpoint(GetResolverEndpointArgs.builder()
+     *             .resolverEndpointId("rslvr-in-1abc2345ef678g91h")
      *             .build());
      * 
      *     }
@@ -1500,19 +1669,6 @@ public static CompletableFuture getResolverEndpointPl
      * 
* <!--End PulumiCodeChooser --> * - */ - public static Output getResolverFirewallConfig(GetResolverFirewallConfigArgs args) { - return getResolverFirewallConfig(args, InvokeOptions.Empty); - } - /** - * `aws.route53.ResolverFirewallConfig` provides details about a specific a Route 53 Resolver DNS Firewall config. - * - * This data source allows to find a details about a specific a Route 53 Resolver DNS Firewall config. - * - * ## Example Usage - * - * The following example shows how to get a firewall config using the VPC ID. - * * <!--Start PulumiCodeChooser --> *
      * {@code
@@ -1522,7 +1678,7 @@ public static Output getResolverFirewallConfig(
      * import com.pulumi.Pulumi;
      * import com.pulumi.core.Output;
      * import com.pulumi.aws.route53.Route53Functions;
-     * import com.pulumi.aws.route53.inputs.GetResolverFirewallConfigArgs;
+     * import com.pulumi.aws.route53.inputs.GetResolverEndpointArgs;
      * import java.util.List;
      * import java.util.ArrayList;
      * import java.util.Map;
@@ -1536,8 +1692,11 @@ public static Output getResolverFirewallConfig(
      *     }
      * 
      *     public static void stack(Context ctx) {
-     *         final var example = Route53Functions.getResolverFirewallConfig(GetResolverFirewallConfigArgs.builder()
-     *             .resourceId("vpc-exampleid")
+     *         final var example = Route53Functions.getResolverEndpoint(GetResolverEndpointArgs.builder()
+     *             .filters(GetResolverEndpointFilterArgs.builder()
+     *                 .name("NAME")
+     *                 .values("MyResolverExampleName")
+     *                 .build())
      *             .build());
      * 
      *     }
@@ -1547,8 +1706,8 @@ public static Output getResolverFirewallConfig(
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static CompletableFuture getResolverFirewallConfigPlain(GetResolverFirewallConfigPlainArgs args) {
-        return getResolverFirewallConfigPlain(args, InvokeOptions.Empty);
+    public static CompletableFuture getResolverEndpointPlain(GetResolverEndpointPlainArgs args, InvokeOptions options) {
+        return Deployment.getInstance().invokeAsync("aws:route53/getResolverEndpoint:getResolverEndpoint", TypeShape.of(GetResolverEndpointResult.class), args, Utilities.withVersion(options));
     }
     /**
      * `aws.route53.ResolverFirewallConfig` provides details about a specific a Route 53 Resolver DNS Firewall config.
@@ -1593,8 +1752,8 @@ public static CompletableFuture getResolverFire
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static Output getResolverFirewallConfig(GetResolverFirewallConfigArgs args, InvokeOptions options) {
-        return Deployment.getInstance().invoke("aws:route53/getResolverFirewallConfig:getResolverFirewallConfig", TypeShape.of(GetResolverFirewallConfigResult.class), args, Utilities.withVersion(options));
+    public static Output getResolverFirewallConfig(GetResolverFirewallConfigArgs args) {
+        return getResolverFirewallConfig(args, InvokeOptions.Empty);
     }
     /**
      * `aws.route53.ResolverFirewallConfig` provides details about a specific a Route 53 Resolver DNS Firewall config.
@@ -1639,17 +1798,17 @@ public static Output getResolverFirewallConfig(
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static CompletableFuture getResolverFirewallConfigPlain(GetResolverFirewallConfigPlainArgs args, InvokeOptions options) {
-        return Deployment.getInstance().invokeAsync("aws:route53/getResolverFirewallConfig:getResolverFirewallConfig", TypeShape.of(GetResolverFirewallConfigResult.class), args, Utilities.withVersion(options));
+    public static CompletableFuture getResolverFirewallConfigPlain(GetResolverFirewallConfigPlainArgs args) {
+        return getResolverFirewallConfigPlain(args, InvokeOptions.Empty);
     }
     /**
-     * `aws.route53.ResolverFirewallDomainList` Retrieves the specified firewall domain list.
+     * `aws.route53.ResolverFirewallConfig` provides details about a specific a Route 53 Resolver DNS Firewall config.
      * 
-     * This data source allows to retrieve details about a specific a Route 53 Resolver DNS Firewall domain list.
+     * This data source allows to find a details about a specific a Route 53 Resolver DNS Firewall config.
      * 
      * ## Example Usage
      * 
-     * The following example shows how to get a firewall domain list from its ID.
+     * The following example shows how to get a firewall config using the VPC ID.
      * 
      * <!--Start PulumiCodeChooser -->
      * 
@@ -1660,7 +1819,7 @@ public static CompletableFuture getResolverFire
      * import com.pulumi.Pulumi;
      * import com.pulumi.core.Output;
      * import com.pulumi.aws.route53.Route53Functions;
-     * import com.pulumi.aws.route53.inputs.GetResolverFirewallDomainListArgs;
+     * import com.pulumi.aws.route53.inputs.GetResolverFirewallConfigArgs;
      * import java.util.List;
      * import java.util.ArrayList;
      * import java.util.Map;
@@ -1674,8 +1833,8 @@ public static CompletableFuture getResolverFire
      *     }
      * 
      *     public static void stack(Context ctx) {
-     *         final var example = Route53Functions.getResolverFirewallDomainList(GetResolverFirewallDomainListArgs.builder()
-     *             .firewallDomainListId("rslvr-fdl-example")
+     *         final var example = Route53Functions.getResolverFirewallConfig(GetResolverFirewallConfigArgs.builder()
+     *             .resourceId("vpc-exampleid")
      *             .build());
      * 
      *     }
@@ -1685,17 +1844,17 @@ public static CompletableFuture getResolverFire
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static Output getResolverFirewallDomainList(GetResolverFirewallDomainListArgs args) {
-        return getResolverFirewallDomainList(args, InvokeOptions.Empty);
+    public static Output getResolverFirewallConfig(GetResolverFirewallConfigArgs args, InvokeOptions options) {
+        return Deployment.getInstance().invoke("aws:route53/getResolverFirewallConfig:getResolverFirewallConfig", TypeShape.of(GetResolverFirewallConfigResult.class), args, Utilities.withVersion(options));
     }
     /**
-     * `aws.route53.ResolverFirewallDomainList` Retrieves the specified firewall domain list.
+     * `aws.route53.ResolverFirewallConfig` provides details about a specific a Route 53 Resolver DNS Firewall config.
      * 
-     * This data source allows to retrieve details about a specific a Route 53 Resolver DNS Firewall domain list.
+     * This data source allows to find a details about a specific a Route 53 Resolver DNS Firewall config.
      * 
      * ## Example Usage
      * 
-     * The following example shows how to get a firewall domain list from its ID.
+     * The following example shows how to get a firewall config using the VPC ID.
      * 
      * <!--Start PulumiCodeChooser -->
      * 
@@ -1706,7 +1865,7 @@ public static Output getResolverFirewallDom
      * import com.pulumi.Pulumi;
      * import com.pulumi.core.Output;
      * import com.pulumi.aws.route53.Route53Functions;
-     * import com.pulumi.aws.route53.inputs.GetResolverFirewallDomainListArgs;
+     * import com.pulumi.aws.route53.inputs.GetResolverFirewallConfigArgs;
      * import java.util.List;
      * import java.util.ArrayList;
      * import java.util.Map;
@@ -1720,8 +1879,8 @@ public static Output getResolverFirewallDom
      *     }
      * 
      *     public static void stack(Context ctx) {
-     *         final var example = Route53Functions.getResolverFirewallDomainList(GetResolverFirewallDomainListArgs.builder()
-     *             .firewallDomainListId("rslvr-fdl-example")
+     *         final var example = Route53Functions.getResolverFirewallConfig(GetResolverFirewallConfigArgs.builder()
+     *             .resourceId("vpc-exampleid")
      *             .build());
      * 
      *     }
@@ -1731,17 +1890,17 @@ public static Output getResolverFirewallDom
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static CompletableFuture getResolverFirewallDomainListPlain(GetResolverFirewallDomainListPlainArgs args) {
-        return getResolverFirewallDomainListPlain(args, InvokeOptions.Empty);
+    public static Output getResolverFirewallConfig(GetResolverFirewallConfigArgs args, InvokeOutputOptions options) {
+        return Deployment.getInstance().invoke("aws:route53/getResolverFirewallConfig:getResolverFirewallConfig", TypeShape.of(GetResolverFirewallConfigResult.class), args, Utilities.withVersion(options));
     }
     /**
-     * `aws.route53.ResolverFirewallDomainList` Retrieves the specified firewall domain list.
+     * `aws.route53.ResolverFirewallConfig` provides details about a specific a Route 53 Resolver DNS Firewall config.
      * 
-     * This data source allows to retrieve details about a specific a Route 53 Resolver DNS Firewall domain list.
+     * This data source allows to find a details about a specific a Route 53 Resolver DNS Firewall config.
      * 
      * ## Example Usage
      * 
-     * The following example shows how to get a firewall domain list from its ID.
+     * The following example shows how to get a firewall config using the VPC ID.
      * 
      * <!--Start PulumiCodeChooser -->
      * 
@@ -1752,7 +1911,7 @@ public static CompletableFuture getResolver
      * import com.pulumi.Pulumi;
      * import com.pulumi.core.Output;
      * import com.pulumi.aws.route53.Route53Functions;
-     * import com.pulumi.aws.route53.inputs.GetResolverFirewallDomainListArgs;
+     * import com.pulumi.aws.route53.inputs.GetResolverFirewallConfigArgs;
      * import java.util.List;
      * import java.util.ArrayList;
      * import java.util.Map;
@@ -1766,7 +1925,145 @@ public static CompletableFuture getResolver
      *     }
      * 
      *     public static void stack(Context ctx) {
-     *         final var example = Route53Functions.getResolverFirewallDomainList(GetResolverFirewallDomainListArgs.builder()
+     *         final var example = Route53Functions.getResolverFirewallConfig(GetResolverFirewallConfigArgs.builder()
+     *             .resourceId("vpc-exampleid")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static CompletableFuture getResolverFirewallConfigPlain(GetResolverFirewallConfigPlainArgs args, InvokeOptions options) { + return Deployment.getInstance().invokeAsync("aws:route53/getResolverFirewallConfig:getResolverFirewallConfig", TypeShape.of(GetResolverFirewallConfigResult.class), args, Utilities.withVersion(options)); + } + /** + * `aws.route53.ResolverFirewallDomainList` Retrieves the specified firewall domain list. + * + * This data source allows to retrieve details about a specific a Route 53 Resolver DNS Firewall domain list. + * + * ## Example Usage + * + * The following example shows how to get a firewall domain list from its ID. + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.route53.Route53Functions;
+     * import com.pulumi.aws.route53.inputs.GetResolverFirewallDomainListArgs;
+     * 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 = Route53Functions.getResolverFirewallDomainList(GetResolverFirewallDomainListArgs.builder()
+     *             .firewallDomainListId("rslvr-fdl-example")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getResolverFirewallDomainList(GetResolverFirewallDomainListArgs args) { + return getResolverFirewallDomainList(args, InvokeOptions.Empty); + } + /** + * `aws.route53.ResolverFirewallDomainList` Retrieves the specified firewall domain list. + * + * This data source allows to retrieve details about a specific a Route 53 Resolver DNS Firewall domain list. + * + * ## Example Usage + * + * The following example shows how to get a firewall domain list from its ID. + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.route53.Route53Functions;
+     * import com.pulumi.aws.route53.inputs.GetResolverFirewallDomainListArgs;
+     * 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 = Route53Functions.getResolverFirewallDomainList(GetResolverFirewallDomainListArgs.builder()
+     *             .firewallDomainListId("rslvr-fdl-example")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static CompletableFuture getResolverFirewallDomainListPlain(GetResolverFirewallDomainListPlainArgs args) { + return getResolverFirewallDomainListPlain(args, InvokeOptions.Empty); + } + /** + * `aws.route53.ResolverFirewallDomainList` Retrieves the specified firewall domain list. + * + * This data source allows to retrieve details about a specific a Route 53 Resolver DNS Firewall domain list. + * + * ## Example Usage + * + * The following example shows how to get a firewall domain list from its ID. + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.route53.Route53Functions;
+     * import com.pulumi.aws.route53.inputs.GetResolverFirewallDomainListArgs;
+     * 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 = Route53Functions.getResolverFirewallDomainList(GetResolverFirewallDomainListArgs.builder()
      *             .firewallDomainListId("rslvr-fdl-example")
      *             .build());
      * 
@@ -1780,6 +2077,52 @@ public static CompletableFuture getResolver
     public static Output getResolverFirewallDomainList(GetResolverFirewallDomainListArgs args, InvokeOptions options) {
         return Deployment.getInstance().invoke("aws:route53/getResolverFirewallDomainList:getResolverFirewallDomainList", TypeShape.of(GetResolverFirewallDomainListResult.class), args, Utilities.withVersion(options));
     }
+    /**
+     * `aws.route53.ResolverFirewallDomainList` Retrieves the specified firewall domain list.
+     * 
+     * This data source allows to retrieve details about a specific a Route 53 Resolver DNS Firewall domain list.
+     * 
+     * ## Example Usage
+     * 
+     * The following example shows how to get a firewall domain list from its ID.
+     * 
+     * <!--Start PulumiCodeChooser -->
+     * 
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.route53.Route53Functions;
+     * import com.pulumi.aws.route53.inputs.GetResolverFirewallDomainListArgs;
+     * 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 = Route53Functions.getResolverFirewallDomainList(GetResolverFirewallDomainListArgs.builder()
+     *             .firewallDomainListId("rslvr-fdl-example")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getResolverFirewallDomainList(GetResolverFirewallDomainListArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:route53/getResolverFirewallDomainList:getResolverFirewallDomainList", TypeShape.of(GetResolverFirewallDomainListResult.class), args, Utilities.withVersion(options)); + } /** * `aws.route53.ResolverFirewallDomainList` Retrieves the specified firewall domain list. * @@ -1964,6 +2307,52 @@ public static CompletableFuture getResolverF public static Output getResolverFirewallRuleGroup(GetResolverFirewallRuleGroupArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:route53/getResolverFirewallRuleGroup:getResolverFirewallRuleGroup", TypeShape.of(GetResolverFirewallRuleGroupResult.class), args, Utilities.withVersion(options)); } + /** + * `aws.route53.ResolverFirewallRuleGroup` Retrieves the specified firewall rule group. + * + * This data source allows to retrieve details about a specific a Route 53 Resolver DNS Firewall rule group. + * + * ## Example Usage + * + * The following example shows how to get a firewall rule group from its ID. + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.route53.Route53Functions;
+     * import com.pulumi.aws.route53.inputs.GetResolverFirewallRuleGroupArgs;
+     * 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 = Route53Functions.getResolverFirewallRuleGroup(GetResolverFirewallRuleGroupArgs.builder()
+     *             .firewallRuleGroupId("rslvr-frg-example")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getResolverFirewallRuleGroup(GetResolverFirewallRuleGroupArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:route53/getResolverFirewallRuleGroup:getResolverFirewallRuleGroup", TypeShape.of(GetResolverFirewallRuleGroupResult.class), args, Utilities.withVersion(options)); + } /** * `aws.route53.ResolverFirewallRuleGroup` Retrieves the specified firewall rule group. * @@ -2155,7 +2544,97 @@ public static Output getResolverF * * ## Example Usage * - * The following example shows how to get a firewall rule group association from its id. + * The following example shows how to get a firewall rule group association from its id. + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.route53.Route53Functions;
+     * import com.pulumi.aws.route53.inputs.GetResolverFirewallRuleGroupAssociationArgs;
+     * 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 = Route53Functions.getResolverFirewallRuleGroupAssociation(GetResolverFirewallRuleGroupAssociationArgs.builder()
+     *             .firewallRuleGroupAssociationId("rslvr-frgassoc-example")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getResolverFirewallRuleGroupAssociation(GetResolverFirewallRuleGroupAssociationArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:route53/getResolverFirewallRuleGroupAssociation:getResolverFirewallRuleGroupAssociation", TypeShape.of(GetResolverFirewallRuleGroupAssociationResult.class), args, Utilities.withVersion(options)); + } + /** + * `aws.route53.ResolverFirewallRuleGroupAssociation` Retrieves the specified firewall rule group association. + * + * This data source allows to retrieve details about a specific a Route 53 Resolver DNS Firewall rule group association. + * + * ## Example Usage + * + * The following example shows how to get a firewall rule group association from its id. + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.route53.Route53Functions;
+     * import com.pulumi.aws.route53.inputs.GetResolverFirewallRuleGroupAssociationArgs;
+     * 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 = Route53Functions.getResolverFirewallRuleGroupAssociation(GetResolverFirewallRuleGroupAssociationArgs.builder()
+     *             .firewallRuleGroupAssociationId("rslvr-frgassoc-example")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static CompletableFuture getResolverFirewallRuleGroupAssociationPlain(GetResolverFirewallRuleGroupAssociationPlainArgs args, InvokeOptions options) { + return Deployment.getInstance().invokeAsync("aws:route53/getResolverFirewallRuleGroupAssociation:getResolverFirewallRuleGroupAssociation", TypeShape.of(GetResolverFirewallRuleGroupAssociationResult.class), args, Utilities.withVersion(options)); + } + /** + * `aws.route53.getResolverFirewallRules` Provides details about rules in a specific Route53 Resolver Firewall rule group. + * + * ## Example Usage + * + * The following example shows how to get Route53 Resolver Firewall rules based on its associated firewall group id. * * <!--Start PulumiCodeChooser --> *
@@ -2166,7 +2645,7 @@ public static Output getResolverF
      * import com.pulumi.Pulumi;
      * import com.pulumi.core.Output;
      * import com.pulumi.aws.route53.Route53Functions;
-     * import com.pulumi.aws.route53.inputs.GetResolverFirewallRuleGroupAssociationArgs;
+     * import com.pulumi.aws.route53.inputs.GetResolverFirewallRulesArgs;
      * import java.util.List;
      * import java.util.ArrayList;
      * import java.util.Map;
@@ -2180,8 +2659,8 @@ public static Output getResolverF
      *     }
      * 
      *     public static void stack(Context ctx) {
-     *         final var example = Route53Functions.getResolverFirewallRuleGroupAssociation(GetResolverFirewallRuleGroupAssociationArgs.builder()
-     *             .firewallRuleGroupAssociationId("rslvr-frgassoc-example")
+     *         final var example = Route53Functions.getResolverFirewallRules(GetResolverFirewallRulesArgs.builder()
+     *             .firewallRuleGroupId(exampleAwsRoute53ResolverFirewallRuleGroup.id())
      *             .build());
      * 
      *     }
@@ -2191,8 +2670,8 @@ public static Output getResolverF
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static CompletableFuture getResolverFirewallRuleGroupAssociationPlain(GetResolverFirewallRuleGroupAssociationPlainArgs args, InvokeOptions options) {
-        return Deployment.getInstance().invokeAsync("aws:route53/getResolverFirewallRuleGroupAssociation:getResolverFirewallRuleGroupAssociation", TypeShape.of(GetResolverFirewallRuleGroupAssociationResult.class), args, Utilities.withVersion(options));
+    public static Output getResolverFirewallRules(GetResolverFirewallRulesArgs args) {
+        return getResolverFirewallRules(args, InvokeOptions.Empty);
     }
     /**
      * `aws.route53.getResolverFirewallRules` Provides details about rules in a specific Route53 Resolver Firewall rule group.
@@ -2235,8 +2714,8 @@ public static CompletableFuture g
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static Output getResolverFirewallRules(GetResolverFirewallRulesArgs args) {
-        return getResolverFirewallRules(args, InvokeOptions.Empty);
+    public static CompletableFuture getResolverFirewallRulesPlain(GetResolverFirewallRulesPlainArgs args) {
+        return getResolverFirewallRulesPlain(args, InvokeOptions.Empty);
     }
     /**
      * `aws.route53.getResolverFirewallRules` Provides details about rules in a specific Route53 Resolver Firewall rule group.
@@ -2279,8 +2758,8 @@ public static Output getResolverFirewallRules(Ge
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static CompletableFuture getResolverFirewallRulesPlain(GetResolverFirewallRulesPlainArgs args) {
-        return getResolverFirewallRulesPlain(args, InvokeOptions.Empty);
+    public static Output getResolverFirewallRules(GetResolverFirewallRulesArgs args, InvokeOptions options) {
+        return Deployment.getInstance().invoke("aws:route53/getResolverFirewallRules:getResolverFirewallRules", TypeShape.of(GetResolverFirewallRulesResult.class), args, Utilities.withVersion(options));
     }
     /**
      * `aws.route53.getResolverFirewallRules` Provides details about rules in a specific Route53 Resolver Firewall rule group.
@@ -2323,7 +2802,7 @@ public static CompletableFuture getResolverFirew
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static Output getResolverFirewallRules(GetResolverFirewallRulesArgs args, InvokeOptions options) {
+    public static Output getResolverFirewallRules(GetResolverFirewallRulesArgs args, InvokeOutputOptions options) {
         return Deployment.getInstance().invoke("aws:route53/getResolverFirewallRules:getResolverFirewallRules", TypeShape.of(GetResolverFirewallRulesResult.class), args, Utilities.withVersion(options));
     }
     /**
@@ -2595,6 +3074,51 @@ public static CompletableFuture getResolverRulePlain(GetR
     public static Output getResolverRule(GetResolverRuleArgs args, InvokeOptions options) {
         return Deployment.getInstance().invoke("aws:route53/getResolverRule:getResolverRule", TypeShape.of(GetResolverRuleResult.class), args, Utilities.withVersion(options));
     }
+    /**
+     * `aws.route53.ResolverRule` provides details about a specific Route53 Resolver rule.
+     * 
+     * ## Example Usage
+     * 
+     * The following example shows how to get a Route53 Resolver rule based on its associated domain name and rule type.
+     * 
+     * <!--Start PulumiCodeChooser -->
+     * 
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.route53.Route53Functions;
+     * import com.pulumi.aws.route53.inputs.GetResolverRuleArgs;
+     * 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 = Route53Functions.getResolverRule(GetResolverRuleArgs.builder()
+     *             .domainName("subdomain.example.com")
+     *             .ruleType("SYSTEM")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getResolverRule(GetResolverRuleArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:route53/getResolverRule:getResolverRule", TypeShape.of(GetResolverRuleResult.class), args, Utilities.withVersion(options)); + } /** * `aws.route53.ResolverRule` provides details about a specific Route53 Resolver rule. * @@ -3238,9 +3762,203 @@ public static Output getResolverRules(GetResolverRulesAr /** * `aws.route53.getResolverRules` provides details about a set of Route53 Resolver rules. * - * ## Example Usage + * ## Example Usage + * + * ### Retrieving the default resolver rule + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.route53.Route53Functions;
+     * import com.pulumi.aws.route53.inputs.GetResolverRulesArgs;
+     * 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 = Route53Functions.getResolverRules(GetResolverRulesArgs.builder()
+     *             .ownerId("Route 53 Resolver")
+     *             .ruleType("RECURSIVE")
+     *             .shareStatus("NOT_SHARED")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + * ### Retrieving forward rules shared with me + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.route53.Route53Functions;
+     * import com.pulumi.aws.route53.inputs.GetResolverRulesArgs;
+     * 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 = Route53Functions.getResolverRules(GetResolverRulesArgs.builder()
+     *             .ruleType("FORWARD")
+     *             .shareStatus("SHARED_WITH_ME")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + * ### Retrieving rules by name regex + * + * Resolver rules whose name contains `abc`. + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.route53.Route53Functions;
+     * import com.pulumi.aws.route53.inputs.GetResolverRulesArgs;
+     * 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 = Route53Functions.getResolverRules(GetResolverRulesArgs.builder()
+     *             .nameRegex(".*abc.*")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getResolverRules(GetResolverRulesArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:route53/getResolverRules:getResolverRules", TypeShape.of(GetResolverRulesResult.class), args, Utilities.withVersion(options)); + } + /** + * `aws.route53.getResolverRules` provides details about a set of Route53 Resolver rules. + * + * ## Example Usage + * + * ### Retrieving the default resolver rule + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.route53.Route53Functions;
+     * import com.pulumi.aws.route53.inputs.GetResolverRulesArgs;
+     * 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 = Route53Functions.getResolverRules(GetResolverRulesArgs.builder()
+     *             .ownerId("Route 53 Resolver")
+     *             .ruleType("RECURSIVE")
+     *             .shareStatus("NOT_SHARED")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + * ### Retrieving forward rules shared with me + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.route53.Route53Functions;
+     * import com.pulumi.aws.route53.inputs.GetResolverRulesArgs;
+     * 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 = Route53Functions.getResolverRules(GetResolverRulesArgs.builder()
+     *             .ruleType("FORWARD")
+     *             .shareStatus("SHARED_WITH_ME")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + * ### Retrieving rules by name regex * - * ### Retrieving the default resolver rule + * Resolver rules whose name contains `abc`. * * <!--Start PulumiCodeChooser --> *
@@ -3266,9 +3984,7 @@ public static Output getResolverRules(GetResolverRulesAr
      * 
      *     public static void stack(Context ctx) {
      *         final var example = Route53Functions.getResolverRules(GetResolverRulesArgs.builder()
-     *             .ownerId("Route 53 Resolver")
-     *             .ruleType("RECURSIVE")
-     *             .shareStatus("NOT_SHARED")
+     *             .nameRegex(".*abc.*")
      *             .build());
      * 
      *     }
@@ -3277,7 +3993,16 @@ public static Output getResolverRules(GetResolverRulesAr
      * 
* <!--End PulumiCodeChooser --> * - * ### Retrieving forward rules shared with me + */ + public static CompletableFuture getResolverRulesPlain(GetResolverRulesPlainArgs args, InvokeOptions options) { + return Deployment.getInstance().invokeAsync("aws:route53/getResolverRules:getResolverRules", TypeShape.of(GetResolverRulesResult.class), args, Utilities.withVersion(options)); + } + /** + * Generates an Route53 traffic policy document in JSON format for use with resources that expect policy documents such as `aws.route53.TrafficPolicy`. + * + * ## Example Usage + * + * ### Basic Example * * <!--Start PulumiCodeChooser --> *
@@ -3287,8 +4012,12 @@ public static Output getResolverRules(GetResolverRulesAr
      * import com.pulumi.Context;
      * import com.pulumi.Pulumi;
      * import com.pulumi.core.Output;
+     * import com.pulumi.aws.AwsFunctions;
+     * import com.pulumi.aws.inputs.GetRegionArgs;
      * import com.pulumi.aws.route53.Route53Functions;
-     * import com.pulumi.aws.route53.inputs.GetResolverRulesArgs;
+     * import com.pulumi.aws.route53.inputs.GetTrafficPolicyDocumentArgs;
+     * import com.pulumi.aws.route53.TrafficPolicy;
+     * import com.pulumi.aws.route53.TrafficPolicyArgs;
      * import java.util.List;
      * import java.util.ArrayList;
      * import java.util.Map;
@@ -3302,9 +4031,39 @@ public static Output getResolverRules(GetResolverRulesAr
      *     }
      * 
      *     public static void stack(Context ctx) {
-     *         final var example = Route53Functions.getResolverRules(GetResolverRulesArgs.builder()
-     *             .ruleType("FORWARD")
-     *             .shareStatus("SHARED_WITH_ME")
+     *         final var current = AwsFunctions.getRegion();
+     * 
+     *         final var example = Route53Functions.getTrafficPolicyDocument(GetTrafficPolicyDocumentArgs.builder()
+     *             .recordType("A")
+     *             .startRule("site_switch")
+     *             .endpoints(            
+     *                 GetTrafficPolicyDocumentEndpointArgs.builder()
+     *                     .id("my_elb")
+     *                     .type("elastic-load-balancer")
+     *                     .value(String.format("elb-111111.%s.elb.amazonaws.com", current.applyValue(getRegionResult -> getRegionResult.name())))
+     *                     .build(),
+     *                 GetTrafficPolicyDocumentEndpointArgs.builder()
+     *                     .id("site_down_banner")
+     *                     .type("s3-website")
+     *                     .region(current.applyValue(getRegionResult -> getRegionResult.name()))
+     *                     .value("www.example.com")
+     *                     .build())
+     *             .rules(GetTrafficPolicyDocumentRuleArgs.builder()
+     *                 .id("site_switch")
+     *                 .type("failover")
+     *                 .primary(GetTrafficPolicyDocumentRulePrimaryArgs.builder()
+     *                     .endpointReference("my_elb")
+     *                     .build())
+     *                 .secondary(GetTrafficPolicyDocumentRuleSecondaryArgs.builder()
+     *                     .endpointReference("site_down_banner")
+     *                     .build())
+     *                 .build())
+     *             .build());
+     * 
+     *         var exampleTrafficPolicy = new TrafficPolicy("exampleTrafficPolicy", TrafficPolicyArgs.builder()
+     *             .name("example")
+     *             .comment("example comment")
+     *             .document(example.applyValue(getTrafficPolicyDocumentResult -> getTrafficPolicyDocumentResult.json()))
      *             .build());
      * 
      *     }
@@ -3313,9 +4072,9 @@ public static Output getResolverRules(GetResolverRulesAr
      * 
* <!--End PulumiCodeChooser --> * - * ### Retrieving rules by name regex + * ### Complex Example * - * Resolver rules whose name contains `abc`. + * The following example showcases the use of nested rules within the traffic policy document and introduces the `geoproximity` rule type. * * <!--Start PulumiCodeChooser --> *
@@ -3326,7 +4085,9 @@ public static Output getResolverRules(GetResolverRulesAr
      * import com.pulumi.Pulumi;
      * import com.pulumi.core.Output;
      * import com.pulumi.aws.route53.Route53Functions;
-     * import com.pulumi.aws.route53.inputs.GetResolverRulesArgs;
+     * import com.pulumi.aws.route53.inputs.GetTrafficPolicyDocumentArgs;
+     * import com.pulumi.aws.route53.TrafficPolicy;
+     * import com.pulumi.aws.route53.TrafficPolicyArgs;
      * import java.util.List;
      * import java.util.ArrayList;
      * import java.util.Map;
@@ -3340,8 +4101,70 @@ public static Output getResolverRules(GetResolverRulesAr
      *     }
      * 
      *     public static void stack(Context ctx) {
-     *         final var example = Route53Functions.getResolverRules(GetResolverRulesArgs.builder()
-     *             .nameRegex(".*abc.*")
+     *         final var example = Route53Functions.getTrafficPolicyDocument(GetTrafficPolicyDocumentArgs.builder()
+     *             .recordType("A")
+     *             .startRule("geoproximity_rule")
+     *             .endpoints(            
+     *                 GetTrafficPolicyDocumentEndpointArgs.builder()
+     *                     .id("na_endpoint_a")
+     *                     .type("elastic-load-balancer")
+     *                     .value("elb-111111.us-west-1.elb.amazonaws.com")
+     *                     .build(),
+     *                 GetTrafficPolicyDocumentEndpointArgs.builder()
+     *                     .id("na_endpoint_b")
+     *                     .type("elastic-load-balancer")
+     *                     .value("elb-222222.us-west-1.elb.amazonaws.com")
+     *                     .build(),
+     *                 GetTrafficPolicyDocumentEndpointArgs.builder()
+     *                     .id("eu_endpoint")
+     *                     .type("elastic-load-balancer")
+     *                     .value("elb-333333.eu-west-1.elb.amazonaws.com")
+     *                     .build(),
+     *                 GetTrafficPolicyDocumentEndpointArgs.builder()
+     *                     .id("ap_endpoint")
+     *                     .type("elastic-load-balancer")
+     *                     .value("elb-444444.ap-northeast-2.elb.amazonaws.com")
+     *                     .build())
+     *             .rules(            
+     *                 GetTrafficPolicyDocumentRuleArgs.builder()
+     *                     .id("na_rule")
+     *                     .type("failover")
+     *                     .primary(GetTrafficPolicyDocumentRulePrimaryArgs.builder()
+     *                         .endpointReference("na_endpoint_a")
+     *                         .build())
+     *                     .secondary(GetTrafficPolicyDocumentRuleSecondaryArgs.builder()
+     *                         .endpointReference("na_endpoint_b")
+     *                         .build())
+     *                     .build(),
+     *                 GetTrafficPolicyDocumentRuleArgs.builder()
+     *                     .id("geoproximity_rule")
+     *                     .type("geoproximity")
+     *                     .geoProximityLocations(                    
+     *                         GetTrafficPolicyDocumentRuleGeoProximityLocationArgs.builder()
+     *                             .region("aws:route53:us-west-1")
+     *                             .bias(10)
+     *                             .evaluateTargetHealth(true)
+     *                             .ruleReference("na_rule")
+     *                             .build(),
+     *                         GetTrafficPolicyDocumentRuleGeoProximityLocationArgs.builder()
+     *                             .region("aws:route53:eu-west-1")
+     *                             .bias(10)
+     *                             .evaluateTargetHealth(true)
+     *                             .endpointReference("eu_endpoint")
+     *                             .build(),
+     *                         GetTrafficPolicyDocumentRuleGeoProximityLocationArgs.builder()
+     *                             .region("aws:route53:ap-northeast-2")
+     *                             .bias(0)
+     *                             .evaluateTargetHealth(true)
+     *                             .endpointReference("ap_endpoint")
+     *                             .build())
+     *                     .build())
+     *             .build());
+     * 
+     *         var exampleTrafficPolicy = new TrafficPolicy("exampleTrafficPolicy", TrafficPolicyArgs.builder()
+     *             .name("example")
+     *             .comment("example comment")
+     *             .document(example.applyValue(getTrafficPolicyDocumentResult -> getTrafficPolicyDocumentResult.json()))
      *             .build());
      * 
      *     }
@@ -3351,8 +4174,8 @@ public static Output getResolverRules(GetResolverRulesAr
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static CompletableFuture getResolverRulesPlain(GetResolverRulesPlainArgs args, InvokeOptions options) {
-        return Deployment.getInstance().invokeAsync("aws:route53/getResolverRules:getResolverRules", TypeShape.of(GetResolverRulesResult.class), args, Utilities.withVersion(options));
+    public static Output getTrafficPolicyDocument() {
+        return getTrafficPolicyDocument(GetTrafficPolicyDocumentArgs.Empty, InvokeOptions.Empty);
     }
     /**
      * Generates an Route53 traffic policy document in JSON format for use with resources that expect policy documents such as `aws.route53.TrafficPolicy`.
@@ -3531,8 +4354,8 @@ public static CompletableFuture getResolverRulesPlain(Ge
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static Output getTrafficPolicyDocument() {
-        return getTrafficPolicyDocument(GetTrafficPolicyDocumentArgs.Empty, InvokeOptions.Empty);
+    public static CompletableFuture getTrafficPolicyDocumentPlain() {
+        return getTrafficPolicyDocumentPlain(GetTrafficPolicyDocumentPlainArgs.Empty, InvokeOptions.Empty);
     }
     /**
      * Generates an Route53 traffic policy document in JSON format for use with resources that expect policy documents such as `aws.route53.TrafficPolicy`.
@@ -3711,8 +4534,8 @@ public static Output getTrafficPolicyDocument()
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static CompletableFuture getTrafficPolicyDocumentPlain() {
-        return getTrafficPolicyDocumentPlain(GetTrafficPolicyDocumentPlainArgs.Empty, InvokeOptions.Empty);
+    public static Output getTrafficPolicyDocument(GetTrafficPolicyDocumentArgs args) {
+        return getTrafficPolicyDocument(args, InvokeOptions.Empty);
     }
     /**
      * Generates an Route53 traffic policy document in JSON format for use with resources that expect policy documents such as `aws.route53.TrafficPolicy`.
@@ -3891,8 +4714,8 @@ public static CompletableFuture getTrafficPolicy
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static Output getTrafficPolicyDocument(GetTrafficPolicyDocumentArgs args) {
-        return getTrafficPolicyDocument(args, InvokeOptions.Empty);
+    public static CompletableFuture getTrafficPolicyDocumentPlain(GetTrafficPolicyDocumentPlainArgs args) {
+        return getTrafficPolicyDocumentPlain(args, InvokeOptions.Empty);
     }
     /**
      * Generates an Route53 traffic policy document in JSON format for use with resources that expect policy documents such as `aws.route53.TrafficPolicy`.
@@ -4071,8 +4894,8 @@ public static Output getTrafficPolicyDocument(Ge
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static CompletableFuture getTrafficPolicyDocumentPlain(GetTrafficPolicyDocumentPlainArgs args) {
-        return getTrafficPolicyDocumentPlain(args, InvokeOptions.Empty);
+    public static Output getTrafficPolicyDocument(GetTrafficPolicyDocumentArgs args, InvokeOptions options) {
+        return Deployment.getInstance().invoke("aws:route53/getTrafficPolicyDocument:getTrafficPolicyDocument", TypeShape.of(GetTrafficPolicyDocumentResult.class), args, Utilities.withVersion(options));
     }
     /**
      * Generates an Route53 traffic policy document in JSON format for use with resources that expect policy documents such as `aws.route53.TrafficPolicy`.
@@ -4251,7 +5074,7 @@ public static CompletableFuture getTrafficPolicy
      * <!--End PulumiCodeChooser -->
      * 
      */
-    public static Output getTrafficPolicyDocument(GetTrafficPolicyDocumentArgs args, InvokeOptions options) {
+    public static Output getTrafficPolicyDocument(GetTrafficPolicyDocumentArgs args, InvokeOutputOptions options) {
         return Deployment.getInstance().invoke("aws:route53/getTrafficPolicyDocument:getTrafficPolicyDocument", TypeShape.of(GetTrafficPolicyDocumentResult.class), args, Utilities.withVersion(options));
     }
     /**
@@ -4719,6 +5542,63 @@ public static CompletableFuture getZonePlain(GetZonePlainArgs arg
     public static Output getZone(GetZoneArgs args, InvokeOptions options) {
         return Deployment.getInstance().invoke("aws:route53/getZone:getZone", TypeShape.of(GetZoneResult.class), args, Utilities.withVersion(options));
     }
+    /**
+     * `aws.route53.Zone` provides details about a specific Route 53 Hosted Zone.
+     * 
+     * This data source allows to find a Hosted Zone ID given Hosted Zone name and certain search criteria.
+     * 
+     * ## Example Usage
+     * 
+     * The following example shows how to get a Hosted Zone from its name and from this data how to create a Record Set.
+     * 
+     * <!--Start PulumiCodeChooser -->
+     * 
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.route53.Route53Functions;
+     * import com.pulumi.aws.route53.inputs.GetZoneArgs;
+     * import com.pulumi.aws.route53.Record;
+     * import com.pulumi.aws.route53.RecordArgs;
+     * 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 selected = Route53Functions.getZone(GetZoneArgs.builder()
+     *             .name("test.com.")
+     *             .privateZone(true)
+     *             .build());
+     * 
+     *         var www = new Record("www", RecordArgs.builder()
+     *             .zoneId(selected.applyValue(getZoneResult -> getZoneResult.zoneId()))
+     *             .name(String.format("www.%s", selected.applyValue(getZoneResult -> getZoneResult.name())))
+     *             .type("A")
+     *             .ttl("300")
+     *             .records("10.0.0.1")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getZone(GetZoneArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:route53/getZone:getZone", TypeShape.of(GetZoneResult.class), args, Utilities.withVersion(options)); + } /** * `aws.route53.Zone` provides details about a specific Route 53 Hosted Zone. * @@ -4986,6 +5866,48 @@ public static CompletableFuture getZonesPlain(InvokeArgs args) { public static Output getZones(InvokeArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:route53/getZones:getZones", TypeShape.of(GetZonesResult.class), args, Utilities.withVersion(options)); } + /** + * This resource can be useful for getting back a list of Route53 Hosted Zone IDs for a Region. + * + * ## Example Usage + * + * The following example retrieves a list of all Hosted Zone IDs. + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.route53.Route53Functions;
+     * 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 all = Route53Functions.getZones();
+     * 
+     *         ctx.export("example", all.applyValue(getZonesResult -> getZonesResult.ids()));
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getZones(InvokeArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:route53/getZones:getZones", TypeShape.of(GetZonesResult.class), args, Utilities.withVersion(options)); + } /** * This resource can be useful for getting back a list of Route53 Hosted Zone IDs for a Region. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/route53/inputs/ProfilesAssociationState.java b/sdk/java/src/main/java/com/pulumi/aws/route53/inputs/ProfilesAssociationState.java index 15800fbae5f..42df07ae327 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/route53/inputs/ProfilesAssociationState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/route53/inputs/ProfilesAssociationState.java @@ -77,14 +77,14 @@ public Optional> resourceId() { } /** - * Status of the Profile Association. See the [AWS docs](https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53profiles_Profile.html) for valid values. + * Status of the Profile Association. * */ @Import(name="status") private @Nullable Output status; /** - * @return Status of the Profile Association. See the [AWS docs](https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53profiles_Profile.html) for valid values. + * @return Status of the Profile Association. * */ public Optional> status() { @@ -106,14 +106,24 @@ public Optional> statusMessage() { return Optional.ofNullable(this.statusMessage); } + /** + * Map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + */ @Import(name="tags") private @Nullable Output> tags; + /** + * @return Map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + */ public Optional>> tags() { return Optional.ofNullable(this.tags); } /** + * Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * * @deprecated * Please use `tags` instead. * @@ -123,6 +133,8 @@ public Optional>> tags() { private @Nullable Output> tagsAll; /** + * @return Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * * @deprecated * Please use `tags` instead. * @@ -254,7 +266,7 @@ public Builder resourceId(String resourceId) { } /** - * @param status Status of the Profile Association. See the [AWS docs](https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53profiles_Profile.html) for valid values. + * @param status Status of the Profile Association. * * @return builder * @@ -265,7 +277,7 @@ public Builder status(@Nullable Output status) { } /** - * @param status Status of the Profile Association. See the [AWS docs](https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53profiles_Profile.html) for valid values. + * @param status Status of the Profile Association. * * @return builder * @@ -295,16 +307,30 @@ public Builder statusMessage(String statusMessage) { return statusMessage(Output.of(statusMessage)); } + /** + * @param tags Map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + * @return builder + * + */ public Builder tags(@Nullable Output> tags) { $.tags = tags; return this; } + /** + * @param tags Map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + * @return builder + * + */ public Builder tags(Map tags) { return tags(Output.of(tags)); } /** + * @param tagsAll Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * * @return builder * * @deprecated @@ -318,6 +344,8 @@ public Builder tagsAll(@Nullable Output> tagsAll) { } /** + * @param tagsAll Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * * @return builder * * @deprecated diff --git a/sdk/java/src/main/java/com/pulumi/aws/route53/inputs/ProfilesProfileState.java b/sdk/java/src/main/java/com/pulumi/aws/route53/inputs/ProfilesProfileState.java index de3041b2590..d27819f6f6a 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/route53/inputs/ProfilesProfileState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/route53/inputs/ProfilesProfileState.java @@ -55,14 +55,14 @@ public Optional> ownerId() { } /** - * Share status of the Profile. Valid values [AWS docs](https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53profiles_Profile.html) + * Share status of the Profile. * */ @Import(name="shareStatus") private @Nullable Output shareStatus; /** - * @return Share status of the Profile. Valid values [AWS docs](https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53profiles_Profile.html) + * @return Share status of the Profile. * */ public Optional> shareStatus() { @@ -70,14 +70,14 @@ public Optional> shareStatus() { } /** - * Status of the Profile. Valid values [AWS docs](https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53profiles_Profile.html) + * Status of the Profile. * */ @Import(name="status") private @Nullable Output status; /** - * @return Status of the Profile. Valid values [AWS docs](https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53profiles_Profile.html) + * @return Status of the Profile. * */ public Optional> status() { @@ -99,9 +99,17 @@ public Optional> statusMessage() { return Optional.ofNullable(this.statusMessage); } + /** + * Map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + */ @Import(name="tags") private @Nullable Output> tags; + /** + * @return Map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + */ public Optional>> tags() { return Optional.ofNullable(this.tags); } @@ -220,7 +228,7 @@ public Builder ownerId(String ownerId) { } /** - * @param shareStatus Share status of the Profile. Valid values [AWS docs](https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53profiles_Profile.html) + * @param shareStatus Share status of the Profile. * * @return builder * @@ -231,7 +239,7 @@ public Builder shareStatus(@Nullable Output shareStatus) { } /** - * @param shareStatus Share status of the Profile. Valid values [AWS docs](https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53profiles_Profile.html) + * @param shareStatus Share status of the Profile. * * @return builder * @@ -241,7 +249,7 @@ public Builder shareStatus(String shareStatus) { } /** - * @param status Status of the Profile. Valid values [AWS docs](https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53profiles_Profile.html) + * @param status Status of the Profile. * * @return builder * @@ -252,7 +260,7 @@ public Builder status(@Nullable Output status) { } /** - * @param status Status of the Profile. Valid values [AWS docs](https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53profiles_Profile.html) + * @param status Status of the Profile. * * @return builder * @@ -282,11 +290,23 @@ public Builder statusMessage(String statusMessage) { return statusMessage(Output.of(statusMessage)); } + /** + * @param tags Map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + * @return builder + * + */ public Builder tags(@Nullable Output> tags) { $.tags = tags; return this; } + /** + * @param tags Map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + * @return builder + * + */ public Builder tags(Map tags) { return tags(Output.of(tags)); } diff --git a/sdk/java/src/main/java/com/pulumi/aws/s3/S3Functions.java b/sdk/java/src/main/java/com/pulumi/aws/s3/S3Functions.java index ae1b752a79f..551caacfcb1 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/s3/S3Functions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/s3/S3Functions.java @@ -31,6 +31,7 @@ import com.pulumi.core.TypeShape; import com.pulumi.deployment.Deployment; import com.pulumi.deployment.InvokeOptions; +import com.pulumi.deployment.InvokeOutputOptions; import com.pulumi.resources.InvokeArgs; import java.util.concurrent.CompletableFuture; @@ -235,6 +236,46 @@ public static CompletableFuture getAccountPub public static Output getAccountPublicAccessBlock(GetAccountPublicAccessBlockArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:s3/getAccountPublicAccessBlock:getAccountPublicAccessBlock", TypeShape.of(GetAccountPublicAccessBlockResult.class), args, Utilities.withVersion(options)); } + /** + * The S3 account public access block data source returns account-level public access block configuration. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.s3.S3Functions;
+     * import com.pulumi.aws.s3.inputs.GetAccountPublicAccessBlockArgs;
+     * 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 = S3Functions.getAccountPublicAccessBlock();
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getAccountPublicAccessBlock(GetAccountPublicAccessBlockArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:s3/getAccountPublicAccessBlock:getAccountPublicAccessBlock", TypeShape.of(GetAccountPublicAccessBlockResult.class), args, Utilities.withVersion(options)); + } /** * The S3 account public access block data source returns account-level public access block configuration. * @@ -716,6 +757,117 @@ public static Output getBucket(GetBucketArgs args, InvokeOption * <!--End PulumiCodeChooser --> * */ + public static Output getBucket(GetBucketArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:s3/getBucket:getBucket", TypeShape.of(GetBucketResult.class), args, Utilities.withVersion(options)); + } + /** + * Provides details about a specific S3 bucket. + * + * This resource may prove useful when setting up a Route53 record, or an origin for a CloudFront + * Distribution. + * + * ## Example Usage + * + * ### Route53 Record + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.s3.S3Functions;
+     * import com.pulumi.aws.s3.inputs.GetBucketArgs;
+     * import com.pulumi.aws.route53.Route53Functions;
+     * import com.pulumi.aws.route53.inputs.GetZoneArgs;
+     * import com.pulumi.aws.route53.Record;
+     * import com.pulumi.aws.route53.RecordArgs;
+     * import com.pulumi.aws.route53.inputs.RecordAliasArgs;
+     * 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 selected = S3Functions.getBucket(GetBucketArgs.builder()
+     *             .bucket("bucket.test.com")
+     *             .build());
+     * 
+     *         final var testZone = Route53Functions.getZone(GetZoneArgs.builder()
+     *             .name("test.com.")
+     *             .build());
+     * 
+     *         var example = new Record("example", RecordArgs.builder()
+     *             .zoneId(testZone.applyValue(getZoneResult -> getZoneResult.id()))
+     *             .name("bucket")
+     *             .type("A")
+     *             .aliases(RecordAliasArgs.builder()
+     *                 .name(selected.applyValue(getBucketResult -> getBucketResult.websiteDomain()))
+     *                 .zoneId(selected.applyValue(getBucketResult -> getBucketResult.hostedZoneId()))
+     *                 .build())
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + * ### CloudFront Origin + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.s3.S3Functions;
+     * import com.pulumi.aws.s3.inputs.GetBucketArgs;
+     * import com.pulumi.aws.cloudfront.Distribution;
+     * import com.pulumi.aws.cloudfront.DistributionArgs;
+     * import com.pulumi.aws.cloudfront.inputs.DistributionOriginArgs;
+     * 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 selected = S3Functions.getBucket(GetBucketArgs.builder()
+     *             .bucket("a-test-bucket")
+     *             .build());
+     * 
+     *         var test = new Distribution("test", DistributionArgs.builder()
+     *             .origins(DistributionOriginArgs.builder()
+     *                 .domainName(selected.applyValue(getBucketResult -> getBucketResult.bucketDomainName()))
+     *                 .originId("s3-selected-bucket")
+     *                 .build())
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ public static CompletableFuture getBucketPlain(GetBucketPlainArgs args, InvokeOptions options) { return Deployment.getInstance().invokeAsync("aws:s3/getBucket:getBucket", TypeShape.of(GetBucketResult.class), args, Utilities.withVersion(options)); } @@ -1208,6 +1360,129 @@ public static Output getBucketObject(GetBucketObjectArgs * <!--End PulumiCodeChooser --> * */ + public static Output getBucketObject(GetBucketObjectArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:s3/getBucketObject:getBucketObject", TypeShape.of(GetBucketObjectResult.class), args, Utilities.withVersion(options)); + } + /** + * > **NOTE:** The `aws.s3.BucketObject` data source is DEPRECATED and will be removed in a future version! Use `aws.s3.BucketObjectv2` instead, where new features and fixes will be added. + * + * The S3 object data source allows access to the metadata and + * _optionally_ (see below) content of an object stored inside S3 bucket. + * + * > **Note:** The content of an object (`body` field) is available only for objects which have a human-readable `Content-Type`: + * + * * `text/*` + * * `application/json` + * * `application/ld+json` + * * `application/x-httpd-php` + * * `application/xhtml+xml` + * * `application/x-csh` + * * `application/x-sh` + * * `application/xml` + * * `application/atom+xml` + * * `application/x-sql` + * + * This is to prevent printing unsafe characters and potentially downloading large amount of data which would be thrown away in favor of metadata. + * + * ## Example Usage + * + * The following example retrieves a text object (which must have a `Content-Type` + * value starting with `text/`) and uses it as the `user_data` for an EC2 instance: + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.s3.S3Functions;
+     * import com.pulumi.aws.s3.inputs.GetBucketObjectArgs;
+     * import com.pulumi.aws.ec2.Instance;
+     * import com.pulumi.aws.ec2.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 bootstrapScript = S3Functions.getBucketObject(GetBucketObjectArgs.builder()
+     *             .bucket("ourcorp-deploy-config")
+     *             .key("ec2-bootstrap-script.sh")
+     *             .build());
+     * 
+     *         var example = new Instance("example", InstanceArgs.builder()
+     *             .instanceType("t2.micro")
+     *             .ami("ami-2757f631")
+     *             .userData(bootstrapScript.applyValue(getBucketObjectResult -> getBucketObjectResult.body()))
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + * The following, more-complex example retrieves only the metadata for a zip + * file stored in S3, which is then used to pass the most recent `version_id` + * to AWS Lambda for use as a function implementation. More information about + * Lambda functions is available in the documentation for + * `aws.lambda.Function`. + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.s3.S3Functions;
+     * import com.pulumi.aws.s3.inputs.GetBucketObjectArgs;
+     * import com.pulumi.aws.lambda.Function;
+     * import com.pulumi.aws.lambda.FunctionArgs;
+     * 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 lambda = S3Functions.getBucketObject(GetBucketObjectArgs.builder()
+     *             .bucket("ourcorp-lambda-functions")
+     *             .key("hello-world.zip")
+     *             .build());
+     * 
+     *         var testLambda = new Function("testLambda", FunctionArgs.builder()
+     *             .s3Bucket(lambda.applyValue(getBucketObjectResult -> getBucketObjectResult.id()))
+     *             .s3Key(lambda.applyValue(getBucketObjectResult -> getBucketObjectResult.key()))
+     *             .s3ObjectVersion(lambda.applyValue(getBucketObjectResult -> getBucketObjectResult.versionId()))
+     *             .name("lambda_function_name")
+     *             .role(iamForLambda.arn())
+     *             .handler("exports.test")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ public static CompletableFuture getBucketObjectPlain(GetBucketObjectPlainArgs args, InvokeOptions options) { return Deployment.getInstance().invokeAsync("aws:s3/getBucketObject:getBucketObject", TypeShape.of(GetBucketObjectResult.class), args, Utilities.withVersion(options)); } @@ -1241,7 +1516,18 @@ public static CompletableFuture getBucketObjectsPlain(Ge * The objects data source returns keys (i.e., file names) and other metadata about objects in an S3 bucket. * */ - public static Output getBucketObjects(GetBucketObjectsArgs args, InvokeOptions options) { + public static Output getBucketObjects(GetBucketObjectsArgs args, InvokeOptions options) { + return Deployment.getInstance().invoke("aws:s3/getBucketObjects:getBucketObjects", TypeShape.of(GetBucketObjectsResult.class), args, Utilities.withVersion(options)); + } + /** + * > **NOTE:** The `aws.s3.getBucketObjects` data source is DEPRECATED and will be removed in a future version! Use `aws.s3.getObjects` instead, where new features and fixes will be added. + * + * > **NOTE on `max_keys`:** Retrieving very large numbers of keys can adversely affect this provider's performance. + * + * The objects data source returns keys (i.e., file names) and other metadata about objects in an S3 bucket. + * + */ + public static Output getBucketObjects(GetBucketObjectsArgs args, InvokeOutputOptions options) { return Deployment.getInstance().invoke("aws:s3/getBucketObjects:getBucketObjects", TypeShape.of(GetBucketObjectsResult.class), args, Utilities.withVersion(options)); } /** @@ -1390,6 +1676,51 @@ public static CompletableFuture getBucketPolicyPlain(GetB public static Output getBucketPolicy(GetBucketPolicyArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:s3/getBucketPolicy:getBucketPolicy", TypeShape.of(GetBucketPolicyResult.class), args, Utilities.withVersion(options)); } + /** + * The bucket policy data source returns IAM policy of an S3 bucket. + * + * ## Example Usage + * + * The following example retrieves IAM policy of a specified S3 bucket. + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.s3.S3Functions;
+     * import com.pulumi.aws.s3.inputs.GetBucketPolicyArgs;
+     * 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 = S3Functions.getBucketPolicy(GetBucketPolicyArgs.builder()
+     *             .bucket("example-bucket-name")
+     *             .build());
+     * 
+     *         ctx.export("foo", example.applyValue(getBucketPolicyResult -> getBucketPolicyResult.policy()));
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getBucketPolicy(GetBucketPolicyArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:s3/getBucketPolicy:getBucketPolicy", TypeShape.of(GetBucketPolicyResult.class), args, Utilities.withVersion(options)); + } /** * The bucket policy data source returns IAM policy of an S3 bucket. * @@ -1650,6 +1981,49 @@ public static CompletableFuture getCanonicalUserIdPlai public static Output getCanonicalUserId(InvokeArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:s3/getCanonicalUserId:getCanonicalUserId", TypeShape.of(GetCanonicalUserIdResult.class), args, Utilities.withVersion(options)); } + /** + * The Canonical User ID data source allows access to the [canonical user ID](http://docs.aws.amazon.com/general/latest/gr/acct-identifiers.html) + * for the effective account in which this provider is working. + * + * > **NOTE:** To use this data source, you must have the `s3:ListAllMyBuckets` permission. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.s3.S3Functions;
+     * 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 current = S3Functions.getCanonicalUserId();
+     * 
+     *         ctx.export("canonicalUserId", current.applyValue(getCanonicalUserIdResult -> getCanonicalUserIdResult.id()));
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getCanonicalUserId(InvokeArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:s3/getCanonicalUserId:getCanonicalUserId", TypeShape.of(GetCanonicalUserIdResult.class), args, Utilities.withVersion(options)); + } /** * The Canonical User ID data source allows access to the [canonical user ID](http://docs.aws.amazon.com/general/latest/gr/acct-identifiers.html) * for the effective account in which this provider is working. @@ -1888,6 +2262,45 @@ public static CompletableFuture getDirectoryBucketsPl public static Output getDirectoryBuckets(InvokeArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:s3/getDirectoryBuckets:getDirectoryBuckets", TypeShape.of(GetDirectoryBucketsResult.class), args, Utilities.withVersion(options)); } + /** + * Lists Amazon S3 Express directory buckets. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.s3.S3Functions;
+     * 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 = S3Functions.getDirectoryBuckets();
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getDirectoryBuckets(InvokeArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:s3/getDirectoryBuckets:getDirectoryBuckets", TypeShape.of(GetDirectoryBucketsResult.class), args, Utilities.withVersion(options)); + } /** * Lists Amazon S3 Express directory buckets. * @@ -2408,6 +2821,127 @@ public static Output getObject(GetObjectArgs args, InvokeOption * <!--End PulumiCodeChooser --> * */ + public static Output getObject(GetObjectArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:s3/getObject:getObject", TypeShape.of(GetObjectResult.class), args, Utilities.withVersion(options)); + } + /** + * The S3 object data source allows access to the metadata and + * _optionally_ (see below) content of an object stored inside S3 bucket. + * + * > **Note:** The content of an object (`body` field) is available only for objects which have a human-readable `Content-Type`: + * + * * `text/*` + * * `application/json` + * * `application/ld+json` + * * `application/x-httpd-php` + * * `application/xhtml+xml` + * * `application/x-csh` + * * `application/x-sh` + * * `application/xml` + * * `application/atom+xml` + * * `application/x-sql` + * + * This is to prevent printing unsafe characters and potentially downloading large amount of data which would be thrown away in favor of metadata. + * + * ## Example Usage + * + * The following example retrieves a text object (which must have a `Content-Type` + * value starting with `text/`) and uses it as the `user_data` for an EC2 instance: + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.s3.S3Functions;
+     * import com.pulumi.aws.s3.inputs.GetObjectArgs;
+     * import com.pulumi.aws.ec2.Instance;
+     * import com.pulumi.aws.ec2.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 bootstrapScript = S3Functions.getObject(GetObjectArgs.builder()
+     *             .bucket("ourcorp-deploy-config")
+     *             .key("ec2-bootstrap-script.sh")
+     *             .build());
+     * 
+     *         var example = new Instance("example", InstanceArgs.builder()
+     *             .instanceType("t2.micro")
+     *             .ami("ami-2757f631")
+     *             .userData(bootstrapScript.applyValue(getObjectResult -> getObjectResult.body()))
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + * The following, more-complex example retrieves only the metadata for a zip + * file stored in S3, which is then used to pass the most recent `version_id` + * to AWS Lambda for use as a function implementation. More information about + * Lambda functions is available in the documentation for + * `aws.lambda.Function`. + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.s3.S3Functions;
+     * import com.pulumi.aws.s3.inputs.GetObjectArgs;
+     * import com.pulumi.aws.lambda.Function;
+     * import com.pulumi.aws.lambda.FunctionArgs;
+     * 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 lambda = S3Functions.getObject(GetObjectArgs.builder()
+     *             .bucket("ourcorp-lambda-functions")
+     *             .key("hello-world.zip")
+     *             .build());
+     * 
+     *         var testLambda = new Function("testLambda", FunctionArgs.builder()
+     *             .s3Bucket(lambda.applyValue(getObjectResult -> getObjectResult.bucket()))
+     *             .s3Key(lambda.applyValue(getObjectResult -> getObjectResult.key()))
+     *             .s3ObjectVersion(lambda.applyValue(getObjectResult -> getObjectResult.versionId()))
+     *             .name("lambda_function_name")
+     *             .role(iamForLambda.arn())
+     *             .handler("exports.test")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ public static CompletableFuture getObjectPlain(GetObjectPlainArgs args, InvokeOptions options) { return Deployment.getInstance().invokeAsync("aws:s3/getObject:getObject", TypeShape.of(GetObjectResult.class), args, Utilities.withVersion(options)); } @@ -2438,6 +2972,15 @@ public static CompletableFuture getObjectsPlain(GetObjectsPlai public static Output getObjects(GetObjectsArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:s3/getObjects:getObjects", TypeShape.of(GetObjectsResult.class), args, Utilities.withVersion(options)); } + /** + * > **NOTE on `max_keys`:** Retrieving very large numbers of keys can adversely affect the provider's performance. + * + * The objects data source returns keys (i.e., file names) and other metadata about objects in an S3 bucket. + * + */ + public static Output getObjects(GetObjectsArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:s3/getObjects:getObjects", TypeShape.of(GetObjectsResult.class), args, Utilities.withVersion(options)); + } /** * > **NOTE on `max_keys`:** Retrieving very large numbers of keys can adversely affect the provider's performance. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/s3control/S3controlFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/s3control/S3controlFunctions.java index 78726f8056f..dd1f21fdb08 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/s3control/S3controlFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/s3control/S3controlFunctions.java @@ -11,6 +11,7 @@ import com.pulumi.core.TypeShape; import com.pulumi.deployment.Deployment; import com.pulumi.deployment.InvokeOptions; +import com.pulumi.deployment.InvokeOutputOptions; import java.util.concurrent.CompletableFuture; public final class S3controlFunctions { @@ -140,6 +141,48 @@ public static CompletableFuture getMultiRegionA public static Output getMultiRegionAccessPoint(GetMultiRegionAccessPointArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:s3control/getMultiRegionAccessPoint:getMultiRegionAccessPoint", TypeShape.of(GetMultiRegionAccessPointResult.class), args, Utilities.withVersion(options)); } + /** + * Provides details on a specific S3 Multi-Region Access Point. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.s3control.S3controlFunctions;
+     * import com.pulumi.aws.s3control.inputs.GetMultiRegionAccessPointArgs;
+     * 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 = S3controlFunctions.getMultiRegionAccessPoint(GetMultiRegionAccessPointArgs.builder()
+     *             .name("example")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getMultiRegionAccessPoint(GetMultiRegionAccessPointArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:s3control/getMultiRegionAccessPoint:getMultiRegionAccessPoint", TypeShape.of(GetMultiRegionAccessPointResult.class), args, Utilities.withVersion(options)); + } /** * Provides details on a specific S3 Multi-Region Access Point. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/sagemaker/NotebookInstance.java b/sdk/java/src/main/java/com/pulumi/aws/sagemaker/NotebookInstance.java index 53c1e43605f..6274ff6fb94 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/sagemaker/NotebookInstance.java +++ b/sdk/java/src/main/java/com/pulumi/aws/sagemaker/NotebookInstance.java @@ -278,14 +278,14 @@ public Output networkInterfaceId() { return this.networkInterfaceId; } /** - * The platform identifier of the notebook instance runtime environment. This value can be either `notebook-al1-v1`, `notebook-al2-v1`, or `notebook-al2-v2`, depending on which version of Amazon Linux you require. + * The platform identifier of the notebook instance runtime environment. This value can be either `notebook-al1-v1`, `notebook-al2-v1`, `notebook-al2-v2`, or `notebook-al2-v3`, depending on which version of Amazon Linux you require. * */ @Export(name="platformIdentifier", refs={String.class}, tree="[0]") private Output platformIdentifier; /** - * @return The platform identifier of the notebook instance runtime environment. This value can be either `notebook-al1-v1`, `notebook-al2-v1`, or `notebook-al2-v2`, depending on which version of Amazon Linux you require. + * @return The platform identifier of the notebook instance runtime environment. This value can be either `notebook-al1-v1`, `notebook-al2-v1`, `notebook-al2-v2`, or `notebook-al2-v3`, depending on which version of Amazon Linux you require. * */ public Output platformIdentifier() { diff --git a/sdk/java/src/main/java/com/pulumi/aws/sagemaker/NotebookInstanceArgs.java b/sdk/java/src/main/java/com/pulumi/aws/sagemaker/NotebookInstanceArgs.java index 1d3a595ab33..7be0d90c2e4 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/sagemaker/NotebookInstanceArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/sagemaker/NotebookInstanceArgs.java @@ -158,14 +158,14 @@ public Optional> name() { } /** - * The platform identifier of the notebook instance runtime environment. This value can be either `notebook-al1-v1`, `notebook-al2-v1`, or `notebook-al2-v2`, depending on which version of Amazon Linux you require. + * The platform identifier of the notebook instance runtime environment. This value can be either `notebook-al1-v1`, `notebook-al2-v1`, `notebook-al2-v2`, or `notebook-al2-v3`, depending on which version of Amazon Linux you require. * */ @Import(name="platformIdentifier") private @Nullable Output platformIdentifier; /** - * @return The platform identifier of the notebook instance runtime environment. This value can be either `notebook-al1-v1`, `notebook-al2-v1`, or `notebook-al2-v2`, depending on which version of Amazon Linux you require. + * @return The platform identifier of the notebook instance runtime environment. This value can be either `notebook-al1-v1`, `notebook-al2-v1`, `notebook-al2-v2`, or `notebook-al2-v3`, depending on which version of Amazon Linux you require. * */ public Optional> platformIdentifier() { @@ -514,7 +514,7 @@ public Builder name(String name) { } /** - * @param platformIdentifier The platform identifier of the notebook instance runtime environment. This value can be either `notebook-al1-v1`, `notebook-al2-v1`, or `notebook-al2-v2`, depending on which version of Amazon Linux you require. + * @param platformIdentifier The platform identifier of the notebook instance runtime environment. This value can be either `notebook-al1-v1`, `notebook-al2-v1`, `notebook-al2-v2`, or `notebook-al2-v3`, depending on which version of Amazon Linux you require. * * @return builder * @@ -525,7 +525,7 @@ public Builder platformIdentifier(@Nullable Output platformIdentifier) { } /** - * @param platformIdentifier The platform identifier of the notebook instance runtime environment. This value can be either `notebook-al1-v1`, `notebook-al2-v1`, or `notebook-al2-v2`, depending on which version of Amazon Linux you require. + * @param platformIdentifier The platform identifier of the notebook instance runtime environment. This value can be either `notebook-al1-v1`, `notebook-al2-v1`, `notebook-al2-v2`, or `notebook-al2-v3`, depending on which version of Amazon Linux you require. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/sagemaker/SagemakerFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/sagemaker/SagemakerFunctions.java index 0caa0facd83..c44409966e2 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/sagemaker/SagemakerFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/sagemaker/SagemakerFunctions.java @@ -11,6 +11,7 @@ import com.pulumi.core.TypeShape; import com.pulumi.deployment.Deployment; import com.pulumi.deployment.InvokeOptions; +import com.pulumi.deployment.InvokeOutputOptions; import java.util.concurrent.CompletableFuture; public final class SagemakerFunctions { @@ -155,6 +156,53 @@ public static CompletableFuture getPrebuiltEcrImagePl public static Output getPrebuiltEcrImage(GetPrebuiltEcrImageArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:sagemaker/getPrebuiltEcrImage:getPrebuiltEcrImage", TypeShape.of(GetPrebuiltEcrImageResult.class), args, Utilities.withVersion(options)); } + /** + * Get information about prebuilt Amazon SageMaker Docker images. + * + * > **NOTE:** The AWS provider creates a validly constructed `registry_path` but does not verify that the `registry_path` corresponds to an existing image. For example, using a `registry_path` containing an `image_tag` that does not correspond to a Docker image in the ECR repository, will result in an error. + * + * ## Example Usage + * + * Basic usage: + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.sagemaker.SagemakerFunctions;
+     * import com.pulumi.aws.sagemaker.inputs.GetPrebuiltEcrImageArgs;
+     * 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 test = SagemakerFunctions.getPrebuiltEcrImage(GetPrebuiltEcrImageArgs.builder()
+     *             .repositoryName("sagemaker-scikit-learn")
+     *             .imageTag("2.2-1.0.11.0")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getPrebuiltEcrImage(GetPrebuiltEcrImageArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:sagemaker/getPrebuiltEcrImage:getPrebuiltEcrImage", TypeShape.of(GetPrebuiltEcrImageResult.class), args, Utilities.withVersion(options)); + } /** * Get information about prebuilt Amazon SageMaker Docker images. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/sagemaker/inputs/NotebookInstanceState.java b/sdk/java/src/main/java/com/pulumi/aws/sagemaker/inputs/NotebookInstanceState.java index 4ed1a3fa242..673ab53389f 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/sagemaker/inputs/NotebookInstanceState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/sagemaker/inputs/NotebookInstanceState.java @@ -187,14 +187,14 @@ public Optional> networkInterfaceId() { } /** - * The platform identifier of the notebook instance runtime environment. This value can be either `notebook-al1-v1`, `notebook-al2-v1`, or `notebook-al2-v2`, depending on which version of Amazon Linux you require. + * The platform identifier of the notebook instance runtime environment. This value can be either `notebook-al1-v1`, `notebook-al2-v1`, `notebook-al2-v2`, or `notebook-al2-v3`, depending on which version of Amazon Linux you require. * */ @Import(name="platformIdentifier") private @Nullable Output platformIdentifier; /** - * @return The platform identifier of the notebook instance runtime environment. This value can be either `notebook-al1-v1`, `notebook-al2-v1`, or `notebook-al2-v2`, depending on which version of Amazon Linux you require. + * @return The platform identifier of the notebook instance runtime environment. This value can be either `notebook-al1-v1`, `notebook-al2-v1`, `notebook-al2-v2`, or `notebook-al2-v3`, depending on which version of Amazon Linux you require. * */ public Optional> platformIdentifier() { @@ -627,7 +627,7 @@ public Builder networkInterfaceId(String networkInterfaceId) { } /** - * @param platformIdentifier The platform identifier of the notebook instance runtime environment. This value can be either `notebook-al1-v1`, `notebook-al2-v1`, or `notebook-al2-v2`, depending on which version of Amazon Linux you require. + * @param platformIdentifier The platform identifier of the notebook instance runtime environment. This value can be either `notebook-al1-v1`, `notebook-al2-v1`, `notebook-al2-v2`, or `notebook-al2-v3`, depending on which version of Amazon Linux you require. * * @return builder * @@ -638,7 +638,7 @@ public Builder platformIdentifier(@Nullable Output platformIdentifier) { } /** - * @param platformIdentifier The platform identifier of the notebook instance runtime environment. This value can be either `notebook-al1-v1`, `notebook-al2-v1`, or `notebook-al2-v2`, depending on which version of Amazon Linux you require. + * @param platformIdentifier The platform identifier of the notebook instance runtime environment. This value can be either `notebook-al1-v1`, `notebook-al2-v1`, `notebook-al2-v2`, or `notebook-al2-v3`, depending on which version of Amazon Linux you require. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/secretsmanager/SecretsmanagerFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/secretsmanager/SecretsmanagerFunctions.java index 2bc29a4e8b7..4b82f30952e 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/secretsmanager/SecretsmanagerFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/secretsmanager/SecretsmanagerFunctions.java @@ -26,6 +26,7 @@ import com.pulumi.core.TypeShape; import com.pulumi.deployment.Deployment; import com.pulumi.deployment.InvokeOptions; +import com.pulumi.deployment.InvokeOutputOptions; import java.util.concurrent.CompletableFuture; public final class SecretsmanagerFunctions { @@ -244,6 +245,49 @@ public static CompletableFuture getRandomPasswordPlain( public static Output getRandomPassword(GetRandomPasswordArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:secretsmanager/getRandomPassword:getRandomPassword", TypeShape.of(GetRandomPasswordResult.class), args, Utilities.withVersion(options)); } + /** + * Generate a random password. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.secretsmanager.SecretsmanagerFunctions;
+     * import com.pulumi.aws.secretsmanager.inputs.GetRandomPasswordArgs;
+     * 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 test = SecretsmanagerFunctions.getRandomPassword(GetRandomPasswordArgs.builder()
+     *             .passwordLength(50)
+     *             .excludeNumbers(true)
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getRandomPassword(GetRandomPasswordArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:secretsmanager/getRandomPassword:getRandomPassword", TypeShape.of(GetRandomPasswordResult.class), args, Utilities.withVersion(options)); + } /** * Generate a random password. * @@ -682,6 +726,85 @@ public static CompletableFuture getSecretPlain(GetSecretPlainAr public static Output getSecret(GetSecretArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:secretsmanager/getSecret:getSecret", TypeShape.of(GetSecretResult.class), args, Utilities.withVersion(options)); } + /** + * Retrieve metadata information about a Secrets Manager secret. To retrieve a secret value, see the `aws.secretsmanager.SecretVersion` data source. + * + * ## Example Usage + * + * ### ARN + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.secretsmanager.SecretsmanagerFunctions;
+     * import com.pulumi.aws.secretsmanager.inputs.GetSecretArgs;
+     * 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 by-arn = SecretsmanagerFunctions.getSecret(GetSecretArgs.builder()
+     *             .arn("arn:aws:secretsmanager:us-east-1:123456789012:secret:example-123456")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + * ### Name + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.secretsmanager.SecretsmanagerFunctions;
+     * import com.pulumi.aws.secretsmanager.inputs.GetSecretArgs;
+     * 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 by-name = SecretsmanagerFunctions.getSecret(GetSecretArgs.builder()
+     *             .name("example")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getSecret(GetSecretArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:secretsmanager/getSecret:getSecret", TypeShape.of(GetSecretResult.class), args, Utilities.withVersion(options)); + } /** * Retrieve metadata information about a Secrets Manager secret. To retrieve a secret value, see the `aws.secretsmanager.SecretVersion` data source. * @@ -893,6 +1016,50 @@ public static CompletableFuture getSecretRotationPlain( public static Output getSecretRotation(GetSecretRotationArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:secretsmanager/getSecretRotation:getSecretRotation", TypeShape.of(GetSecretRotationResult.class), args, Utilities.withVersion(options)); } + /** + * Retrieve information about a Secrets Manager secret rotation. To retrieve secret metadata, see the `aws.secretsmanager.Secret` data source. To retrieve a secret value, see the `aws.secretsmanager.SecretVersion` data source. + * + * ## Example Usage + * + * ### Retrieve Secret Rotation Configuration + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.secretsmanager.SecretsmanagerFunctions;
+     * import com.pulumi.aws.secretsmanager.inputs.GetSecretRotationArgs;
+     * 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 = SecretsmanagerFunctions.getSecretRotation(GetSecretRotationArgs.builder()
+     *             .secretId(exampleAwsSecretsmanagerSecret.id())
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getSecretRotation(GetSecretRotationArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:secretsmanager/getSecretRotation:getSecretRotation", TypeShape.of(GetSecretRotationResult.class), args, Utilities.withVersion(options)); + } /** * Retrieve information about a Secrets Manager secret rotation. To retrieve secret metadata, see the `aws.secretsmanager.Secret` data source. To retrieve a secret value, see the `aws.secretsmanager.SecretVersion` data source. * @@ -1183,6 +1350,88 @@ public static CompletableFuture getSecretVersionPlain(Ge public static Output getSecretVersion(GetSecretVersionArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:secretsmanager/getSecretVersion:getSecretVersion", TypeShape.of(GetSecretVersionResult.class), args, Utilities.withVersion(options)); } + /** + * Retrieve information about a Secrets Manager secret version, including its secret value. To retrieve secret metadata, see the `aws.secretsmanager.Secret` data source. + * + * ## Example Usage + * + * ### Retrieve Current Secret Version + * + * By default, this data sources retrieves information based on the `AWSCURRENT` staging label. + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.secretsmanager.SecretsmanagerFunctions;
+     * import com.pulumi.aws.secretsmanager.inputs.GetSecretVersionArgs;
+     * 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 secret-version = SecretsmanagerFunctions.getSecretVersion(GetSecretVersionArgs.builder()
+     *             .secretId(example.id())
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + * ### Retrieve Specific Secret Version + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.secretsmanager.SecretsmanagerFunctions;
+     * import com.pulumi.aws.secretsmanager.inputs.GetSecretVersionArgs;
+     * 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 by-version-stage = SecretsmanagerFunctions.getSecretVersion(GetSecretVersionArgs.builder()
+     *             .secretId(example.id())
+     *             .versionStage("example")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getSecretVersion(GetSecretVersionArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:secretsmanager/getSecretVersion:getSecretVersion", TypeShape.of(GetSecretVersionResult.class), args, Utilities.withVersion(options)); + } /** * Retrieve information about a Secrets Manager secret version, including its secret value. To retrieve secret metadata, see the `aws.secretsmanager.Secret` data source. * @@ -1274,6 +1523,9 @@ public static CompletableFuture getSecretVersionsPlain( public static Output getSecretVersions(GetSecretVersionsArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:secretsmanager/getSecretVersions:getSecretVersions", TypeShape.of(GetSecretVersionsResult.class), args, Utilities.withVersion(options)); } + public static Output getSecretVersions(GetSecretVersionsArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:secretsmanager/getSecretVersions:getSecretVersions", TypeShape.of(GetSecretVersionsResult.class), args, Utilities.withVersion(options)); + } public static CompletableFuture getSecretVersionsPlain(GetSecretVersionsPlainArgs args, InvokeOptions options) { return Deployment.getInstance().invokeAsync("aws:secretsmanager/getSecretVersions:getSecretVersions", TypeShape.of(GetSecretVersionsResult.class), args, Utilities.withVersion(options)); } @@ -1502,6 +1754,51 @@ public static CompletableFuture getSecretsPlain(GetSecretsPlai public static Output getSecrets(GetSecretsArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:secretsmanager/getSecrets:getSecrets", TypeShape.of(GetSecretsResult.class), args, Utilities.withVersion(options)); } + /** + * Use this data source to get the ARNs and names of Secrets Manager secrets matching the specified criteria. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.secretsmanager.SecretsmanagerFunctions;
+     * import com.pulumi.aws.secretsmanager.inputs.GetSecretsArgs;
+     * 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 = SecretsmanagerFunctions.getSecrets(GetSecretsArgs.builder()
+     *             .filters(GetSecretsFilterArgs.builder()
+     *                 .name("name")
+     *                 .values("example")
+     *                 .build())
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getSecrets(GetSecretsArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:secretsmanager/getSecrets:getSecrets", TypeShape.of(GetSecretsResult.class), args, Utilities.withVersion(options)); + } /** * Use this data source to get the ARNs and names of Secrets Manager secrets matching the specified criteria. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/securityhub/SecurityhubFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/securityhub/SecurityhubFunctions.java index 44aa4afff53..7efaefe06f4 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/securityhub/SecurityhubFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/securityhub/SecurityhubFunctions.java @@ -11,6 +11,7 @@ import com.pulumi.core.TypeShape; import com.pulumi.deployment.Deployment; import com.pulumi.deployment.InvokeOptions; +import com.pulumi.deployment.InvokeOutputOptions; import java.util.concurrent.CompletableFuture; public final class SecurityhubFunctions { @@ -155,6 +156,53 @@ public static CompletableFuture getStanda public static Output getStandardsControlAssociations(GetStandardsControlAssociationsArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:securityhub/getStandardsControlAssociations:getStandardsControlAssociations", TypeShape.of(GetStandardsControlAssociationsResult.class), args, Utilities.withVersion(options)); } + /** + * Data source for managing an AWS Security Hub Standards Control Associations. + * + * ## Example Usage + * + * ### Basic Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.securityhub.Account;
+     * import com.pulumi.aws.securityhub.SecurityhubFunctions;
+     * import com.pulumi.aws.securityhub.inputs.GetStandardsControlAssociationsArgs;
+     * import java.util.List;
+     * import java.util.ArrayList;
+     * import java.util.Map;
+     * import java.io.File;
+     * import java.nio.file.Files;
+     * import java.nio.file.Paths;
+     * 
+     * public class App {
+     *     public static void main(String[] args) {
+     *         Pulumi.run(App::stack);
+     *     }
+     * 
+     *     public static void stack(Context ctx) {
+     *         var testAccount = new Account("testAccount");
+     * 
+     *         final var test = SecurityhubFunctions.getStandardsControlAssociations(GetStandardsControlAssociationsArgs.builder()
+     *             .securityControlId("IAM.1")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getStandardsControlAssociations(GetStandardsControlAssociationsArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:securityhub/getStandardsControlAssociations:getStandardsControlAssociations", TypeShape.of(GetStandardsControlAssociationsResult.class), args, Utilities.withVersion(options)); + } /** * Data source for managing an AWS Security Hub Standards Control Associations. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/serverlessrepository/ServerlessrepositoryFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/serverlessrepository/ServerlessrepositoryFunctions.java index 86be82f6f1a..d9fc23506ca 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/serverlessrepository/ServerlessrepositoryFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/serverlessrepository/ServerlessrepositoryFunctions.java @@ -11,6 +11,7 @@ import com.pulumi.core.TypeShape; import com.pulumi.deployment.Deployment; import com.pulumi.deployment.InvokeOptions; +import com.pulumi.deployment.InvokeOutputOptions; import java.util.concurrent.CompletableFuture; public final class ServerlessrepositoryFunctions { @@ -167,6 +168,57 @@ public static CompletableFuture getApplicationPlain(GetApp public static Output getApplication(GetApplicationArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:serverlessrepository/getApplication:getApplication", TypeShape.of(GetApplicationResult.class), args, Utilities.withVersion(options)); } + /** + * Use this data source to get information about an AWS Serverless Application Repository application. For example, this can be used to determine the required `capabilities` for an application. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.serverlessrepository.ServerlessrepositoryFunctions;
+     * import com.pulumi.aws.serverlessrepository.inputs.GetApplicationArgs;
+     * import com.pulumi.aws.serverlessrepository.CloudFormationStack;
+     * import com.pulumi.aws.serverlessrepository.CloudFormationStackArgs;
+     * 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 = ServerlessrepositoryFunctions.getApplication(GetApplicationArgs.builder()
+     *             .applicationId("arn:aws:serverlessrepo:us-east-1:123456789012:applications/ExampleApplication")
+     *             .build());
+     * 
+     *         var exampleCloudFormationStack = new CloudFormationStack("exampleCloudFormationStack", CloudFormationStackArgs.builder()
+     *             .name("Example")
+     *             .applicationId(example.applyValue(getApplicationResult -> getApplicationResult.applicationId()))
+     *             .semanticVersion(example.applyValue(getApplicationResult -> getApplicationResult.semanticVersion()))
+     *             .capabilities(example.applyValue(getApplicationResult -> getApplicationResult.requiredCapabilities()))
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getApplication(GetApplicationArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:serverlessrepository/getApplication:getApplication", TypeShape.of(GetApplicationResult.class), args, Utilities.withVersion(options)); + } /** * Use this data source to get information about an AWS Serverless Application Repository application. For example, this can be used to determine the required `capabilities` for an application. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/servicecatalog/AppregistryApplication.java b/sdk/java/src/main/java/com/pulumi/aws/servicecatalog/AppregistryApplication.java index 5a4c33eb346..7460ae4f37a 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/servicecatalog/AppregistryApplication.java +++ b/sdk/java/src/main/java/com/pulumi/aws/servicecatalog/AppregistryApplication.java @@ -170,6 +170,38 @@ public Output> description() { public Output name() { return this.name; } + /** + * A map of tags assigned to the Application. 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 assigned to the Application. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + */ + public Output>> tags() { + return Codegen.optional(this.tags); + } + /** + * Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + * @deprecated + * Please use `tags` instead. + * + */ + @Deprecated /* Please use `tags` instead. */ + @Export(name="tagsAll", refs={Map.class,String.class}, tree="[0,1,1]") + private Output> tagsAll; + + /** + * @return Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + */ + public Output> tagsAll() { + return this.tagsAll; + } /** * diff --git a/sdk/java/src/main/java/com/pulumi/aws/servicecatalog/AppregistryApplicationArgs.java b/sdk/java/src/main/java/com/pulumi/aws/servicecatalog/AppregistryApplicationArgs.java index 2211856e37b..d80b9326cb1 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/servicecatalog/AppregistryApplicationArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/servicecatalog/AppregistryApplicationArgs.java @@ -6,6 +6,7 @@ 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; @@ -49,11 +50,27 @@ public Optional> name() { return Optional.ofNullable(this.name); } + /** + * A map of tags assigned to the Application. 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 assigned to the Application. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + */ + public Optional>> tags() { + return Optional.ofNullable(this.tags); + } + private AppregistryApplicationArgs() {} private AppregistryApplicationArgs(AppregistryApplicationArgs $) { this.description = $.description; this.name = $.name; + this.tags = $.tags; } public static Builder builder() { @@ -120,6 +137,27 @@ public Builder name(String name) { return name(Output.of(name)); } + /** + * @param tags A map of tags assigned to the Application. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + * @return builder + * + */ + public Builder tags(@Nullable Output> tags) { + $.tags = tags; + return this; + } + + /** + * @param tags A map of tags assigned to the Application. 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 AppregistryApplicationArgs build() { return $; } diff --git a/sdk/java/src/main/java/com/pulumi/aws/servicecatalog/AppregistryAttributeGroup.java b/sdk/java/src/main/java/com/pulumi/aws/servicecatalog/AppregistryAttributeGroup.java new file mode 100644 index 00000000000..1562fc96376 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/servicecatalog/AppregistryAttributeGroup.java @@ -0,0 +1,224 @@ +// *** 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.servicecatalog; + +import com.pulumi.aws.Utilities; +import com.pulumi.aws.servicecatalog.AppregistryAttributeGroupArgs; +import com.pulumi.aws.servicecatalog.inputs.AppregistryAttributeGroupState; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Export; +import com.pulumi.core.annotations.ResourceType; +import com.pulumi.core.internal.Codegen; +import java.lang.String; +import java.util.Map; +import java.util.Optional; +import javax.annotation.Nullable; + +/** + * Resource for managing an AWS Service Catalog AppRegistry Attribute Group. + * + * ## Example Usage + * + * ### Basic Usage + * + * <!--Start PulumiCodeChooser --> + *
+ * {@code
+ * package generated_program;
+ * 
+ * import com.pulumi.Context;
+ * import com.pulumi.Pulumi;
+ * import com.pulumi.core.Output;
+ * import com.pulumi.aws.servicecatalog.AppregistryAttributeGroup;
+ * import com.pulumi.aws.servicecatalog.AppregistryAttributeGroupArgs;
+ * 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 example = new AppregistryAttributeGroup("example", AppregistryAttributeGroupArgs.builder()
+ *             .name("example")
+ *             .description("example description")
+ *             .attributes(serializeJson(
+ *                 jsonObject(
+ *                     jsonProperty("app", "exampleapp"),
+ *                     jsonProperty("group", "examplegroup")
+ *                 )))
+ *             .build());
+ * 
+ *     }
+ * }
+ * }
+ * 
+ * <!--End PulumiCodeChooser --> + * + * ## Import + * + * Using `pulumi import`, import Service Catalog AppRegistry Attribute Group using the `id`. For example: + * + * ```sh + * $ pulumi import aws:servicecatalog/appregistryAttributeGroup:AppregistryAttributeGroup example 1234567890abcfedhijk09876s + * ``` + * + */ +@ResourceType(type="aws:servicecatalog/appregistryAttributeGroup:AppregistryAttributeGroup") +public class AppregistryAttributeGroup extends com.pulumi.resources.CustomResource { + /** + * ARN of the Attribute Group. + * + */ + @Export(name="arn", refs={String.class}, tree="[0]") + private Output arn; + + /** + * @return ARN of the Attribute Group. + * + */ + public Output arn() { + return this.arn; + } + /** + * A JSON string of nested key-value pairs that represents the attributes of the group. + * + * The following arguments are optional: + * + */ + @Export(name="attributes", refs={String.class}, tree="[0]") + private Output attributes; + + /** + * @return A JSON string of nested key-value pairs that represents the attributes of the group. + * + * The following arguments are optional: + * + */ + public Output attributes() { + return this.attributes; + } + /** + * Description of the Attribute Group. + * + */ + @Export(name="description", refs={String.class}, tree="[0]") + private Output description; + + /** + * @return Description of the Attribute Group. + * + */ + public Output> description() { + return Codegen.optional(this.description); + } + /** + * Name of the Attribute Group. + * + */ + @Export(name="name", refs={String.class}, tree="[0]") + private Output name; + + /** + * @return Name of the Attribute Group. + * + */ + public Output name() { + return this.name; + } + /** + * A map of tags assigned to the Attribute Group. 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 assigned to the Attribute Group. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + */ + public Output>> tags() { + return Codegen.optional(this.tags); + } + /** + * A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + * @deprecated + * Please use `tags` instead. + * + */ + @Deprecated /* Please use `tags` instead. */ + @Export(name="tagsAll", refs={Map.class,String.class}, tree="[0,1,1]") + private Output> tagsAll; + + /** + * @return A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + */ + public Output> tagsAll() { + return this.tagsAll; + } + + /** + * + * @param name The _unique_ name of the resulting resource. + */ + public AppregistryAttributeGroup(java.lang.String name) { + this(name, AppregistryAttributeGroupArgs.Empty); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + */ + public AppregistryAttributeGroup(java.lang.String name, AppregistryAttributeGroupArgs 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 AppregistryAttributeGroup(java.lang.String name, AppregistryAttributeGroupArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("aws:servicecatalog/appregistryAttributeGroup:AppregistryAttributeGroup", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false); + } + + private AppregistryAttributeGroup(java.lang.String name, Output id, @Nullable AppregistryAttributeGroupState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("aws:servicecatalog/appregistryAttributeGroup:AppregistryAttributeGroup", name, state, makeResourceOptions(options, id), false); + } + + private static AppregistryAttributeGroupArgs makeArgs(AppregistryAttributeGroupArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + if (options != null && options.getUrn().isPresent()) { + return null; + } + return args == null ? AppregistryAttributeGroupArgs.Empty : args; + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() + .version(Utilities.getVersion()) + .build(); + return com.pulumi.resources.CustomResourceOptions.merge(defaultOptions, options, id); + } + + /** + * Get an existing Host resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param state + * @param options Optional settings to control the behavior of the CustomResource. + */ + public static AppregistryAttributeGroup get(java.lang.String name, Output id, @Nullable AppregistryAttributeGroupState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + return new AppregistryAttributeGroup(name, id, state, options); + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/servicecatalog/AppregistryAttributeGroupArgs.java b/sdk/java/src/main/java/com/pulumi/aws/servicecatalog/AppregistryAttributeGroupArgs.java new file mode 100644 index 00000000000..dbd99f23755 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/servicecatalog/AppregistryAttributeGroupArgs.java @@ -0,0 +1,207 @@ +// *** 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.servicecatalog; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class AppregistryAttributeGroupArgs extends com.pulumi.resources.ResourceArgs { + + public static final AppregistryAttributeGroupArgs Empty = new AppregistryAttributeGroupArgs(); + + /** + * A JSON string of nested key-value pairs that represents the attributes of the group. + * + * The following arguments are optional: + * + */ + @Import(name="attributes", required=true) + private Output attributes; + + /** + * @return A JSON string of nested key-value pairs that represents the attributes of the group. + * + * The following arguments are optional: + * + */ + public Output attributes() { + return this.attributes; + } + + /** + * Description of the Attribute Group. + * + */ + @Import(name="description") + private @Nullable Output description; + + /** + * @return Description of the Attribute Group. + * + */ + public Optional> description() { + return Optional.ofNullable(this.description); + } + + /** + * Name of the Attribute Group. + * + */ + @Import(name="name") + private @Nullable Output name; + + /** + * @return Name of the Attribute Group. + * + */ + public Optional> name() { + return Optional.ofNullable(this.name); + } + + /** + * A map of tags assigned to the Attribute Group. 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 assigned to the Attribute Group. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + */ + public Optional>> tags() { + return Optional.ofNullable(this.tags); + } + + private AppregistryAttributeGroupArgs() {} + + private AppregistryAttributeGroupArgs(AppregistryAttributeGroupArgs $) { + this.attributes = $.attributes; + this.description = $.description; + this.name = $.name; + this.tags = $.tags; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(AppregistryAttributeGroupArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private AppregistryAttributeGroupArgs $; + + public Builder() { + $ = new AppregistryAttributeGroupArgs(); + } + + public Builder(AppregistryAttributeGroupArgs defaults) { + $ = new AppregistryAttributeGroupArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param attributes A JSON string of nested key-value pairs that represents the attributes of the group. + * + * The following arguments are optional: + * + * @return builder + * + */ + public Builder attributes(Output attributes) { + $.attributes = attributes; + return this; + } + + /** + * @param attributes A JSON string of nested key-value pairs that represents the attributes of the group. + * + * The following arguments are optional: + * + * @return builder + * + */ + public Builder attributes(String attributes) { + return attributes(Output.of(attributes)); + } + + /** + * @param description Description of the Attribute Group. + * + * @return builder + * + */ + public Builder description(@Nullable Output description) { + $.description = description; + return this; + } + + /** + * @param description Description of the Attribute Group. + * + * @return builder + * + */ + public Builder description(String description) { + return description(Output.of(description)); + } + + /** + * @param name Name of the Attribute Group. + * + * @return builder + * + */ + public Builder name(@Nullable Output name) { + $.name = name; + return this; + } + + /** + * @param name Name of the Attribute Group. + * + * @return builder + * + */ + public Builder name(String name) { + return name(Output.of(name)); + } + + /** + * @param tags A map of tags assigned to the Attribute Group. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + * @return builder + * + */ + public Builder tags(@Nullable Output> tags) { + $.tags = tags; + return this; + } + + /** + * @param tags A map of tags assigned to the Attribute Group. 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 AppregistryAttributeGroupArgs build() { + if ($.attributes == null) { + throw new MissingRequiredPropertyException("AppregistryAttributeGroupArgs", "attributes"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/servicecatalog/AppregistryAttributeGroupAssociation.java b/sdk/java/src/main/java/com/pulumi/aws/servicecatalog/AppregistryAttributeGroupAssociation.java new file mode 100644 index 00000000000..6182d056e5a --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/servicecatalog/AppregistryAttributeGroupAssociation.java @@ -0,0 +1,171 @@ +// *** 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.servicecatalog; + +import com.pulumi.aws.Utilities; +import com.pulumi.aws.servicecatalog.AppregistryAttributeGroupAssociationArgs; +import com.pulumi.aws.servicecatalog.inputs.AppregistryAttributeGroupAssociationState; +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 javax.annotation.Nullable; + +/** + * Resource for managing an AWS Service Catalog AppRegistry Attribute Group Association. + * + * ## Example Usage + * + * ### Basic Usage + * + * <!--Start PulumiCodeChooser --> + *
+ * {@code
+ * package generated_program;
+ * 
+ * import com.pulumi.Context;
+ * import com.pulumi.Pulumi;
+ * import com.pulumi.core.Output;
+ * import com.pulumi.aws.servicecatalog.AppregistryApplication;
+ * import com.pulumi.aws.servicecatalog.AppregistryApplicationArgs;
+ * import com.pulumi.aws.servicecatalog.AppregistryAttributeGroup;
+ * import com.pulumi.aws.servicecatalog.AppregistryAttributeGroupArgs;
+ * import com.pulumi.aws.servicecatalog.AppregistryAttributeGroupAssociation;
+ * import com.pulumi.aws.servicecatalog.AppregistryAttributeGroupAssociationArgs;
+ * 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 example = new AppregistryApplication("example", AppregistryApplicationArgs.builder()
+ *             .name("example-app")
+ *             .build());
+ * 
+ *         var exampleAppregistryAttributeGroup = new AppregistryAttributeGroup("exampleAppregistryAttributeGroup", AppregistryAttributeGroupArgs.builder()
+ *             .name("example")
+ *             .description("example description")
+ *             .attributes(serializeJson(
+ *                 jsonObject(
+ *                     jsonProperty("app", "exampleapp"),
+ *                     jsonProperty("group", "examplegroup")
+ *                 )))
+ *             .build());
+ * 
+ *         var exampleAppregistryAttributeGroupAssociation = new AppregistryAttributeGroupAssociation("exampleAppregistryAttributeGroupAssociation", AppregistryAttributeGroupAssociationArgs.builder()
+ *             .applicationId(example.id())
+ *             .attributeGroupId(exampleAppregistryAttributeGroup.id())
+ *             .build());
+ * 
+ *     }
+ * }
+ * }
+ * 
+ * <!--End PulumiCodeChooser --> + * + * ## Import + * + * Using `pulumi import`, import Service Catalog AppRegistry Attribute Group Association using `application_id` and `attribute_group_id` arguments separated by a comma (`,`). For example: + * + * ```sh + * $ pulumi import aws:servicecatalog/appregistryAttributeGroupAssociation:AppregistryAttributeGroupAssociation example 12456778723424sdffsdfsdq34,12234t3564dsfsdf34asff4ww3 + * ``` + * + */ +@ResourceType(type="aws:servicecatalog/appregistryAttributeGroupAssociation:AppregistryAttributeGroupAssociation") +public class AppregistryAttributeGroupAssociation extends com.pulumi.resources.CustomResource { + /** + * ID of the application. + * + */ + @Export(name="applicationId", refs={String.class}, tree="[0]") + private Output applicationId; + + /** + * @return ID of the application. + * + */ + public Output applicationId() { + return this.applicationId; + } + /** + * ID of the attribute group to associate with the application. + * + */ + @Export(name="attributeGroupId", refs={String.class}, tree="[0]") + private Output attributeGroupId; + + /** + * @return ID of the attribute group to associate with the application. + * + */ + public Output attributeGroupId() { + return this.attributeGroupId; + } + + /** + * + * @param name The _unique_ name of the resulting resource. + */ + public AppregistryAttributeGroupAssociation(java.lang.String name) { + this(name, AppregistryAttributeGroupAssociationArgs.Empty); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + */ + public AppregistryAttributeGroupAssociation(java.lang.String name, AppregistryAttributeGroupAssociationArgs 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 AppregistryAttributeGroupAssociation(java.lang.String name, AppregistryAttributeGroupAssociationArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("aws:servicecatalog/appregistryAttributeGroupAssociation:AppregistryAttributeGroupAssociation", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false); + } + + private AppregistryAttributeGroupAssociation(java.lang.String name, Output id, @Nullable AppregistryAttributeGroupAssociationState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("aws:servicecatalog/appregistryAttributeGroupAssociation:AppregistryAttributeGroupAssociation", name, state, makeResourceOptions(options, id), false); + } + + private static AppregistryAttributeGroupAssociationArgs makeArgs(AppregistryAttributeGroupAssociationArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + if (options != null && options.getUrn().isPresent()) { + return null; + } + return args == null ? AppregistryAttributeGroupAssociationArgs.Empty : args; + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() + .version(Utilities.getVersion()) + .build(); + return com.pulumi.resources.CustomResourceOptions.merge(defaultOptions, options, id); + } + + /** + * Get an existing Host resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param state + * @param options Optional settings to control the behavior of the CustomResource. + */ + public static AppregistryAttributeGroupAssociation get(java.lang.String name, Output id, @Nullable AppregistryAttributeGroupAssociationState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + return new AppregistryAttributeGroupAssociation(name, id, state, options); + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/servicecatalog/AppregistryAttributeGroupAssociationArgs.java b/sdk/java/src/main/java/com/pulumi/aws/servicecatalog/AppregistryAttributeGroupAssociationArgs.java new file mode 100644 index 00000000000..d463707defb --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/servicecatalog/AppregistryAttributeGroupAssociationArgs.java @@ -0,0 +1,125 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.servicecatalog; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; + + +public final class AppregistryAttributeGroupAssociationArgs extends com.pulumi.resources.ResourceArgs { + + public static final AppregistryAttributeGroupAssociationArgs Empty = new AppregistryAttributeGroupAssociationArgs(); + + /** + * ID of the application. + * + */ + @Import(name="applicationId", required=true) + private Output applicationId; + + /** + * @return ID of the application. + * + */ + public Output applicationId() { + return this.applicationId; + } + + /** + * ID of the attribute group to associate with the application. + * + */ + @Import(name="attributeGroupId", required=true) + private Output attributeGroupId; + + /** + * @return ID of the attribute group to associate with the application. + * + */ + public Output attributeGroupId() { + return this.attributeGroupId; + } + + private AppregistryAttributeGroupAssociationArgs() {} + + private AppregistryAttributeGroupAssociationArgs(AppregistryAttributeGroupAssociationArgs $) { + this.applicationId = $.applicationId; + this.attributeGroupId = $.attributeGroupId; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(AppregistryAttributeGroupAssociationArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private AppregistryAttributeGroupAssociationArgs $; + + public Builder() { + $ = new AppregistryAttributeGroupAssociationArgs(); + } + + public Builder(AppregistryAttributeGroupAssociationArgs defaults) { + $ = new AppregistryAttributeGroupAssociationArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param applicationId ID of the application. + * + * @return builder + * + */ + public Builder applicationId(Output applicationId) { + $.applicationId = applicationId; + return this; + } + + /** + * @param applicationId ID of the application. + * + * @return builder + * + */ + public Builder applicationId(String applicationId) { + return applicationId(Output.of(applicationId)); + } + + /** + * @param attributeGroupId ID of the attribute group to associate with the application. + * + * @return builder + * + */ + public Builder attributeGroupId(Output attributeGroupId) { + $.attributeGroupId = attributeGroupId; + return this; + } + + /** + * @param attributeGroupId ID of the attribute group to associate with the application. + * + * @return builder + * + */ + public Builder attributeGroupId(String attributeGroupId) { + return attributeGroupId(Output.of(attributeGroupId)); + } + + public AppregistryAttributeGroupAssociationArgs build() { + if ($.applicationId == null) { + throw new MissingRequiredPropertyException("AppregistryAttributeGroupAssociationArgs", "applicationId"); + } + if ($.attributeGroupId == null) { + throw new MissingRequiredPropertyException("AppregistryAttributeGroupAssociationArgs", "attributeGroupId"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/servicecatalog/ServicecatalogFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/servicecatalog/ServicecatalogFunctions.java index 7d586a3555b..35aa8344728 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/servicecatalog/ServicecatalogFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/servicecatalog/ServicecatalogFunctions.java @@ -6,6 +6,8 @@ import com.pulumi.aws.Utilities; import com.pulumi.aws.servicecatalog.inputs.GetAppregistryApplicationArgs; import com.pulumi.aws.servicecatalog.inputs.GetAppregistryApplicationPlainArgs; +import com.pulumi.aws.servicecatalog.inputs.GetAppregistryAttributeGroupArgs; +import com.pulumi.aws.servicecatalog.inputs.GetAppregistryAttributeGroupPlainArgs; import com.pulumi.aws.servicecatalog.inputs.GetConstraintArgs; import com.pulumi.aws.servicecatalog.inputs.GetConstraintPlainArgs; import com.pulumi.aws.servicecatalog.inputs.GetLaunchPathsArgs; @@ -19,6 +21,7 @@ import com.pulumi.aws.servicecatalog.inputs.GetProvisioningArtifactsArgs; import com.pulumi.aws.servicecatalog.inputs.GetProvisioningArtifactsPlainArgs; import com.pulumi.aws.servicecatalog.outputs.GetAppregistryApplicationResult; +import com.pulumi.aws.servicecatalog.outputs.GetAppregistryAttributeGroupResult; import com.pulumi.aws.servicecatalog.outputs.GetConstraintResult; import com.pulumi.aws.servicecatalog.outputs.GetLaunchPathsResult; import com.pulumi.aws.servicecatalog.outputs.GetPortfolioConstraintsResult; @@ -29,6 +32,7 @@ import com.pulumi.core.TypeShape; import com.pulumi.deployment.Deployment; import com.pulumi.deployment.InvokeOptions; +import com.pulumi.deployment.InvokeOutputOptions; import java.util.concurrent.CompletableFuture; public final class ServicecatalogFunctions { @@ -164,6 +168,50 @@ public static CompletableFuture getAppregistryA public static Output getAppregistryApplication(GetAppregistryApplicationArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:servicecatalog/getAppregistryApplication:getAppregistryApplication", TypeShape.of(GetAppregistryApplicationResult.class), args, Utilities.withVersion(options)); } + /** + * Data source for managing an AWS Service Catalog AppRegistry Application. + * + * ## Example Usage + * + * ### Basic Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.servicecatalog.ServicecatalogFunctions;
+     * import com.pulumi.aws.servicecatalog.inputs.GetAppregistryApplicationArgs;
+     * 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 = ServicecatalogFunctions.getAppregistryApplication(GetAppregistryApplicationArgs.builder()
+     *             .id("application-1234")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getAppregistryApplication(GetAppregistryApplicationArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:servicecatalog/getAppregistryApplication:getAppregistryApplication", TypeShape.of(GetAppregistryApplicationResult.class), args, Utilities.withVersion(options)); + } /** * Data source for managing an AWS Service Catalog AppRegistry Application. * @@ -208,6 +256,359 @@ public static Output getAppregistryApplication( public static CompletableFuture getAppregistryApplicationPlain(GetAppregistryApplicationPlainArgs args, InvokeOptions options) { return Deployment.getInstance().invokeAsync("aws:servicecatalog/getAppregistryApplication:getAppregistryApplication", TypeShape.of(GetAppregistryApplicationResult.class), args, Utilities.withVersion(options)); } + /** + * Data source for managing an AWS Service Catalog AppRegistry Attribute Group. + * + * ## Example Usage + * + * ### Basic Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.servicecatalog.ServicecatalogFunctions;
+     * import com.pulumi.aws.servicecatalog.inputs.GetAppregistryAttributeGroupArgs;
+     * 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 = ServicecatalogFunctions.getAppregistryAttributeGroup(GetAppregistryAttributeGroupArgs.builder()
+     *             .name("example_attribute_group")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getAppregistryAttributeGroup() { + return getAppregistryAttributeGroup(GetAppregistryAttributeGroupArgs.Empty, InvokeOptions.Empty); + } + /** + * Data source for managing an AWS Service Catalog AppRegistry Attribute Group. + * + * ## Example Usage + * + * ### Basic Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.servicecatalog.ServicecatalogFunctions;
+     * import com.pulumi.aws.servicecatalog.inputs.GetAppregistryAttributeGroupArgs;
+     * 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 = ServicecatalogFunctions.getAppregistryAttributeGroup(GetAppregistryAttributeGroupArgs.builder()
+     *             .name("example_attribute_group")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static CompletableFuture getAppregistryAttributeGroupPlain() { + return getAppregistryAttributeGroupPlain(GetAppregistryAttributeGroupPlainArgs.Empty, InvokeOptions.Empty); + } + /** + * Data source for managing an AWS Service Catalog AppRegistry Attribute Group. + * + * ## Example Usage + * + * ### Basic Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.servicecatalog.ServicecatalogFunctions;
+     * import com.pulumi.aws.servicecatalog.inputs.GetAppregistryAttributeGroupArgs;
+     * 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 = ServicecatalogFunctions.getAppregistryAttributeGroup(GetAppregistryAttributeGroupArgs.builder()
+     *             .name("example_attribute_group")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getAppregistryAttributeGroup(GetAppregistryAttributeGroupArgs args) { + return getAppregistryAttributeGroup(args, InvokeOptions.Empty); + } + /** + * Data source for managing an AWS Service Catalog AppRegistry Attribute Group. + * + * ## Example Usage + * + * ### Basic Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.servicecatalog.ServicecatalogFunctions;
+     * import com.pulumi.aws.servicecatalog.inputs.GetAppregistryAttributeGroupArgs;
+     * 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 = ServicecatalogFunctions.getAppregistryAttributeGroup(GetAppregistryAttributeGroupArgs.builder()
+     *             .name("example_attribute_group")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static CompletableFuture getAppregistryAttributeGroupPlain(GetAppregistryAttributeGroupPlainArgs args) { + return getAppregistryAttributeGroupPlain(args, InvokeOptions.Empty); + } + /** + * Data source for managing an AWS Service Catalog AppRegistry Attribute Group. + * + * ## Example Usage + * + * ### Basic Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.servicecatalog.ServicecatalogFunctions;
+     * import com.pulumi.aws.servicecatalog.inputs.GetAppregistryAttributeGroupArgs;
+     * 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 = ServicecatalogFunctions.getAppregistryAttributeGroup(GetAppregistryAttributeGroupArgs.builder()
+     *             .name("example_attribute_group")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getAppregistryAttributeGroup(GetAppregistryAttributeGroupArgs args, InvokeOptions options) { + return Deployment.getInstance().invoke("aws:servicecatalog/getAppregistryAttributeGroup:getAppregistryAttributeGroup", TypeShape.of(GetAppregistryAttributeGroupResult.class), args, Utilities.withVersion(options)); + } + /** + * Data source for managing an AWS Service Catalog AppRegistry Attribute Group. + * + * ## Example Usage + * + * ### Basic Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.servicecatalog.ServicecatalogFunctions;
+     * import com.pulumi.aws.servicecatalog.inputs.GetAppregistryAttributeGroupArgs;
+     * 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 = ServicecatalogFunctions.getAppregistryAttributeGroup(GetAppregistryAttributeGroupArgs.builder()
+     *             .name("example_attribute_group")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getAppregistryAttributeGroup(GetAppregistryAttributeGroupArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:servicecatalog/getAppregistryAttributeGroup:getAppregistryAttributeGroup", TypeShape.of(GetAppregistryAttributeGroupResult.class), args, Utilities.withVersion(options)); + } + /** + * Data source for managing an AWS Service Catalog AppRegistry Attribute Group. + * + * ## Example Usage + * + * ### Basic Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.servicecatalog.ServicecatalogFunctions;
+     * import com.pulumi.aws.servicecatalog.inputs.GetAppregistryAttributeGroupArgs;
+     * 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 = ServicecatalogFunctions.getAppregistryAttributeGroup(GetAppregistryAttributeGroupArgs.builder()
+     *             .name("example_attribute_group")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static CompletableFuture getAppregistryAttributeGroupPlain(GetAppregistryAttributeGroupPlainArgs args, InvokeOptions options) { + return Deployment.getInstance().invokeAsync("aws:servicecatalog/getAppregistryAttributeGroup:getAppregistryAttributeGroup", TypeShape.of(GetAppregistryAttributeGroupResult.class), args, Utilities.withVersion(options)); + } + /** + * Provides information on a Service Catalog Constraint. + * + * ## Example Usage + * + * ### Basic Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.servicecatalog.ServicecatalogFunctions;
+     * import com.pulumi.aws.servicecatalog.inputs.GetConstraintArgs;
+     * 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 = ServicecatalogFunctions.getConstraint(GetConstraintArgs.builder()
+     *             .acceptLanguage("en")
+     *             .id("cons-hrvy0335")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getConstraint(GetConstraintArgs args) { + return getConstraint(args, InvokeOptions.Empty); + } /** * Provides information on a Service Catalog Constraint. * @@ -250,8 +651,8 @@ public static CompletableFuture getAppregistryA * <!--End PulumiCodeChooser --> * */ - public static Output getConstraint(GetConstraintArgs args) { - return getConstraint(args, InvokeOptions.Empty); + public static CompletableFuture getConstraintPlain(GetConstraintPlainArgs args) { + return getConstraintPlain(args, InvokeOptions.Empty); } /** * Provides information on a Service Catalog Constraint. @@ -295,8 +696,8 @@ public static Output getConstraint(GetConstraintArgs args) * <!--End PulumiCodeChooser --> * */ - public static CompletableFuture getConstraintPlain(GetConstraintPlainArgs args) { - return getConstraintPlain(args, InvokeOptions.Empty); + public static Output getConstraint(GetConstraintArgs args, InvokeOptions options) { + return Deployment.getInstance().invoke("aws:servicecatalog/getConstraint:getConstraint", TypeShape.of(GetConstraintResult.class), args, Utilities.withVersion(options)); } /** * Provides information on a Service Catalog Constraint. @@ -340,7 +741,7 @@ public static CompletableFuture getConstraintPlain(GetConst * <!--End PulumiCodeChooser --> * */ - public static Output getConstraint(GetConstraintArgs args, InvokeOptions options) { + public static Output getConstraint(GetConstraintArgs args, InvokeOutputOptions options) { return Deployment.getInstance().invoke("aws:servicecatalog/getConstraint:getConstraint", TypeShape.of(GetConstraintResult.class), args, Utilities.withVersion(options)); } /** @@ -520,6 +921,50 @@ public static CompletableFuture getLaunchPathsPlain(GetLau public static Output getLaunchPaths(GetLaunchPathsArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:servicecatalog/getLaunchPaths:getLaunchPaths", TypeShape.of(GetLaunchPathsResult.class), args, Utilities.withVersion(options)); } + /** + * Lists the paths to the specified product. A path is how the user has access to a specified product, and is necessary when provisioning a product. A path also determines the constraints put on the product. + * + * ## Example Usage + * + * ### Basic Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.servicecatalog.ServicecatalogFunctions;
+     * import com.pulumi.aws.servicecatalog.inputs.GetLaunchPathsArgs;
+     * 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 = ServicecatalogFunctions.getLaunchPaths(GetLaunchPathsArgs.builder()
+     *             .productId("prod-yakog5pdriver")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getLaunchPaths(GetLaunchPathsArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:servicecatalog/getLaunchPaths:getLaunchPaths", TypeShape.of(GetLaunchPathsResult.class), args, Utilities.withVersion(options)); + } /** * Lists the paths to the specified product. A path is how the user has access to a specified product, and is necessary when provisioning a product. A path also determines the constraints put on the product. * @@ -690,6 +1135,48 @@ public static CompletableFuture getPortfolioPlain(GetPortfol public static Output getPortfolio(GetPortfolioArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:servicecatalog/getPortfolio:getPortfolio", TypeShape.of(GetPortfolioResult.class), args, Utilities.withVersion(options)); } + /** + * Provides information for a Service Catalog Portfolio. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.servicecatalog.ServicecatalogFunctions;
+     * import com.pulumi.aws.servicecatalog.inputs.GetPortfolioArgs;
+     * 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 portfolio = ServicecatalogFunctions.getPortfolio(GetPortfolioArgs.builder()
+     *             .id("port-07052002")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getPortfolio(GetPortfolioArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:servicecatalog/getPortfolio:getPortfolio", TypeShape.of(GetPortfolioResult.class), args, Utilities.withVersion(options)); + } /** * Provides information for a Service Catalog Portfolio. * @@ -864,6 +1351,50 @@ public static CompletableFuture getPortfolioConst public static Output getPortfolioConstraints(GetPortfolioConstraintsArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:servicecatalog/getPortfolioConstraints:getPortfolioConstraints", TypeShape.of(GetPortfolioConstraintsResult.class), args, Utilities.withVersion(options)); } + /** + * Provides information on Service Catalog Portfolio Constraints. + * + * ## Example Usage + * + * ### Basic Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.servicecatalog.ServicecatalogFunctions;
+     * import com.pulumi.aws.servicecatalog.inputs.GetPortfolioConstraintsArgs;
+     * 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 = ServicecatalogFunctions.getPortfolioConstraints(GetPortfolioConstraintsArgs.builder()
+     *             .portfolioId("port-3lli3b3an")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getPortfolioConstraints(GetPortfolioConstraintsArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:servicecatalog/getPortfolioConstraints:getPortfolioConstraints", TypeShape.of(GetPortfolioConstraintsResult.class), args, Utilities.withVersion(options)); + } /** * Provides information on Service Catalog Portfolio Constraints. * @@ -1046,6 +1577,52 @@ public static CompletableFuture getProductPlain(GetProductPlai public static Output getProduct(GetProductArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:servicecatalog/getProduct:getProduct", TypeShape.of(GetProductResult.class), args, Utilities.withVersion(options)); } + /** + * Use this data source to retrieve information about a Service Catalog product. + * + * > **NOTE:** A "provisioning artifact" is also known as a "version," and a "distributor" is also known as a "vendor." + * + * ## Example Usage + * + * ### Basic Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.servicecatalog.ServicecatalogFunctions;
+     * import com.pulumi.aws.servicecatalog.inputs.GetProductArgs;
+     * 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 = ServicecatalogFunctions.getProduct(GetProductArgs.builder()
+     *             .id("prod-dnigbtea24ste")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getProduct(GetProductArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:servicecatalog/getProduct:getProduct", TypeShape.of(GetProductResult.class), args, Utilities.withVersion(options)); + } /** * Use this data source to retrieve information about a Service Catalog product. * @@ -1224,6 +1801,50 @@ public static CompletableFuture getProvisioningA public static Output getProvisioningArtifacts(GetProvisioningArtifactsArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:servicecatalog/getProvisioningArtifacts:getProvisioningArtifacts", TypeShape.of(GetProvisioningArtifactsResult.class), args, Utilities.withVersion(options)); } + /** + * Lists the provisioning artifacts for the specified product. + * + * ## Example Usage + * + * ### Basic Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.servicecatalog.ServicecatalogFunctions;
+     * import com.pulumi.aws.servicecatalog.inputs.GetProvisioningArtifactsArgs;
+     * 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 = ServicecatalogFunctions.getProvisioningArtifacts(GetProvisioningArtifactsArgs.builder()
+     *             .productId("prod-yakog5pdriver")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getProvisioningArtifacts(GetProvisioningArtifactsArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:servicecatalog/getProvisioningArtifacts:getProvisioningArtifacts", TypeShape.of(GetProvisioningArtifactsResult.class), args, Utilities.withVersion(options)); + } /** * Lists the provisioning artifacts for the specified product. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/servicecatalog/inputs/AppregistryApplicationState.java b/sdk/java/src/main/java/com/pulumi/aws/servicecatalog/inputs/AppregistryApplicationState.java index 49909077539..6bada1efffb 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/servicecatalog/inputs/AppregistryApplicationState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/servicecatalog/inputs/AppregistryApplicationState.java @@ -80,6 +80,44 @@ public Optional> name() { return Optional.ofNullable(this.name); } + /** + * A map of tags assigned to the Application. 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 assigned to the Application. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + */ + public Optional>> tags() { + return Optional.ofNullable(this.tags); + } + + /** + * Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + * @deprecated + * Please use `tags` instead. + * + */ + @Deprecated /* Please use `tags` instead. */ + @Import(name="tagsAll") + private @Nullable Output> tagsAll; + + /** + * @return Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + * @deprecated + * Please use `tags` instead. + * + */ + @Deprecated /* Please use `tags` instead. */ + public Optional>> tagsAll() { + return Optional.ofNullable(this.tagsAll); + } + private AppregistryApplicationState() {} private AppregistryApplicationState(AppregistryApplicationState $) { @@ -87,6 +125,8 @@ private AppregistryApplicationState(AppregistryApplicationState $) { this.arn = $.arn; this.description = $.description; this.name = $.name; + this.tags = $.tags; + this.tagsAll = $.tagsAll; } public static Builder builder() { @@ -195,6 +235,56 @@ public Builder name(String name) { return name(Output.of(name)); } + /** + * @param tags A map of tags assigned to the Application. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + * @return builder + * + */ + public Builder tags(@Nullable Output> tags) { + $.tags = tags; + return this; + } + + /** + * @param tags A map of tags assigned to the Application. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + * @return builder + * + */ + public Builder tags(Map tags) { + return tags(Output.of(tags)); + } + + /** + * @param tagsAll Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + * @return builder + * + * @deprecated + * Please use `tags` instead. + * + */ + @Deprecated /* Please use `tags` instead. */ + public Builder tagsAll(@Nullable Output> tagsAll) { + $.tagsAll = tagsAll; + return this; + } + + /** + * @param tagsAll Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + * @return builder + * + * @deprecated + * Please use `tags` instead. + * + */ + @Deprecated /* Please use `tags` instead. */ + public Builder tagsAll(Map tagsAll) { + return tagsAll(Output.of(tagsAll)); + } + public AppregistryApplicationState build() { return $; } diff --git a/sdk/java/src/main/java/com/pulumi/aws/servicecatalog/inputs/AppregistryAttributeGroupAssociationState.java b/sdk/java/src/main/java/com/pulumi/aws/servicecatalog/inputs/AppregistryAttributeGroupAssociationState.java new file mode 100644 index 00000000000..3bd12f070f6 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/servicecatalog/inputs/AppregistryAttributeGroupAssociationState.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.servicecatalog.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 AppregistryAttributeGroupAssociationState extends com.pulumi.resources.ResourceArgs { + + public static final AppregistryAttributeGroupAssociationState Empty = new AppregistryAttributeGroupAssociationState(); + + /** + * ID of the application. + * + */ + @Import(name="applicationId") + private @Nullable Output applicationId; + + /** + * @return ID of the application. + * + */ + public Optional> applicationId() { + return Optional.ofNullable(this.applicationId); + } + + /** + * ID of the attribute group to associate with the application. + * + */ + @Import(name="attributeGroupId") + private @Nullable Output attributeGroupId; + + /** + * @return ID of the attribute group to associate with the application. + * + */ + public Optional> attributeGroupId() { + return Optional.ofNullable(this.attributeGroupId); + } + + private AppregistryAttributeGroupAssociationState() {} + + private AppregistryAttributeGroupAssociationState(AppregistryAttributeGroupAssociationState $) { + this.applicationId = $.applicationId; + this.attributeGroupId = $.attributeGroupId; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(AppregistryAttributeGroupAssociationState defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private AppregistryAttributeGroupAssociationState $; + + public Builder() { + $ = new AppregistryAttributeGroupAssociationState(); + } + + public Builder(AppregistryAttributeGroupAssociationState defaults) { + $ = new AppregistryAttributeGroupAssociationState(Objects.requireNonNull(defaults)); + } + + /** + * @param applicationId ID of the application. + * + * @return builder + * + */ + public Builder applicationId(@Nullable Output applicationId) { + $.applicationId = applicationId; + return this; + } + + /** + * @param applicationId ID of the application. + * + * @return builder + * + */ + public Builder applicationId(String applicationId) { + return applicationId(Output.of(applicationId)); + } + + /** + * @param attributeGroupId ID of the attribute group to associate with the application. + * + * @return builder + * + */ + public Builder attributeGroupId(@Nullable Output attributeGroupId) { + $.attributeGroupId = attributeGroupId; + return this; + } + + /** + * @param attributeGroupId ID of the attribute group to associate with the application. + * + * @return builder + * + */ + public Builder attributeGroupId(String attributeGroupId) { + return attributeGroupId(Output.of(attributeGroupId)); + } + + public AppregistryAttributeGroupAssociationState build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/servicecatalog/inputs/AppregistryAttributeGroupState.java b/sdk/java/src/main/java/com/pulumi/aws/servicecatalog/inputs/AppregistryAttributeGroupState.java new file mode 100644 index 00000000000..b2980f3f34b --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/servicecatalog/inputs/AppregistryAttributeGroupState.java @@ -0,0 +1,293 @@ +// *** 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.servicecatalog.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 AppregistryAttributeGroupState extends com.pulumi.resources.ResourceArgs { + + public static final AppregistryAttributeGroupState Empty = new AppregistryAttributeGroupState(); + + /** + * ARN of the Attribute Group. + * + */ + @Import(name="arn") + private @Nullable Output arn; + + /** + * @return ARN of the Attribute Group. + * + */ + public Optional> arn() { + return Optional.ofNullable(this.arn); + } + + /** + * A JSON string of nested key-value pairs that represents the attributes of the group. + * + * The following arguments are optional: + * + */ + @Import(name="attributes") + private @Nullable Output attributes; + + /** + * @return A JSON string of nested key-value pairs that represents the attributes of the group. + * + * The following arguments are optional: + * + */ + public Optional> attributes() { + return Optional.ofNullable(this.attributes); + } + + /** + * Description of the Attribute Group. + * + */ + @Import(name="description") + private @Nullable Output description; + + /** + * @return Description of the Attribute Group. + * + */ + public Optional> description() { + return Optional.ofNullable(this.description); + } + + /** + * Name of the Attribute Group. + * + */ + @Import(name="name") + private @Nullable Output name; + + /** + * @return Name of the Attribute Group. + * + */ + public Optional> name() { + return Optional.ofNullable(this.name); + } + + /** + * A map of tags assigned to the Attribute Group. 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 assigned to the Attribute Group. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + */ + public Optional>> tags() { + return Optional.ofNullable(this.tags); + } + + /** + * A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + * @deprecated + * Please use `tags` instead. + * + */ + @Deprecated /* Please use `tags` instead. */ + @Import(name="tagsAll") + private @Nullable Output> tagsAll; + + /** + * @return A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + * @deprecated + * Please use `tags` instead. + * + */ + @Deprecated /* Please use `tags` instead. */ + public Optional>> tagsAll() { + return Optional.ofNullable(this.tagsAll); + } + + private AppregistryAttributeGroupState() {} + + private AppregistryAttributeGroupState(AppregistryAttributeGroupState $) { + this.arn = $.arn; + this.attributes = $.attributes; + this.description = $.description; + this.name = $.name; + this.tags = $.tags; + this.tagsAll = $.tagsAll; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(AppregistryAttributeGroupState defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private AppregistryAttributeGroupState $; + + public Builder() { + $ = new AppregistryAttributeGroupState(); + } + + public Builder(AppregistryAttributeGroupState defaults) { + $ = new AppregistryAttributeGroupState(Objects.requireNonNull(defaults)); + } + + /** + * @param arn ARN of the Attribute Group. + * + * @return builder + * + */ + public Builder arn(@Nullable Output arn) { + $.arn = arn; + return this; + } + + /** + * @param arn ARN of the Attribute Group. + * + * @return builder + * + */ + public Builder arn(String arn) { + return arn(Output.of(arn)); + } + + /** + * @param attributes A JSON string of nested key-value pairs that represents the attributes of the group. + * + * The following arguments are optional: + * + * @return builder + * + */ + public Builder attributes(@Nullable Output attributes) { + $.attributes = attributes; + return this; + } + + /** + * @param attributes A JSON string of nested key-value pairs that represents the attributes of the group. + * + * The following arguments are optional: + * + * @return builder + * + */ + public Builder attributes(String attributes) { + return attributes(Output.of(attributes)); + } + + /** + * @param description Description of the Attribute Group. + * + * @return builder + * + */ + public Builder description(@Nullable Output description) { + $.description = description; + return this; + } + + /** + * @param description Description of the Attribute Group. + * + * @return builder + * + */ + public Builder description(String description) { + return description(Output.of(description)); + } + + /** + * @param name Name of the Attribute Group. + * + * @return builder + * + */ + public Builder name(@Nullable Output name) { + $.name = name; + return this; + } + + /** + * @param name Name of the Attribute Group. + * + * @return builder + * + */ + public Builder name(String name) { + return name(Output.of(name)); + } + + /** + * @param tags A map of tags assigned to the Attribute Group. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + * @return builder + * + */ + public Builder tags(@Nullable Output> tags) { + $.tags = tags; + return this; + } + + /** + * @param tags A map of tags assigned to the Attribute Group. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + * @return builder + * + */ + public Builder tags(Map tags) { + return tags(Output.of(tags)); + } + + /** + * @param tagsAll A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + * @return builder + * + * @deprecated + * Please use `tags` instead. + * + */ + @Deprecated /* Please use `tags` instead. */ + public Builder tagsAll(@Nullable Output> tagsAll) { + $.tagsAll = tagsAll; + return this; + } + + /** + * @param tagsAll A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + * @return builder + * + * @deprecated + * Please use `tags` instead. + * + */ + @Deprecated /* Please use `tags` instead. */ + public Builder tagsAll(Map tagsAll) { + return tagsAll(Output.of(tagsAll)); + } + + public AppregistryAttributeGroupState build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/servicecatalog/inputs/GetAppregistryAttributeGroupArgs.java b/sdk/java/src/main/java/com/pulumi/aws/servicecatalog/inputs/GetAppregistryAttributeGroupArgs.java new file mode 100644 index 00000000000..96aaba27176 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/servicecatalog/inputs/GetAppregistryAttributeGroupArgs.java @@ -0,0 +1,157 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.servicecatalog.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 GetAppregistryAttributeGroupArgs extends com.pulumi.resources.InvokeArgs { + + public static final GetAppregistryAttributeGroupArgs Empty = new GetAppregistryAttributeGroupArgs(); + + /** + * ARN of the Attribute Group to find. + * + */ + @Import(name="arn") + private @Nullable Output arn; + + /** + * @return ARN of the Attribute Group to find. + * + */ + public Optional> arn() { + return Optional.ofNullable(this.arn); + } + + /** + * ID of the Attribute Group to find. + * + */ + @Import(name="id") + private @Nullable Output id; + + /** + * @return ID of the Attribute Group to find. + * + */ + public Optional> id() { + return Optional.ofNullable(this.id); + } + + /** + * Name of the Attribute Group to find. + * + */ + @Import(name="name") + private @Nullable Output name; + + /** + * @return Name of the Attribute Group to find. + * + */ + public Optional> name() { + return Optional.ofNullable(this.name); + } + + private GetAppregistryAttributeGroupArgs() {} + + private GetAppregistryAttributeGroupArgs(GetAppregistryAttributeGroupArgs $) { + this.arn = $.arn; + this.id = $.id; + this.name = $.name; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(GetAppregistryAttributeGroupArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private GetAppregistryAttributeGroupArgs $; + + public Builder() { + $ = new GetAppregistryAttributeGroupArgs(); + } + + public Builder(GetAppregistryAttributeGroupArgs defaults) { + $ = new GetAppregistryAttributeGroupArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param arn ARN of the Attribute Group to find. + * + * @return builder + * + */ + public Builder arn(@Nullable Output arn) { + $.arn = arn; + return this; + } + + /** + * @param arn ARN of the Attribute Group to find. + * + * @return builder + * + */ + public Builder arn(String arn) { + return arn(Output.of(arn)); + } + + /** + * @param id ID of the Attribute Group to find. + * + * @return builder + * + */ + public Builder id(@Nullable Output id) { + $.id = id; + return this; + } + + /** + * @param id ID of the Attribute Group to find. + * + * @return builder + * + */ + public Builder id(String id) { + return id(Output.of(id)); + } + + /** + * @param name Name of the Attribute Group to find. + * + * @return builder + * + */ + public Builder name(@Nullable Output name) { + $.name = name; + return this; + } + + /** + * @param name Name of the Attribute Group to find. + * + * @return builder + * + */ + public Builder name(String name) { + return name(Output.of(name)); + } + + public GetAppregistryAttributeGroupArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/servicecatalog/inputs/GetAppregistryAttributeGroupPlainArgs.java b/sdk/java/src/main/java/com/pulumi/aws/servicecatalog/inputs/GetAppregistryAttributeGroupPlainArgs.java new file mode 100644 index 00000000000..5f8890317d6 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/servicecatalog/inputs/GetAppregistryAttributeGroupPlainArgs.java @@ -0,0 +1,126 @@ +// *** 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.servicecatalog.inputs; + +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 GetAppregistryAttributeGroupPlainArgs extends com.pulumi.resources.InvokeArgs { + + public static final GetAppregistryAttributeGroupPlainArgs Empty = new GetAppregistryAttributeGroupPlainArgs(); + + /** + * ARN of the Attribute Group to find. + * + */ + @Import(name="arn") + private @Nullable String arn; + + /** + * @return ARN of the Attribute Group to find. + * + */ + public Optional arn() { + return Optional.ofNullable(this.arn); + } + + /** + * ID of the Attribute Group to find. + * + */ + @Import(name="id") + private @Nullable String id; + + /** + * @return ID of the Attribute Group to find. + * + */ + public Optional id() { + return Optional.ofNullable(this.id); + } + + /** + * Name of the Attribute Group to find. + * + */ + @Import(name="name") + private @Nullable String name; + + /** + * @return Name of the Attribute Group to find. + * + */ + public Optional name() { + return Optional.ofNullable(this.name); + } + + private GetAppregistryAttributeGroupPlainArgs() {} + + private GetAppregistryAttributeGroupPlainArgs(GetAppregistryAttributeGroupPlainArgs $) { + this.arn = $.arn; + this.id = $.id; + this.name = $.name; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(GetAppregistryAttributeGroupPlainArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private GetAppregistryAttributeGroupPlainArgs $; + + public Builder() { + $ = new GetAppregistryAttributeGroupPlainArgs(); + } + + public Builder(GetAppregistryAttributeGroupPlainArgs defaults) { + $ = new GetAppregistryAttributeGroupPlainArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param arn ARN of the Attribute Group to find. + * + * @return builder + * + */ + public Builder arn(@Nullable String arn) { + $.arn = arn; + return this; + } + + /** + * @param id ID of the Attribute Group to find. + * + * @return builder + * + */ + public Builder id(@Nullable String id) { + $.id = id; + return this; + } + + /** + * @param name Name of the Attribute Group to find. + * + * @return builder + * + */ + public Builder name(@Nullable String name) { + $.name = name; + return this; + } + + public GetAppregistryAttributeGroupPlainArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/servicecatalog/outputs/GetAppregistryApplicationResult.java b/sdk/java/src/main/java/com/pulumi/aws/servicecatalog/outputs/GetAppregistryApplicationResult.java index c7c56c0f665..d66dccb3e3d 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/servicecatalog/outputs/GetAppregistryApplicationResult.java +++ b/sdk/java/src/main/java/com/pulumi/aws/servicecatalog/outputs/GetAppregistryApplicationResult.java @@ -32,6 +32,11 @@ public final class GetAppregistryApplicationResult { * */ private String name; + /** + * @return A map of tags assigned to the Application. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + */ + private Map tags; private GetAppregistryApplicationResult() {} /** @@ -65,6 +70,13 @@ public String id() { public String name() { return this.name; } + /** + * @return A map of tags assigned to the Application. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + */ + public Map tags() { + return this.tags; + } public static Builder builder() { return new Builder(); @@ -80,6 +92,7 @@ public static final class Builder { private String description; private String id; private String name; + private Map tags; public Builder() {} public Builder(GetAppregistryApplicationResult defaults) { Objects.requireNonNull(defaults); @@ -88,6 +101,7 @@ public Builder(GetAppregistryApplicationResult defaults) { this.description = defaults.description; this.id = defaults.id; this.name = defaults.name; + this.tags = defaults.tags; } @CustomType.Setter @@ -130,6 +144,14 @@ public Builder name(String name) { this.name = name; return this; } + @CustomType.Setter + public Builder tags(Map tags) { + if (tags == null) { + throw new MissingRequiredPropertyException("GetAppregistryApplicationResult", "tags"); + } + this.tags = tags; + return this; + } public GetAppregistryApplicationResult build() { final var _resultValue = new GetAppregistryApplicationResult(); _resultValue.applicationTag = applicationTag; @@ -137,6 +159,7 @@ public GetAppregistryApplicationResult build() { _resultValue.description = description; _resultValue.id = id; _resultValue.name = name; + _resultValue.tags = tags; return _resultValue; } } diff --git a/sdk/java/src/main/java/com/pulumi/aws/servicecatalog/outputs/GetAppregistryAttributeGroupResult.java b/sdk/java/src/main/java/com/pulumi/aws/servicecatalog/outputs/GetAppregistryAttributeGroupResult.java new file mode 100644 index 00000000000..11351902e69 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/servicecatalog/outputs/GetAppregistryAttributeGroupResult.java @@ -0,0 +1,150 @@ +// *** 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.servicecatalog.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Map; +import java.util.Objects; + +@CustomType +public final class GetAppregistryAttributeGroupResult { + private String arn; + /** + * @return A JSON string of nested key-value pairs that represents the attributes of the group. + * + */ + private String attributes; + /** + * @return Description of the Attribute Group. + * + */ + private String description; + private String id; + private String name; + /** + * @return A map of tags assigned to the Attribute Group. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + */ + private Map tags; + + private GetAppregistryAttributeGroupResult() {} + public String arn() { + return this.arn; + } + /** + * @return A JSON string of nested key-value pairs that represents the attributes of the group. + * + */ + public String attributes() { + return this.attributes; + } + /** + * @return Description of the Attribute Group. + * + */ + public String description() { + return this.description; + } + public String id() { + return this.id; + } + public String name() { + return this.name; + } + /** + * @return A map of tags assigned to the Attribute Group. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + */ + public Map tags() { + return this.tags; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetAppregistryAttributeGroupResult defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String arn; + private String attributes; + private String description; + private String id; + private String name; + private Map tags; + public Builder() {} + public Builder(GetAppregistryAttributeGroupResult defaults) { + Objects.requireNonNull(defaults); + this.arn = defaults.arn; + this.attributes = defaults.attributes; + this.description = defaults.description; + this.id = defaults.id; + this.name = defaults.name; + this.tags = defaults.tags; + } + + @CustomType.Setter + public Builder arn(String arn) { + if (arn == null) { + throw new MissingRequiredPropertyException("GetAppregistryAttributeGroupResult", "arn"); + } + this.arn = arn; + return this; + } + @CustomType.Setter + public Builder attributes(String attributes) { + if (attributes == null) { + throw new MissingRequiredPropertyException("GetAppregistryAttributeGroupResult", "attributes"); + } + this.attributes = attributes; + return this; + } + @CustomType.Setter + public Builder description(String description) { + if (description == null) { + throw new MissingRequiredPropertyException("GetAppregistryAttributeGroupResult", "description"); + } + this.description = description; + return this; + } + @CustomType.Setter + public Builder id(String id) { + if (id == null) { + throw new MissingRequiredPropertyException("GetAppregistryAttributeGroupResult", "id"); + } + this.id = id; + return this; + } + @CustomType.Setter + public Builder name(String name) { + if (name == null) { + throw new MissingRequiredPropertyException("GetAppregistryAttributeGroupResult", "name"); + } + this.name = name; + return this; + } + @CustomType.Setter + public Builder tags(Map tags) { + if (tags == null) { + throw new MissingRequiredPropertyException("GetAppregistryAttributeGroupResult", "tags"); + } + this.tags = tags; + return this; + } + public GetAppregistryAttributeGroupResult build() { + final var _resultValue = new GetAppregistryAttributeGroupResult(); + _resultValue.arn = arn; + _resultValue.attributes = attributes; + _resultValue.description = description; + _resultValue.id = id; + _resultValue.name = name; + _resultValue.tags = tags; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/servicediscovery/ServicediscoveryFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/servicediscovery/ServicediscoveryFunctions.java index aabc8580d78..f185c30bb35 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/servicediscovery/ServicediscoveryFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/servicediscovery/ServicediscoveryFunctions.java @@ -17,6 +17,7 @@ import com.pulumi.core.TypeShape; import com.pulumi.deployment.Deployment; import com.pulumi.deployment.InvokeOptions; +import com.pulumi.deployment.InvokeOutputOptions; import java.util.concurrent.CompletableFuture; public final class ServicediscoveryFunctions { @@ -149,6 +150,49 @@ public static CompletableFuture getDnsNamespacePlain(GetD public static Output getDnsNamespace(GetDnsNamespaceArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:servicediscovery/getDnsNamespace:getDnsNamespace", TypeShape.of(GetDnsNamespaceResult.class), args, Utilities.withVersion(options)); } + /** + * Retrieves information about a Service Discovery private or public DNS namespace. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.servicediscovery.ServicediscoveryFunctions;
+     * import com.pulumi.aws.servicediscovery.inputs.GetDnsNamespaceArgs;
+     * 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 test = ServicediscoveryFunctions.getDnsNamespace(GetDnsNamespaceArgs.builder()
+     *             .name("example.service.local")
+     *             .type("DNS_PRIVATE")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getDnsNamespace(GetDnsNamespaceArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:servicediscovery/getDnsNamespace:getDnsNamespace", TypeShape.of(GetDnsNamespaceResult.class), args, Utilities.withVersion(options)); + } /** * Retrieves information about a Service Discovery private or public DNS namespace. * @@ -312,6 +356,46 @@ public static CompletableFuture getHttpNamespacePlain(Ge public static Output getHttpNamespace(GetHttpNamespaceArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:servicediscovery/getHttpNamespace:getHttpNamespace", TypeShape.of(GetHttpNamespaceResult.class), args, Utilities.withVersion(options)); } + /** + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.servicediscovery.ServicediscoveryFunctions;
+     * import com.pulumi.aws.servicediscovery.inputs.GetHttpNamespaceArgs;
+     * 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 = ServicediscoveryFunctions.getHttpNamespace(GetHttpNamespaceArgs.builder()
+     *             .name("development")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getHttpNamespace(GetHttpNamespaceArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:servicediscovery/getHttpNamespace:getHttpNamespace", TypeShape.of(GetHttpNamespaceResult.class), args, Utilities.withVersion(options)); + } /** * ## Example Usage * @@ -481,6 +565,49 @@ public static CompletableFuture getServicePlain(GetServicePlai public static Output getService(GetServiceArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:servicediscovery/getService:getService", TypeShape.of(GetServiceResult.class), args, Utilities.withVersion(options)); } + /** + * Retrieves information about a Service Discovery Service. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.servicediscovery.ServicediscoveryFunctions;
+     * import com.pulumi.aws.servicediscovery.inputs.GetServiceArgs;
+     * 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 test = ServicediscoveryFunctions.getService(GetServiceArgs.builder()
+     *             .name("example")
+     *             .namespaceId("NAMESPACE_ID_VALUE")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getService(GetServiceArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:servicediscovery/getService:getService", TypeShape.of(GetServiceResult.class), args, Utilities.withVersion(options)); + } /** * Retrieves information about a Service Discovery Service. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/servicequotas/ServicequotasFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/servicequotas/ServicequotasFunctions.java index 68f9c306160..9070fb12c99 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/servicequotas/ServicequotasFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/servicequotas/ServicequotasFunctions.java @@ -17,6 +17,7 @@ import com.pulumi.core.TypeShape; import com.pulumi.deployment.Deployment; import com.pulumi.deployment.InvokeOptions; +import com.pulumi.deployment.InvokeOutputOptions; import java.util.concurrent.CompletableFuture; public final class ServicequotasFunctions { @@ -152,6 +153,50 @@ public static CompletableFuture getServicePlain(GetServicePlai public static Output getService(GetServiceArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:servicequotas/getService:getService", TypeShape.of(GetServiceResult.class), args, Utilities.withVersion(options)); } + /** + * Retrieve information about a Service Quotas Service. + * + * > **NOTE:** Global quotas apply to all AWS regions, but can only be accessed in `us-east-1` in the Commercial partition or `us-gov-west-1` in the GovCloud partition. In other regions, the AWS API will return the error `The request failed because the specified service does not exist.` + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.servicequotas.ServicequotasFunctions;
+     * import com.pulumi.aws.servicequotas.inputs.GetServiceArgs;
+     * 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 = ServicequotasFunctions.getService(GetServiceArgs.builder()
+     *             .serviceName("Amazon Virtual Private Cloud (Amazon VPC)")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getService(GetServiceArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:servicequotas/getService:getService", TypeShape.of(GetServiceResult.class), args, Utilities.withVersion(options)); + } /** * Retrieve information about a Service Quotas Service. * @@ -346,6 +391,56 @@ public static CompletableFuture getServiceQuotaPlain(GetS public static Output getServiceQuota(GetServiceQuotaArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:servicequotas/getServiceQuota:getServiceQuota", TypeShape.of(GetServiceQuotaResult.class), args, Utilities.withVersion(options)); } + /** + * Retrieve information about a Service Quota. + * + * > **NOTE:** Global quotas apply to all AWS regions, but can only be accessed in `us-east-1` in the Commercial partition or `us-gov-west-1` in the GovCloud partition. In other regions, the AWS API will return the error `The request failed because the specified service does not exist.` + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.servicequotas.ServicequotasFunctions;
+     * import com.pulumi.aws.servicequotas.inputs.GetServiceQuotaArgs;
+     * 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 byQuotaCode = ServicequotasFunctions.getServiceQuota(GetServiceQuotaArgs.builder()
+     *             .quotaCode("L-F678F1CE")
+     *             .serviceCode("vpc")
+     *             .build());
+     * 
+     *         final var byQuotaName = ServicequotasFunctions.getServiceQuota(GetServiceQuotaArgs.builder()
+     *             .quotaName("VPCs per Region")
+     *             .serviceCode("vpc")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getServiceQuota(GetServiceQuotaArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:servicequotas/getServiceQuota:getServiceQuota", TypeShape.of(GetServiceQuotaResult.class), args, Utilities.withVersion(options)); + } /** * Retrieve information about a Service Quota. * @@ -528,6 +623,50 @@ public static CompletableFuture getTemplatesPlain(GetTemplat public static Output getTemplates(GetTemplatesArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:servicequotas/getTemplates:getTemplates", TypeShape.of(GetTemplatesResult.class), args, Utilities.withVersion(options)); } + /** + * Data source for managing an AWS Service Quotas Templates. + * + * ## Example Usage + * + * ### Basic Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.servicequotas.ServicequotasFunctions;
+     * import com.pulumi.aws.servicequotas.inputs.GetTemplatesArgs;
+     * 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 = ServicequotasFunctions.getTemplates(GetTemplatesArgs.builder()
+     *             .region("us-east-1")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getTemplates(GetTemplatesArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:servicequotas/getTemplates:getTemplates", TypeShape.of(GetTemplatesResult.class), args, Utilities.withVersion(options)); + } /** * Data source for managing an AWS Service Quotas Templates. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/ses/SesFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/ses/SesFunctions.java index c464a7492ae..7828cec34b9 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ses/SesFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ses/SesFunctions.java @@ -15,6 +15,7 @@ import com.pulumi.core.TypeShape; import com.pulumi.deployment.Deployment; import com.pulumi.deployment.InvokeOptions; +import com.pulumi.deployment.InvokeOutputOptions; import com.pulumi.resources.InvokeArgs; import java.util.concurrent.CompletableFuture; @@ -214,6 +215,45 @@ public static CompletableFuture getActiveReceiptR public static Output getActiveReceiptRuleSet(InvokeArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:ses/getActiveReceiptRuleSet:getActiveReceiptRuleSet", TypeShape.of(GetActiveReceiptRuleSetResult.class), args, Utilities.withVersion(options)); } + /** + * Retrieve the active SES receipt rule set + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.ses.SesFunctions;
+     * 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 main = SesFunctions.getActiveReceiptRuleSet();
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getActiveReceiptRuleSet(InvokeArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:ses/getActiveReceiptRuleSet:getActiveReceiptRuleSet", TypeShape.of(GetActiveReceiptRuleSetResult.class), args, Utilities.withVersion(options)); + } /** * Retrieve the active SES receipt rule set * @@ -379,6 +419,48 @@ public static CompletableFuture getDomainIdentityPlain( public static Output getDomainIdentity(GetDomainIdentityArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:ses/getDomainIdentity:getDomainIdentity", TypeShape.of(GetDomainIdentityResult.class), args, Utilities.withVersion(options)); } + /** + * Retrieve the SES domain identity + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.ses.SesFunctions;
+     * import com.pulumi.aws.ses.inputs.GetDomainIdentityArgs;
+     * 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 = SesFunctions.getDomainIdentity(GetDomainIdentityArgs.builder()
+     *             .domain("example.com")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getDomainIdentity(GetDomainIdentityArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:ses/getDomainIdentity:getDomainIdentity", TypeShape.of(GetDomainIdentityResult.class), args, Utilities.withVersion(options)); + } /** * Retrieve the SES domain identity * @@ -547,6 +629,48 @@ public static CompletableFuture getEmailIdentityPlain(Ge public static Output getEmailIdentity(GetEmailIdentityArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:ses/getEmailIdentity:getEmailIdentity", TypeShape.of(GetEmailIdentityResult.class), args, Utilities.withVersion(options)); } + /** + * Retrieve the active SES email identity + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.ses.SesFunctions;
+     * import com.pulumi.aws.ses.inputs.GetEmailIdentityArgs;
+     * 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 }{{@code
+     *     public static void main(String[] args) }{{@code
+     *         Pulumi.run(App::stack);
+     *     }}{@code
+     * 
+     *     public static void stack(Context ctx) }{{@code
+     *         final var example = SesFunctions.getEmailIdentity(GetEmailIdentityArgs.builder()
+     *             .email("awesome}{@literal @}{@code example.com")
+     *             .build());
+     * 
+     *     }}{@code
+     * }}{@code
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getEmailIdentity(GetEmailIdentityArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:ses/getEmailIdentity:getEmailIdentity", TypeShape.of(GetEmailIdentityResult.class), args, Utilities.withVersion(options)); + } /** * Retrieve the active SES email identity * diff --git a/sdk/java/src/main/java/com/pulumi/aws/sesv2/ConfigurationSet.java b/sdk/java/src/main/java/com/pulumi/aws/sesv2/ConfigurationSet.java index a522fbb2e2e..dcb817dbea3 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/sesv2/ConfigurationSet.java +++ b/sdk/java/src/main/java/com/pulumi/aws/sesv2/ConfigurationSet.java @@ -59,6 +59,7 @@ * var example = new ConfigurationSet("example", ConfigurationSetArgs.builder() * .configurationSetName("example") * .deliveryOptions(ConfigurationSetDeliveryOptionsArgs.builder() + * .maxDeliverySeconds(300) * .tlsPolicy("REQUIRE") * .build()) * .reputationOptions(ConfigurationSetReputationOptionsArgs.builder() @@ -74,6 +75,7 @@ * .build()) * .trackingOptions(ConfigurationSetTrackingOptionsArgs.builder() * .customRedirectDomain("example.com") + * .httpsPolicy("REQUIRE") * .build()) * .build()); * diff --git a/sdk/java/src/main/java/com/pulumi/aws/sesv2/Sesv2Functions.java b/sdk/java/src/main/java/com/pulumi/aws/sesv2/Sesv2Functions.java index 6572d2e4aca..297f3a0c51e 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/sesv2/Sesv2Functions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/sesv2/Sesv2Functions.java @@ -20,6 +20,7 @@ import com.pulumi.core.TypeShape; import com.pulumi.deployment.Deployment; import com.pulumi.deployment.InvokeOptions; +import com.pulumi.deployment.InvokeOutputOptions; import java.util.concurrent.CompletableFuture; public final class Sesv2Functions { @@ -155,6 +156,50 @@ public static CompletableFuture getConfigurationSetPl public static Output getConfigurationSet(GetConfigurationSetArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:sesv2/getConfigurationSet:getConfigurationSet", TypeShape.of(GetConfigurationSetResult.class), args, Utilities.withVersion(options)); } + /** + * Data source for managing an AWS SESv2 (Simple Email V2) Configuration Set. + * + * ## Example Usage + * + * ### Basic Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.sesv2.Sesv2Functions;
+     * import com.pulumi.aws.sesv2.inputs.GetConfigurationSetArgs;
+     * 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 = Sesv2Functions.getConfigurationSet(GetConfigurationSetArgs.builder()
+     *             .configurationSetName("example")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getConfigurationSet(GetConfigurationSetArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:sesv2/getConfigurationSet:getConfigurationSet", TypeShape.of(GetConfigurationSetResult.class), args, Utilities.withVersion(options)); + } /** * Data source for managing an AWS SESv2 (Simple Email V2) Configuration Set. * @@ -331,6 +376,50 @@ public static CompletableFuture getDedicatedIpPoolPlai public static Output getDedicatedIpPool(GetDedicatedIpPoolArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:sesv2/getDedicatedIpPool:getDedicatedIpPool", TypeShape.of(GetDedicatedIpPoolResult.class), args, Utilities.withVersion(options)); } + /** + * Data source for managing an AWS SESv2 (Simple Email V2) Dedicated IP Pool. + * + * ## Example Usage + * + * ### Basic Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.sesv2.Sesv2Functions;
+     * import com.pulumi.aws.sesv2.inputs.GetDedicatedIpPoolArgs;
+     * 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 = Sesv2Functions.getDedicatedIpPool(GetDedicatedIpPoolArgs.builder()
+     *             .poolName("my-pool")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getDedicatedIpPool(GetDedicatedIpPoolArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:sesv2/getDedicatedIpPool:getDedicatedIpPool", TypeShape.of(GetDedicatedIpPoolResult.class), args, Utilities.withVersion(options)); + } /** * Data source for managing an AWS SESv2 (Simple Email V2) Dedicated IP Pool. * @@ -507,6 +596,50 @@ public static CompletableFuture getEmailIdentityPlain(Ge public static Output getEmailIdentity(GetEmailIdentityArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:sesv2/getEmailIdentity:getEmailIdentity", TypeShape.of(GetEmailIdentityResult.class), args, Utilities.withVersion(options)); } + /** + * Data source for managing an AWS SESv2 (Simple Email V2) Email Identity. + * + * ## Example Usage + * + * ### Basic Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.sesv2.Sesv2Functions;
+     * import com.pulumi.aws.sesv2.inputs.GetEmailIdentityArgs;
+     * 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 = Sesv2Functions.getEmailIdentity(GetEmailIdentityArgs.builder()
+     *             .emailIdentity("example.com")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getEmailIdentity(GetEmailIdentityArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:sesv2/getEmailIdentity:getEmailIdentity", TypeShape.of(GetEmailIdentityResult.class), args, Utilities.withVersion(options)); + } /** * Data source for managing an AWS SESv2 (Simple Email V2) Email Identity. * @@ -698,6 +831,55 @@ public static CompletableFuture getEma public static Output getEmailIdentityMailFromAttributes(GetEmailIdentityMailFromAttributesArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:sesv2/getEmailIdentityMailFromAttributes:getEmailIdentityMailFromAttributes", TypeShape.of(GetEmailIdentityMailFromAttributesResult.class), args, Utilities.withVersion(options)); } + /** + * Data source for managing an AWS SESv2 (Simple Email V2) Email Identity Mail From Attributes. + * + * ## Example Usage + * + * ### Basic Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.sesv2.Sesv2Functions;
+     * import com.pulumi.aws.sesv2.inputs.GetEmailIdentityArgs;
+     * import com.pulumi.aws.sesv2.inputs.GetEmailIdentityMailFromAttributesArgs;
+     * 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 = Sesv2Functions.getEmailIdentity(GetEmailIdentityArgs.builder()
+     *             .emailIdentity("example.com")
+     *             .build());
+     * 
+     *         final var exampleGetEmailIdentityMailFromAttributes = Sesv2Functions.getEmailIdentityMailFromAttributes(GetEmailIdentityMailFromAttributesArgs.builder()
+     *             .emailIdentity(example.applyValue(getEmailIdentityResult -> getEmailIdentityResult.emailIdentity()))
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getEmailIdentityMailFromAttributes(GetEmailIdentityMailFromAttributesArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:sesv2/getEmailIdentityMailFromAttributes:getEmailIdentityMailFromAttributes", TypeShape.of(GetEmailIdentityMailFromAttributesResult.class), args, Utilities.withVersion(options)); + } /** * Data source for managing an AWS SESv2 (Simple Email V2) Email Identity Mail From Attributes. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/sesv2/inputs/ConfigurationSetDeliveryOptionsArgs.java b/sdk/java/src/main/java/com/pulumi/aws/sesv2/inputs/ConfigurationSetDeliveryOptionsArgs.java index 2a6b874e4ac..e8ebf8ca386 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/sesv2/inputs/ConfigurationSetDeliveryOptionsArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/sesv2/inputs/ConfigurationSetDeliveryOptionsArgs.java @@ -5,6 +5,7 @@ import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; +import java.lang.Integer; import java.lang.String; import java.util.Objects; import java.util.Optional; @@ -15,6 +16,21 @@ public final class ConfigurationSetDeliveryOptionsArgs extends com.pulumi.resour public static final ConfigurationSetDeliveryOptionsArgs Empty = new ConfigurationSetDeliveryOptionsArgs(); + /** + * The maximum amount of time, in seconds, that Amazon SES API v2 will attempt delivery of email. If specified, the value must greater than or equal to 300 seconds (5 minutes) and less than or equal to 50400 seconds (840 minutes). + * + */ + @Import(name="maxDeliverySeconds") + private @Nullable Output maxDeliverySeconds; + + /** + * @return The maximum amount of time, in seconds, that Amazon SES API v2 will attempt delivery of email. If specified, the value must greater than or equal to 300 seconds (5 minutes) and less than or equal to 50400 seconds (840 minutes). + * + */ + public Optional> maxDeliverySeconds() { + return Optional.ofNullable(this.maxDeliverySeconds); + } + /** * The name of the dedicated IP pool to associate with the configuration set. * @@ -48,6 +64,7 @@ public Optional> tlsPolicy() { private ConfigurationSetDeliveryOptionsArgs() {} private ConfigurationSetDeliveryOptionsArgs(ConfigurationSetDeliveryOptionsArgs $) { + this.maxDeliverySeconds = $.maxDeliverySeconds; this.sendingPoolName = $.sendingPoolName; this.tlsPolicy = $.tlsPolicy; } @@ -70,6 +87,27 @@ public Builder(ConfigurationSetDeliveryOptionsArgs defaults) { $ = new ConfigurationSetDeliveryOptionsArgs(Objects.requireNonNull(defaults)); } + /** + * @param maxDeliverySeconds The maximum amount of time, in seconds, that Amazon SES API v2 will attempt delivery of email. If specified, the value must greater than or equal to 300 seconds (5 minutes) and less than or equal to 50400 seconds (840 minutes). + * + * @return builder + * + */ + public Builder maxDeliverySeconds(@Nullable Output maxDeliverySeconds) { + $.maxDeliverySeconds = maxDeliverySeconds; + return this; + } + + /** + * @param maxDeliverySeconds The maximum amount of time, in seconds, that Amazon SES API v2 will attempt delivery of email. If specified, the value must greater than or equal to 300 seconds (5 minutes) and less than or equal to 50400 seconds (840 minutes). + * + * @return builder + * + */ + public Builder maxDeliverySeconds(Integer maxDeliverySeconds) { + return maxDeliverySeconds(Output.of(maxDeliverySeconds)); + } + /** * @param sendingPoolName The name of the dedicated IP pool to associate with the configuration set. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/sesv2/inputs/ConfigurationSetTrackingOptionsArgs.java b/sdk/java/src/main/java/com/pulumi/aws/sesv2/inputs/ConfigurationSetTrackingOptionsArgs.java index f6bba45d45b..2dfbf982862 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/sesv2/inputs/ConfigurationSetTrackingOptionsArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/sesv2/inputs/ConfigurationSetTrackingOptionsArgs.java @@ -8,6 +8,8 @@ import com.pulumi.exceptions.MissingRequiredPropertyException; import java.lang.String; import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; public final class ConfigurationSetTrackingOptionsArgs extends com.pulumi.resources.ResourceArgs { @@ -29,10 +31,26 @@ public Output customRedirectDomain() { return this.customRedirectDomain; } + /** + * The https policy to use for tracking open and click events. Valid values are `REQUIRE`, `REQUIRE_OPEN_ONLY` or `OPTIONAL`. + * + */ + @Import(name="httpsPolicy") + private @Nullable Output httpsPolicy; + + /** + * @return The https policy to use for tracking open and click events. Valid values are `REQUIRE`, `REQUIRE_OPEN_ONLY` or `OPTIONAL`. + * + */ + public Optional> httpsPolicy() { + return Optional.ofNullable(this.httpsPolicy); + } + private ConfigurationSetTrackingOptionsArgs() {} private ConfigurationSetTrackingOptionsArgs(ConfigurationSetTrackingOptionsArgs $) { this.customRedirectDomain = $.customRedirectDomain; + this.httpsPolicy = $.httpsPolicy; } public static Builder builder() { @@ -74,6 +92,27 @@ public Builder customRedirectDomain(String customRedirectDomain) { return customRedirectDomain(Output.of(customRedirectDomain)); } + /** + * @param httpsPolicy The https policy to use for tracking open and click events. Valid values are `REQUIRE`, `REQUIRE_OPEN_ONLY` or `OPTIONAL`. + * + * @return builder + * + */ + public Builder httpsPolicy(@Nullable Output httpsPolicy) { + $.httpsPolicy = httpsPolicy; + return this; + } + + /** + * @param httpsPolicy The https policy to use for tracking open and click events. Valid values are `REQUIRE`, `REQUIRE_OPEN_ONLY` or `OPTIONAL`. + * + * @return builder + * + */ + public Builder httpsPolicy(String httpsPolicy) { + return httpsPolicy(Output.of(httpsPolicy)); + } + public ConfigurationSetTrackingOptionsArgs build() { if ($.customRedirectDomain == null) { throw new MissingRequiredPropertyException("ConfigurationSetTrackingOptionsArgs", "customRedirectDomain"); diff --git a/sdk/java/src/main/java/com/pulumi/aws/sesv2/outputs/ConfigurationSetDeliveryOptions.java b/sdk/java/src/main/java/com/pulumi/aws/sesv2/outputs/ConfigurationSetDeliveryOptions.java index cf9c9adc57e..8448238fa13 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/sesv2/outputs/ConfigurationSetDeliveryOptions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/sesv2/outputs/ConfigurationSetDeliveryOptions.java @@ -4,6 +4,7 @@ package com.pulumi.aws.sesv2.outputs; import com.pulumi.core.annotations.CustomType; +import java.lang.Integer; import java.lang.String; import java.util.Objects; import java.util.Optional; @@ -11,6 +12,11 @@ @CustomType public final class ConfigurationSetDeliveryOptions { + /** + * @return The maximum amount of time, in seconds, that Amazon SES API v2 will attempt delivery of email. If specified, the value must greater than or equal to 300 seconds (5 minutes) and less than or equal to 50400 seconds (840 minutes). + * + */ + private @Nullable Integer maxDeliverySeconds; /** * @return The name of the dedicated IP pool to associate with the configuration set. * @@ -23,6 +29,13 @@ public final class ConfigurationSetDeliveryOptions { private @Nullable String tlsPolicy; private ConfigurationSetDeliveryOptions() {} + /** + * @return The maximum amount of time, in seconds, that Amazon SES API v2 will attempt delivery of email. If specified, the value must greater than or equal to 300 seconds (5 minutes) and less than or equal to 50400 seconds (840 minutes). + * + */ + public Optional maxDeliverySeconds() { + return Optional.ofNullable(this.maxDeliverySeconds); + } /** * @return The name of the dedicated IP pool to associate with the configuration set. * @@ -47,15 +60,23 @@ public static Builder builder(ConfigurationSetDeliveryOptions defaults) { } @CustomType.Builder public static final class Builder { + private @Nullable Integer maxDeliverySeconds; private @Nullable String sendingPoolName; private @Nullable String tlsPolicy; public Builder() {} public Builder(ConfigurationSetDeliveryOptions defaults) { Objects.requireNonNull(defaults); + this.maxDeliverySeconds = defaults.maxDeliverySeconds; this.sendingPoolName = defaults.sendingPoolName; this.tlsPolicy = defaults.tlsPolicy; } + @CustomType.Setter + public Builder maxDeliverySeconds(@Nullable Integer maxDeliverySeconds) { + + this.maxDeliverySeconds = maxDeliverySeconds; + return this; + } @CustomType.Setter public Builder sendingPoolName(@Nullable String sendingPoolName) { @@ -70,6 +91,7 @@ public Builder tlsPolicy(@Nullable String tlsPolicy) { } public ConfigurationSetDeliveryOptions build() { final var _resultValue = new ConfigurationSetDeliveryOptions(); + _resultValue.maxDeliverySeconds = maxDeliverySeconds; _resultValue.sendingPoolName = sendingPoolName; _resultValue.tlsPolicy = tlsPolicy; return _resultValue; diff --git a/sdk/java/src/main/java/com/pulumi/aws/sesv2/outputs/ConfigurationSetTrackingOptions.java b/sdk/java/src/main/java/com/pulumi/aws/sesv2/outputs/ConfigurationSetTrackingOptions.java index d5af61386ce..e3f28c3c5e8 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/sesv2/outputs/ConfigurationSetTrackingOptions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/sesv2/outputs/ConfigurationSetTrackingOptions.java @@ -7,6 +7,8 @@ import com.pulumi.exceptions.MissingRequiredPropertyException; import java.lang.String; import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; @CustomType public final class ConfigurationSetTrackingOptions { @@ -15,6 +17,11 @@ public final class ConfigurationSetTrackingOptions { * */ private String customRedirectDomain; + /** + * @return The https policy to use for tracking open and click events. Valid values are `REQUIRE`, `REQUIRE_OPEN_ONLY` or `OPTIONAL`. + * + */ + private @Nullable String httpsPolicy; private ConfigurationSetTrackingOptions() {} /** @@ -24,6 +31,13 @@ private ConfigurationSetTrackingOptions() {} public String customRedirectDomain() { return this.customRedirectDomain; } + /** + * @return The https policy to use for tracking open and click events. Valid values are `REQUIRE`, `REQUIRE_OPEN_ONLY` or `OPTIONAL`. + * + */ + public Optional httpsPolicy() { + return Optional.ofNullable(this.httpsPolicy); + } public static Builder builder() { return new Builder(); @@ -35,10 +49,12 @@ public static Builder builder(ConfigurationSetTrackingOptions defaults) { @CustomType.Builder public static final class Builder { private String customRedirectDomain; + private @Nullable String httpsPolicy; public Builder() {} public Builder(ConfigurationSetTrackingOptions defaults) { Objects.requireNonNull(defaults); this.customRedirectDomain = defaults.customRedirectDomain; + this.httpsPolicy = defaults.httpsPolicy; } @CustomType.Setter @@ -49,9 +65,16 @@ public Builder customRedirectDomain(String customRedirectDomain) { this.customRedirectDomain = customRedirectDomain; return this; } + @CustomType.Setter + public Builder httpsPolicy(@Nullable String httpsPolicy) { + + this.httpsPolicy = httpsPolicy; + return this; + } public ConfigurationSetTrackingOptions build() { final var _resultValue = new ConfigurationSetTrackingOptions(); _resultValue.customRedirectDomain = customRedirectDomain; + _resultValue.httpsPolicy = httpsPolicy; return _resultValue; } } diff --git a/sdk/java/src/main/java/com/pulumi/aws/sesv2/outputs/GetConfigurationSetDeliveryOption.java b/sdk/java/src/main/java/com/pulumi/aws/sesv2/outputs/GetConfigurationSetDeliveryOption.java index 2ab64227a63..bea273240e9 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/sesv2/outputs/GetConfigurationSetDeliveryOption.java +++ b/sdk/java/src/main/java/com/pulumi/aws/sesv2/outputs/GetConfigurationSetDeliveryOption.java @@ -5,11 +5,17 @@ import com.pulumi.core.annotations.CustomType; import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.Integer; import java.lang.String; import java.util.Objects; @CustomType public final class GetConfigurationSetDeliveryOption { + /** + * @return The maximum amount of time, in seconds, that Amazon SES API v2 will attempt delivery of email. If specified, the value must greater than or equal to 300 seconds (5 minutes) and less than or equal to 50400 seconds (840 minutes). + * + */ + private Integer maxDeliverySeconds; /** * @return The name of the dedicated IP pool to associate with the configuration set. * @@ -22,6 +28,13 @@ public final class GetConfigurationSetDeliveryOption { private String tlsPolicy; private GetConfigurationSetDeliveryOption() {} + /** + * @return The maximum amount of time, in seconds, that Amazon SES API v2 will attempt delivery of email. If specified, the value must greater than or equal to 300 seconds (5 minutes) and less than or equal to 50400 seconds (840 minutes). + * + */ + public Integer maxDeliverySeconds() { + return this.maxDeliverySeconds; + } /** * @return The name of the dedicated IP pool to associate with the configuration set. * @@ -46,15 +59,25 @@ public static Builder builder(GetConfigurationSetDeliveryOption defaults) { } @CustomType.Builder public static final class Builder { + private Integer maxDeliverySeconds; private String sendingPoolName; private String tlsPolicy; public Builder() {} public Builder(GetConfigurationSetDeliveryOption defaults) { Objects.requireNonNull(defaults); + this.maxDeliverySeconds = defaults.maxDeliverySeconds; this.sendingPoolName = defaults.sendingPoolName; this.tlsPolicy = defaults.tlsPolicy; } + @CustomType.Setter + public Builder maxDeliverySeconds(Integer maxDeliverySeconds) { + if (maxDeliverySeconds == null) { + throw new MissingRequiredPropertyException("GetConfigurationSetDeliveryOption", "maxDeliverySeconds"); + } + this.maxDeliverySeconds = maxDeliverySeconds; + return this; + } @CustomType.Setter public Builder sendingPoolName(String sendingPoolName) { if (sendingPoolName == null) { @@ -73,6 +96,7 @@ public Builder tlsPolicy(String tlsPolicy) { } public GetConfigurationSetDeliveryOption build() { final var _resultValue = new GetConfigurationSetDeliveryOption(); + _resultValue.maxDeliverySeconds = maxDeliverySeconds; _resultValue.sendingPoolName = sendingPoolName; _resultValue.tlsPolicy = tlsPolicy; return _resultValue; diff --git a/sdk/java/src/main/java/com/pulumi/aws/sesv2/outputs/GetConfigurationSetTrackingOption.java b/sdk/java/src/main/java/com/pulumi/aws/sesv2/outputs/GetConfigurationSetTrackingOption.java index 185a506c11f..ad01722f676 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/sesv2/outputs/GetConfigurationSetTrackingOption.java +++ b/sdk/java/src/main/java/com/pulumi/aws/sesv2/outputs/GetConfigurationSetTrackingOption.java @@ -15,6 +15,11 @@ public final class GetConfigurationSetTrackingOption { * */ private String customRedirectDomain; + /** + * @return The https policy to use for tracking open and click events. Valid values are `REQUIRE`, `REQUIRE_OPEN_ONLY` or `OPTIONAL`. + * + */ + private String httpsPolicy; private GetConfigurationSetTrackingOption() {} /** @@ -24,6 +29,13 @@ private GetConfigurationSetTrackingOption() {} public String customRedirectDomain() { return this.customRedirectDomain; } + /** + * @return The https policy to use for tracking open and click events. Valid values are `REQUIRE`, `REQUIRE_OPEN_ONLY` or `OPTIONAL`. + * + */ + public String httpsPolicy() { + return this.httpsPolicy; + } public static Builder builder() { return new Builder(); @@ -35,10 +47,12 @@ public static Builder builder(GetConfigurationSetTrackingOption defaults) { @CustomType.Builder public static final class Builder { private String customRedirectDomain; + private String httpsPolicy; public Builder() {} public Builder(GetConfigurationSetTrackingOption defaults) { Objects.requireNonNull(defaults); this.customRedirectDomain = defaults.customRedirectDomain; + this.httpsPolicy = defaults.httpsPolicy; } @CustomType.Setter @@ -49,9 +63,18 @@ public Builder customRedirectDomain(String customRedirectDomain) { this.customRedirectDomain = customRedirectDomain; return this; } + @CustomType.Setter + public Builder httpsPolicy(String httpsPolicy) { + if (httpsPolicy == null) { + throw new MissingRequiredPropertyException("GetConfigurationSetTrackingOption", "httpsPolicy"); + } + this.httpsPolicy = httpsPolicy; + return this; + } public GetConfigurationSetTrackingOption build() { final var _resultValue = new GetConfigurationSetTrackingOption(); _resultValue.customRedirectDomain = customRedirectDomain; + _resultValue.httpsPolicy = httpsPolicy; return _resultValue; } } diff --git a/sdk/java/src/main/java/com/pulumi/aws/sfn/SfnFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/sfn/SfnFunctions.java index cfe967c3da3..65855217121 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/sfn/SfnFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/sfn/SfnFunctions.java @@ -20,6 +20,7 @@ import com.pulumi.core.TypeShape; import com.pulumi.deployment.Deployment; import com.pulumi.deployment.InvokeOptions; +import com.pulumi.deployment.InvokeOutputOptions; import java.util.concurrent.CompletableFuture; public final class SfnFunctions { @@ -233,6 +234,48 @@ public static CompletableFuture getActivityPlain(GetActivityP public static Output getActivity(GetActivityArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:sfn/getActivity:getActivity", TypeShape.of(GetActivityResult.class), args, Utilities.withVersion(options)); } + /** + * Provides a Step Functions Activity data source + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.sfn.SfnFunctions;
+     * import com.pulumi.aws.sfn.inputs.GetActivityArgs;
+     * 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 sfnActivity = SfnFunctions.getActivity(GetActivityArgs.builder()
+     *             .name("my-activity")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getActivity(GetActivityArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:sfn/getActivity:getActivity", TypeShape.of(GetActivityResult.class), args, Utilities.withVersion(options)); + } /** * Provides a Step Functions Activity data source * @@ -410,6 +453,51 @@ public static CompletableFuture getAliasPlain(GetAliasPlainArgs public static Output getAlias(GetAliasArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:sfn/getAlias:getAlias", TypeShape.of(GetAliasResult.class), args, Utilities.withVersion(options)); } + /** + * Data source for managing an AWS SFN (Step Functions) State Machine Alias. + * + * ## Example Usage + * + * ### Basic Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.sfn.SfnFunctions;
+     * import com.pulumi.aws.sfn.inputs.GetAliasArgs;
+     * 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 = SfnFunctions.getAlias(GetAliasArgs.builder()
+     *             .name("my_sfn_alias")
+     *             .statemachineArn(sfnTest.arn())
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getAlias(GetAliasArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:sfn/getAlias:getAlias", TypeShape.of(GetAliasResult.class), args, Utilities.withVersion(options)); + } /** * Data source for managing an AWS SFN (Step Functions) State Machine Alias. * @@ -587,6 +675,50 @@ public static CompletableFuture getStateMachinePlain(GetS public static Output getStateMachine(GetStateMachineArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:sfn/getStateMachine:getStateMachine", TypeShape.of(GetStateMachineResult.class), args, Utilities.withVersion(options)); } + /** + * Use this data source to get the ARN of a State Machine in AWS Step + * Function (SFN). By using this data source, you can reference a + * state machine without having to hard code the ARNs as input. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.sfn.SfnFunctions;
+     * import com.pulumi.aws.sfn.inputs.GetStateMachineArgs;
+     * 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 = SfnFunctions.getStateMachine(GetStateMachineArgs.builder()
+     *             .name("an_example_sfn_name")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getStateMachine(GetStateMachineArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:sfn/getStateMachine:getStateMachine", TypeShape.of(GetStateMachineResult.class), args, Utilities.withVersion(options)); + } /** * Use this data source to get the ARN of a State Machine in AWS Step * Function (SFN). By using this data source, you can reference a @@ -763,6 +895,50 @@ public static CompletableFuture getStateMachineVe public static Output getStateMachineVersions(GetStateMachineVersionsArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:sfn/getStateMachineVersions:getStateMachineVersions", TypeShape.of(GetStateMachineVersionsResult.class), args, Utilities.withVersion(options)); } + /** + * Data source for managing an AWS SFN (Step Functions) State Machine Versions. + * + * ## Example Usage + * + * ### Basic Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.sfn.SfnFunctions;
+     * import com.pulumi.aws.sfn.inputs.GetStateMachineVersionsArgs;
+     * 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 test = SfnFunctions.getStateMachineVersions(GetStateMachineVersionsArgs.builder()
+     *             .statemachineArn(testAwsSfnStateMachine.arn())
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getStateMachineVersions(GetStateMachineVersionsArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:sfn/getStateMachineVersions:getStateMachineVersions", TypeShape.of(GetStateMachineVersionsResult.class), args, Utilities.withVersion(options)); + } /** * Data source for managing an AWS SFN (Step Functions) State Machine Versions. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/shield/ShieldFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/shield/ShieldFunctions.java index a7ba45a56d5..4b82d333f98 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/shield/ShieldFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/shield/ShieldFunctions.java @@ -11,6 +11,7 @@ import com.pulumi.core.TypeShape; import com.pulumi.deployment.Deployment; import com.pulumi.deployment.InvokeOptions; +import com.pulumi.deployment.InvokeOutputOptions; import java.util.concurrent.CompletableFuture; public final class ShieldFunctions { @@ -409,6 +410,85 @@ public static CompletableFuture getProtectionPlain(GetProte public static Output getProtection(GetProtectionArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:shield/getProtection:getProtection", TypeShape.of(GetProtectionResult.class), args, Utilities.withVersion(options)); } + /** + * Data source for managing an AWS Shield Protection. + * + * ## Example Usage + * + * ### Basic Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.shield.ShieldFunctions;
+     * import com.pulumi.aws.shield.inputs.GetProtectionArgs;
+     * 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 = ShieldFunctions.getProtection(GetProtectionArgs.builder()
+     *             .protectionId("abc123")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + * ### By Resource ARN + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.shield.ShieldFunctions;
+     * import com.pulumi.aws.shield.inputs.GetProtectionArgs;
+     * 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 = ShieldFunctions.getProtection(GetProtectionArgs.builder()
+     *             .resourceArn("arn:aws:globalaccelerator::123456789012:accelerator/1234abcd-abcd-1234-abcd-1234abcdefgh")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getProtection(GetProtectionArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:shield/getProtection:getProtection", TypeShape.of(GetProtectionResult.class), args, Utilities.withVersion(options)); + } /** * Data source for managing an AWS Shield Protection. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/signer/SignerFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/signer/SignerFunctions.java index 95b6854c986..86986694d08 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/signer/SignerFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/signer/SignerFunctions.java @@ -14,6 +14,7 @@ import com.pulumi.core.TypeShape; import com.pulumi.deployment.Deployment; import com.pulumi.deployment.InvokeOptions; +import com.pulumi.deployment.InvokeOutputOptions; import java.util.concurrent.CompletableFuture; public final class SignerFunctions { @@ -143,6 +144,48 @@ public static CompletableFuture getSigningJobPlain(GetSigni public static Output getSigningJob(GetSigningJobArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:signer/getSigningJob:getSigningJob", TypeShape.of(GetSigningJobResult.class), args, Utilities.withVersion(options)); } + /** + * Provides information about a Signer Signing Job. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.signer.SignerFunctions;
+     * import com.pulumi.aws.signer.inputs.GetSigningJobArgs;
+     * 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 buildSigningJob = SignerFunctions.getSigningJob(GetSigningJobArgs.builder()
+     *             .jobId("9ed7e5c3-b8d4-4da0-8459-44e0b068f7ee")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getSigningJob(GetSigningJobArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:signer/getSigningJob:getSigningJob", TypeShape.of(GetSigningJobResult.class), args, Utilities.withVersion(options)); + } /** * Provides information about a Signer Signing Job. * @@ -311,6 +354,48 @@ public static CompletableFuture getSigningProfilePlain( public static Output getSigningProfile(GetSigningProfileArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:signer/getSigningProfile:getSigningProfile", TypeShape.of(GetSigningProfileResult.class), args, Utilities.withVersion(options)); } + /** + * Provides information about a Signer Signing Profile. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.signer.SignerFunctions;
+     * import com.pulumi.aws.signer.inputs.GetSigningProfileArgs;
+     * 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 productionSigningProfile = SignerFunctions.getSigningProfile(GetSigningProfileArgs.builder()
+     *             .name("prod_profile_DdW3Mk1foYL88fajut4mTVFGpuwfd4ACO6ANL0D1uIj7lrn8adK")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getSigningProfile(GetSigningProfileArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:signer/getSigningProfile:getSigningProfile", TypeShape.of(GetSigningProfileResult.class), args, Utilities.withVersion(options)); + } /** * Provides information about a Signer Signing Profile. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/sns/SnsFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/sns/SnsFunctions.java index 40d73d4f0ef..632ed15191e 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/sns/SnsFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/sns/SnsFunctions.java @@ -11,6 +11,7 @@ import com.pulumi.core.TypeShape; import com.pulumi.deployment.Deployment; import com.pulumi.deployment.InvokeOptions; +import com.pulumi.deployment.InvokeOutputOptions; import java.util.concurrent.CompletableFuture; public final class SnsFunctions { @@ -146,6 +147,50 @@ public static CompletableFuture getTopicPlain(GetTopicPlainArgs public static Output getTopic(GetTopicArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:sns/getTopic:getTopic", TypeShape.of(GetTopicResult.class), args, Utilities.withVersion(options)); } + /** + * Use this data source to get the ARN of a topic in AWS Simple Notification + * Service (SNS). By using this data source, you can reference SNS topics + * without having to hard code the ARNs as input. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.sns.SnsFunctions;
+     * import com.pulumi.aws.sns.inputs.GetTopicArgs;
+     * 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 = SnsFunctions.getTopic(GetTopicArgs.builder()
+     *             .name("an_example_topic")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getTopic(GetTopicArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:sns/getTopic:getTopic", TypeShape.of(GetTopicResult.class), args, Utilities.withVersion(options)); + } /** * Use this data source to get the ARN of a topic in AWS Simple Notification * Service (SNS). By using this data source, you can reference SNS topics diff --git a/sdk/java/src/main/java/com/pulumi/aws/sqs/SqsFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/sqs/SqsFunctions.java index 47d47e7ba17..dfdad431f2a 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/sqs/SqsFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/sqs/SqsFunctions.java @@ -14,6 +14,7 @@ import com.pulumi.core.TypeShape; import com.pulumi.deployment.Deployment; import com.pulumi.deployment.InvokeOptions; +import com.pulumi.deployment.InvokeOutputOptions; import java.util.concurrent.CompletableFuture; public final class SqsFunctions { @@ -149,6 +150,50 @@ public static CompletableFuture getQueuePlain(GetQueuePlainArgs public static Output getQueue(GetQueueArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:sqs/getQueue:getQueue", TypeShape.of(GetQueueResult.class), args, Utilities.withVersion(options)); } + /** + * Use this data source to get the ARN and URL of queue in AWS Simple Queue Service (SQS). + * By using this data source, you can reference SQS queues without having to hardcode + * the ARNs as input. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.sqs.SqsFunctions;
+     * import com.pulumi.aws.sqs.inputs.GetQueueArgs;
+     * 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 = SqsFunctions.getQueue(GetQueueArgs.builder()
+     *             .name("queue")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getQueue(GetQueueArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:sqs/getQueue:getQueue", TypeShape.of(GetQueueResult.class), args, Utilities.withVersion(options)); + } /** * Use this data source to get the ARN and URL of queue in AWS Simple Queue Service (SQS). * By using this data source, you can reference SQS queues without having to hardcode @@ -413,6 +458,50 @@ public static CompletableFuture getQueuesPlain(GetQueuesPlainAr public static Output getQueues(GetQueuesArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:sqs/getQueues:getQueues", TypeShape.of(GetQueuesResult.class), args, Utilities.withVersion(options)); } + /** + * Data source for managing an AWS SQS (Simple Queue) Queues. + * + * ## Example Usage + * + * ### Basic Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.sqs.SqsFunctions;
+     * import com.pulumi.aws.sqs.inputs.GetQueuesArgs;
+     * 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 = SqsFunctions.getQueues(GetQueuesArgs.builder()
+     *             .queueNamePrefix("example")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getQueues(GetQueuesArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:sqs/getQueues:getQueues", TypeShape.of(GetQueuesResult.class), args, Utilities.withVersion(options)); + } /** * Data source for managing an AWS SQS (Simple Queue) Queues. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/ssm/SsmFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/ssm/SsmFunctions.java index 193210dfa48..8649d8a8fcf 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ssm/SsmFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ssm/SsmFunctions.java @@ -32,6 +32,7 @@ import com.pulumi.core.TypeShape; import com.pulumi.deployment.Deployment; import com.pulumi.deployment.InvokeOptions; +import com.pulumi.deployment.InvokeOutputOptions; import java.util.concurrent.CompletableFuture; public final class SsmFunctions { @@ -161,6 +162,48 @@ public static CompletableFuture getContactsRotationPl public static Output getContactsRotation(GetContactsRotationArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:ssm/getContactsRotation:getContactsRotation", TypeShape.of(GetContactsRotationResult.class), args, Utilities.withVersion(options)); } + /** + * ## Example Usage + * + * ### Basic Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.ssm.SsmFunctions;
+     * import com.pulumi.aws.ssm.inputs.GetContactsRotationArgs;
+     * 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 = SsmFunctions.getContactsRotation(GetContactsRotationArgs.builder()
+     *             .arn("arn:aws:ssm-contacts:us-east-1:012345678910:rotation/example")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getContactsRotation(GetContactsRotationArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:ssm/getContactsRotation:getContactsRotation", TypeShape.of(GetContactsRotationResult.class), args, Utilities.withVersion(options)); + } /** * ## Example Usage * @@ -449,6 +492,88 @@ public static CompletableFuture getDocumentPlain(GetDocumentP public static Output getDocument(GetDocumentArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:ssm/getDocument:getDocument", TypeShape.of(GetDocumentResult.class), args, Utilities.withVersion(options)); } + /** + * Gets the contents of the specified Systems Manager document. + * + * ## Example Usage + * + * To get the contents of the document owned by AWS. + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.ssm.SsmFunctions;
+     * import com.pulumi.aws.ssm.inputs.GetDocumentArgs;
+     * 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 foo = SsmFunctions.getDocument(GetDocumentArgs.builder()
+     *             .name("AWS-GatherSoftwareInventory")
+     *             .documentFormat("YAML")
+     *             .build());
+     * 
+     *         ctx.export("content", foo.applyValue(getDocumentResult -> getDocumentResult.content()));
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + * To get the contents of the custom document. + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.ssm.SsmFunctions;
+     * import com.pulumi.aws.ssm.inputs.GetDocumentArgs;
+     * 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 test = SsmFunctions.getDocument(GetDocumentArgs.builder()
+     *             .name(testAwsSsmDocument.name())
+     *             .documentFormat("JSON")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getDocument(GetDocumentArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:ssm/getDocument:getDocument", TypeShape.of(GetDocumentResult.class), args, Utilities.withVersion(options)); + } /** * Gets the contents of the specified Systems Manager document. * @@ -756,6 +881,51 @@ public static CompletableFuture getInstancesPlain(GetInstanc public static Output getInstances(GetInstancesArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:ssm/getInstances:getInstances", TypeShape.of(GetInstancesResult.class), args, Utilities.withVersion(options)); } + /** + * Use this data source to get the instance IDs of SSM managed instances. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.ssm.SsmFunctions;
+     * import com.pulumi.aws.ssm.inputs.GetInstancesArgs;
+     * 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 = SsmFunctions.getInstances(GetInstancesArgs.builder()
+     *             .filters(GetInstancesFilterArgs.builder()
+     *                 .name("PlatformTypes")
+     *                 .values("Linux")
+     *                 .build())
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getInstances(GetInstancesArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:ssm/getInstances:getInstances", TypeShape.of(GetInstancesResult.class), args, Utilities.withVersion(options)); + } /** * Use this data source to get the instance IDs of SSM managed instances. * @@ -1026,6 +1196,51 @@ public static CompletableFuture getMaintenanceWindo public static Output getMaintenanceWindows(GetMaintenanceWindowsArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:ssm/getMaintenanceWindows:getMaintenanceWindows", TypeShape.of(GetMaintenanceWindowsResult.class), args, Utilities.withVersion(options)); } + /** + * Use this data source to get the window IDs of SSM maintenance windows. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.ssm.SsmFunctions;
+     * import com.pulumi.aws.ssm.inputs.GetMaintenanceWindowsArgs;
+     * 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 = SsmFunctions.getMaintenanceWindows(GetMaintenanceWindowsArgs.builder()
+     *             .filters(GetMaintenanceWindowsFilterArgs.builder()
+     *                 .name("Enabled")
+     *                 .values("true")
+     *                 .build())
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getMaintenanceWindows(GetMaintenanceWindowsArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:ssm/getMaintenanceWindows:getMaintenanceWindows", TypeShape.of(GetMaintenanceWindowsResult.class), args, Utilities.withVersion(options)); + } /** * Use this data source to get the window IDs of SSM maintenance windows. * @@ -1203,6 +1418,50 @@ public static CompletableFuture getParameterPlain(GetParamet public static Output getParameter(GetParameterArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:ssm/getParameter:getParameter", TypeShape.of(GetParameterResult.class), args, Utilities.withVersion(options)); } + /** + * Provides an SSM Parameter data source. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.ssm.SsmFunctions;
+     * import com.pulumi.aws.ssm.inputs.GetParameterArgs;
+     * 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 foo = SsmFunctions.getParameter(GetParameterArgs.builder()
+     *             .name("foo")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + * > **Note:** The unencrypted value of a SecureString will be stored in the raw state as plain-text. + * + */ + public static Output getParameter(GetParameterArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:ssm/getParameter:getParameter", TypeShape.of(GetParameterResult.class), args, Utilities.withVersion(options)); + } /** * Provides an SSM Parameter data source. * @@ -1256,6 +1515,9 @@ public static CompletableFuture getParametersByPathPl public static Output getParametersByPath(GetParametersByPathArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:ssm/getParametersByPath:getParametersByPath", TypeShape.of(GetParametersByPathResult.class), args, Utilities.withVersion(options)); } + public static Output getParametersByPath(GetParametersByPathArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:ssm/getParametersByPath:getParametersByPath", TypeShape.of(GetParametersByPathResult.class), args, Utilities.withVersion(options)); + } public static CompletableFuture getParametersByPathPlain(GetParametersByPathPlainArgs args, InvokeOptions options) { return Deployment.getInstance().invokeAsync("aws:ssm/getParametersByPath:getParametersByPath", TypeShape.of(GetParametersByPathResult.class), args, Utilities.withVersion(options)); } @@ -1511,6 +1773,90 @@ public static CompletableFuture getPatchBaselinePlain(Ge public static Output getPatchBaseline(GetPatchBaselineArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:ssm/getPatchBaseline:getPatchBaseline", TypeShape.of(GetPatchBaselineResult.class), args, Utilities.withVersion(options)); } + /** + * Provides an SSM Patch Baseline data source. Useful if you wish to reuse the default baselines provided. + * + * ## Example Usage + * + * To retrieve a baseline provided by AWS: + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.ssm.SsmFunctions;
+     * import com.pulumi.aws.ssm.inputs.GetPatchBaselineArgs;
+     * 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 centos = SsmFunctions.getPatchBaseline(GetPatchBaselineArgs.builder()
+     *             .owner("AWS")
+     *             .namePrefix("AWS-")
+     *             .operatingSystem("CENTOS")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + * To retrieve a baseline on your account: + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.ssm.SsmFunctions;
+     * import com.pulumi.aws.ssm.inputs.GetPatchBaselineArgs;
+     * 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 defaultCustom = SsmFunctions.getPatchBaseline(GetPatchBaselineArgs.builder()
+     *             .owner("Self")
+     *             .namePrefix("MyCustomBaseline")
+     *             .defaultBaseline(true)
+     *             .operatingSystem("WINDOWS")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getPatchBaseline(GetPatchBaselineArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:ssm/getPatchBaseline:getPatchBaseline", TypeShape.of(GetPatchBaselineResult.class), args, Utilities.withVersion(options)); + } /** * Provides an SSM Patch Baseline data source. Useful if you wish to reuse the default baselines provided. * @@ -2020,6 +2366,91 @@ public static CompletableFuture getPatchBaselinesPlain( public static Output getPatchBaselines(GetPatchBaselinesArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:ssm/getPatchBaselines:getPatchBaselines", TypeShape.of(GetPatchBaselinesResult.class), args, Utilities.withVersion(options)); } + /** + * Data source for retrieving AWS SSM (Systems Manager) Patch Baselines. + * + * ## Example Usage + * + * ### Basic Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.ssm.SsmFunctions;
+     * import com.pulumi.aws.ssm.inputs.GetPatchBaselinesArgs;
+     * 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 = SsmFunctions.getPatchBaselines();
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + * ### With Filters + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.ssm.SsmFunctions;
+     * import com.pulumi.aws.ssm.inputs.GetPatchBaselinesArgs;
+     * 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 = SsmFunctions.getPatchBaselines(GetPatchBaselinesArgs.builder()
+     *             .filters(            
+     *                 GetPatchBaselinesFilterArgs.builder()
+     *                     .key("OWNER")
+     *                     .values("AWS")
+     *                     .build(),
+     *                 GetPatchBaselinesFilterArgs.builder()
+     *                     .key("OPERATING_SYSTEM")
+     *                     .values("WINDOWS")
+     *                     .build())
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getPatchBaselines(GetPatchBaselinesArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:ssm/getPatchBaselines:getPatchBaselines", TypeShape.of(GetPatchBaselinesResult.class), args, Utilities.withVersion(options)); + } /** * Data source for retrieving AWS SSM (Systems Manager) Patch Baselines. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/ssmcontacts/SsmcontactsFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/ssmcontacts/SsmcontactsFunctions.java index 2cdc7ba270c..415d113746b 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ssmcontacts/SsmcontactsFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ssmcontacts/SsmcontactsFunctions.java @@ -17,6 +17,7 @@ import com.pulumi.core.TypeShape; import com.pulumi.deployment.Deployment; import com.pulumi.deployment.InvokeOptions; +import com.pulumi.deployment.InvokeOutputOptions; import java.util.concurrent.CompletableFuture; public final class SsmcontactsFunctions { @@ -152,6 +153,50 @@ public static CompletableFuture getContactPlain(GetContactPlai public static Output getContact(GetContactArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:ssmcontacts/getContact:getContact", TypeShape.of(GetContactResult.class), args, Utilities.withVersion(options)); } + /** + * Data source for managing an AWS SSM Contact. + * + * ## Example Usage + * + * ### Basic Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.ssmcontacts.SsmcontactsFunctions;
+     * import com.pulumi.aws.ssmcontacts.inputs.GetContactArgs;
+     * 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 = SsmcontactsFunctions.getContact(GetContactArgs.builder()
+     *             .arn("arn:aws:ssm-contacts:us-west-2:123456789012:contact/contactalias")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getContact(GetContactArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:ssmcontacts/getContact:getContact", TypeShape.of(GetContactResult.class), args, Utilities.withVersion(options)); + } /** * Data source for managing an AWS SSM Contact. * @@ -328,6 +373,50 @@ public static CompletableFuture getContactChannelPlain( public static Output getContactChannel(GetContactChannelArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:ssmcontacts/getContactChannel:getContactChannel", TypeShape.of(GetContactChannelResult.class), args, Utilities.withVersion(options)); } + /** + * Data source for managing an AWS SSM Contacts Contact Channel. + * + * ## Example Usage + * + * ### Basic Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.ssmcontacts.SsmcontactsFunctions;
+     * import com.pulumi.aws.ssmcontacts.inputs.GetContactChannelArgs;
+     * 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 = SsmcontactsFunctions.getContactChannel(GetContactChannelArgs.builder()
+     *             .arn("arn:aws:ssm-contacts:us-west-2:123456789012:contact-channel/example")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getContactChannel(GetContactChannelArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:ssmcontacts/getContactChannel:getContactChannel", TypeShape.of(GetContactChannelResult.class), args, Utilities.withVersion(options)); + } /** * Data source for managing an AWS SSM Contacts Contact Channel. * @@ -504,6 +593,50 @@ public static CompletableFuture getPlanPlain(GetPlanPlainArgs arg public static Output getPlan(GetPlanArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:ssmcontacts/getPlan:getPlan", TypeShape.of(GetPlanResult.class), args, Utilities.withVersion(options)); } + /** + * Data source for managing a Plan of an AWS SSM Contact. + * + * ## Example Usage + * + * ### Basic Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.ssmcontacts.SsmcontactsFunctions;
+     * import com.pulumi.aws.ssmcontacts.inputs.GetPlanArgs;
+     * 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 test = SsmcontactsFunctions.getPlan(GetPlanArgs.builder()
+     *             .contactId("arn:aws:ssm-contacts:us-west-2:123456789012:contact/contactalias")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getPlan(GetPlanArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:ssmcontacts/getPlan:getPlan", TypeShape.of(GetPlanResult.class), args, Utilities.withVersion(options)); + } /** * Data source for managing a Plan of an AWS SSM Contact. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/ssmincidents/SsmincidentsFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/ssmincidents/SsmincidentsFunctions.java index 5af92c1ddad..5954b8ba495 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ssmincidents/SsmincidentsFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ssmincidents/SsmincidentsFunctions.java @@ -14,6 +14,7 @@ import com.pulumi.core.TypeShape; import com.pulumi.deployment.Deployment; import com.pulumi.deployment.InvokeOptions; +import com.pulumi.deployment.InvokeOutputOptions; import java.util.concurrent.CompletableFuture; public final class SsmincidentsFunctions { @@ -237,6 +238,50 @@ public static CompletableFuture getReplicationSetPlain( public static Output getReplicationSet(GetReplicationSetArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:ssmincidents/getReplicationSet:getReplicationSet", TypeShape.of(GetReplicationSetResult.class), args, Utilities.withVersion(options)); } + /** + * > **NOTE:** The AWS Region specified by a provider must always be one of the Regions specified for the replication set. + * + * Use this data source to manage a replication set in AWS Systems Manager Incident Manager. + * + * ## Example Usage + * + * ### Basic Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.ssmincidents.SsmincidentsFunctions;
+     * import com.pulumi.aws.ssmincidents.inputs.GetReplicationSetArgs;
+     * 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 = SsmincidentsFunctions.getReplicationSet();
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getReplicationSet(GetReplicationSetArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:ssmincidents/getReplicationSet:getReplicationSet", TypeShape.of(GetReplicationSetResult.class), args, Utilities.withVersion(options)); + } /** * > **NOTE:** The AWS Region specified by a provider must always be one of the Regions specified for the replication set. * @@ -323,6 +368,20 @@ public static CompletableFuture getResponsePlanPlain(GetR public static Output getResponsePlan(GetResponsePlanArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:ssmincidents/getResponsePlan:getResponsePlan", TypeShape.of(GetResponsePlanResult.class), args, Utilities.withVersion(options)); } + /** + * Use this data source to manage a response plan in AWS Systems Manager Incident Manager. + * + * ## Example Usage + * + * ### Basic Usage + * + * <!--Start PulumiCodeChooser --> + * <!--End PulumiCodeChooser --> + * + */ + public static Output getResponsePlan(GetResponsePlanArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:ssmincidents/getResponsePlan:getResponsePlan", TypeShape.of(GetResponsePlanResult.class), args, Utilities.withVersion(options)); + } /** * Use this data source to manage a response plan in AWS Systems Manager Incident Manager. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/ssoadmin/SsoadminFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/ssoadmin/SsoadminFunctions.java index dcd13e939dc..47f54bde3d2 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ssoadmin/SsoadminFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ssoadmin/SsoadminFunctions.java @@ -27,6 +27,7 @@ import com.pulumi.core.TypeShape; import com.pulumi.deployment.Deployment; import com.pulumi.deployment.InvokeOptions; +import com.pulumi.deployment.InvokeOutputOptions; import com.pulumi.resources.InvokeArgs; import java.util.concurrent.CompletableFuture; @@ -163,6 +164,50 @@ public static CompletableFuture getApplicationPlain(GetApp public static Output getApplication(GetApplicationArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:ssoadmin/getApplication:getApplication", TypeShape.of(GetApplicationResult.class), args, Utilities.withVersion(options)); } + /** + * Data source for managing an AWS SSO Admin Application. + * + * ## Example Usage + * + * ### Basic Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.ssoadmin.SsoadminFunctions;
+     * import com.pulumi.aws.ssoadmin.inputs.GetApplicationArgs;
+     * 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 = SsoadminFunctions.getApplication(GetApplicationArgs.builder()
+     *             .applicationArn("arn:aws:sso::123456789012:application/ssoins-1234/apl-5678")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getApplication(GetApplicationArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:ssoadmin/getApplication:getApplication", TypeShape.of(GetApplicationResult.class), args, Utilities.withVersion(options)); + } /** * Data source for managing an AWS SSO Admin Application. * @@ -339,6 +384,50 @@ public static CompletableFuture getApplicationA public static Output getApplicationAssignments(GetApplicationAssignmentsArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:ssoadmin/getApplicationAssignments:getApplicationAssignments", TypeShape.of(GetApplicationAssignmentsResult.class), args, Utilities.withVersion(options)); } + /** + * Data source for managing AWS SSO Admin Application Assignments. + * + * ## Example Usage + * + * ### Basic Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.ssoadmin.SsoadminFunctions;
+     * import com.pulumi.aws.ssoadmin.inputs.GetApplicationAssignmentsArgs;
+     * 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 = SsoadminFunctions.getApplicationAssignments(GetApplicationAssignmentsArgs.builder()
+     *             .applicationArn(exampleAwsSsoadminApplication.applicationArn())
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getApplicationAssignments(GetApplicationAssignmentsArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:ssoadmin/getApplicationAssignments:getApplicationAssignments", TypeShape.of(GetApplicationAssignmentsResult.class), args, Utilities.withVersion(options)); + } /** * Data source for managing AWS SSO Admin Application Assignments. * @@ -593,6 +682,48 @@ public static CompletableFuture getApplicationPro public static Output getApplicationProviders(GetApplicationProvidersArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:ssoadmin/getApplicationProviders:getApplicationProviders", TypeShape.of(GetApplicationProvidersResult.class), args, Utilities.withVersion(options)); } + /** + * Data source for managing AWS SSO Admin Application Providers. + * + * ## Example Usage + * + * ### Basic Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.ssoadmin.SsoadminFunctions;
+     * import com.pulumi.aws.ssoadmin.inputs.GetApplicationProvidersArgs;
+     * 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 = SsoadminFunctions.getApplicationProviders();
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getApplicationProviders(GetApplicationProvidersArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:ssoadmin/getApplicationProviders:getApplicationProviders", TypeShape.of(GetApplicationProvidersResult.class), args, Utilities.withVersion(options)); + } /** * Data source for managing AWS SSO Admin Application Providers. * @@ -840,6 +971,47 @@ public static CompletableFuture getInstancesPlain(InvokeArgs public static Output getInstances(InvokeArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:ssoadmin/getInstances:getInstances", TypeShape.of(GetInstancesResult.class), args, Utilities.withVersion(options)); } + /** + * Use this data source to get ARNs and Identity Store IDs of Single Sign-On (SSO) Instances. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.ssoadmin.SsoadminFunctions;
+     * 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 = SsoadminFunctions.getInstances();
+     * 
+     *         ctx.export("arn", example.applyValue(getInstancesResult -> getInstancesResult.arns()[0]));
+     *         ctx.export("identityStoreId", example.applyValue(getInstancesResult -> getInstancesResult.identityStoreIds()[0]));
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getInstances(InvokeArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:ssoadmin/getInstances:getInstances", TypeShape.of(GetInstancesResult.class), args, Utilities.withVersion(options)); + } /** * Use this data source to get ARNs and Identity Store IDs of Single Sign-On (SSO) Instances. * @@ -1019,6 +1191,52 @@ public static CompletableFuture getPermissionSetPlain(Ge public static Output getPermissionSet(GetPermissionSetArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:ssoadmin/getPermissionSet:getPermissionSet", TypeShape.of(GetPermissionSetResult.class), args, Utilities.withVersion(options)); } + /** + * Use this data source to get a Single Sign-On (SSO) Permission Set. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.ssoadmin.SsoadminFunctions;
+     * import com.pulumi.aws.ssoadmin.inputs.GetPermissionSetArgs;
+     * 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 = SsoadminFunctions.getInstances();
+     * 
+     *         final var exampleGetPermissionSet = SsoadminFunctions.getPermissionSet(GetPermissionSetArgs.builder()
+     *             .instanceArn(example.applyValue(getInstancesResult -> getInstancesResult.arns()[0]))
+     *             .name("Example")
+     *             .build());
+     * 
+     *         ctx.export("arn", exampleGetPermissionSet.applyValue(getPermissionSetResult -> getPermissionSetResult.arn()));
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getPermissionSet(GetPermissionSetArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:ssoadmin/getPermissionSet:getPermissionSet", TypeShape.of(GetPermissionSetResult.class), args, Utilities.withVersion(options)); + } /** * Use this data source to get a Single Sign-On (SSO) Permission Set. * @@ -1203,6 +1421,52 @@ public static CompletableFuture getPermissionSetsPlain( public static Output getPermissionSets(GetPermissionSetsArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:ssoadmin/getPermissionSets:getPermissionSets", TypeShape.of(GetPermissionSetsResult.class), args, Utilities.withVersion(options)); } + /** + * Data source returning the ARN of all AWS SSO Admin Permission Sets. + * + * ## Example Usage + * + * ### Basic Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.ssoadmin.SsoadminFunctions;
+     * import com.pulumi.aws.ssoadmin.inputs.GetPermissionSetsArgs;
+     * 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 = SsoadminFunctions.getInstances();
+     * 
+     *         final var exampleGetPermissionSets = SsoadminFunctions.getPermissionSets(GetPermissionSetsArgs.builder()
+     *             .instanceArn(example.applyValue(getInstancesResult -> getInstancesResult.arns()[0]))
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getPermissionSets(GetPermissionSetsArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:ssoadmin/getPermissionSets:getPermissionSets", TypeShape.of(GetPermissionSetsResult.class), args, Utilities.withVersion(options)); + } /** * Data source returning the ARN of all AWS SSO Admin Permission Sets. * @@ -1387,6 +1651,52 @@ public static CompletableFuture getPri public static Output getPrincipalApplicationAssignments(GetPrincipalApplicationAssignmentsArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:ssoadmin/getPrincipalApplicationAssignments:getPrincipalApplicationAssignments", TypeShape.of(GetPrincipalApplicationAssignmentsResult.class), args, Utilities.withVersion(options)); } + /** + * Data source for viewing AWS SSO Admin Principal Application Assignments. + * + * ## Example Usage + * + * ### Basic Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.ssoadmin.SsoadminFunctions;
+     * import com.pulumi.aws.ssoadmin.inputs.GetPrincipalApplicationAssignmentsArgs;
+     * 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 = SsoadminFunctions.getPrincipalApplicationAssignments(GetPrincipalApplicationAssignmentsArgs.builder()
+     *             .instanceArn(test.arns()[0])
+     *             .principalId(testAwsIdentitystoreUser.userId())
+     *             .principalType("USER")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getPrincipalApplicationAssignments(GetPrincipalApplicationAssignmentsArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:ssoadmin/getPrincipalApplicationAssignments:getPrincipalApplicationAssignments", TypeShape.of(GetPrincipalApplicationAssignmentsResult.class), args, Utilities.withVersion(options)); + } /** * Data source for viewing AWS SSO Admin Principal Application Assignments. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/storagegateway/StoragegatewayFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/storagegateway/StoragegatewayFunctions.java index d184d3539a5..90c0dc9029a 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/storagegateway/StoragegatewayFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/storagegateway/StoragegatewayFunctions.java @@ -11,6 +11,7 @@ import com.pulumi.core.TypeShape; import com.pulumi.deployment.Deployment; import com.pulumi.deployment.InvokeOptions; +import com.pulumi.deployment.InvokeOutputOptions; import java.util.concurrent.CompletableFuture; public final class StoragegatewayFunctions { @@ -143,6 +144,49 @@ public static CompletableFuture getLocalDiskPlain(GetLocalDi public static Output getLocalDisk(GetLocalDiskArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:storagegateway/getLocalDisk:getLocalDisk", TypeShape.of(GetLocalDiskResult.class), args, Utilities.withVersion(options)); } + /** + * Retrieve information about a Storage Gateway local disk. The disk identifier is useful for adding the disk as a cache or upload buffer to a gateway. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.storagegateway.StoragegatewayFunctions;
+     * import com.pulumi.aws.storagegateway.inputs.GetLocalDiskArgs;
+     * 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 test = StoragegatewayFunctions.getLocalDisk(GetLocalDiskArgs.builder()
+     *             .diskPath(testAwsVolumeAttachment.deviceName())
+     *             .gatewayArn(testAwsStoragegatewayGateway.arn())
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getLocalDisk(GetLocalDiskArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:storagegateway/getLocalDisk:getLocalDisk", TypeShape.of(GetLocalDiskResult.class), args, Utilities.withVersion(options)); + } /** * Retrieve information about a Storage Gateway local disk. The disk identifier is useful for adding the disk as a cache or upload buffer to a gateway. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/synthetics/SyntheticsFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/synthetics/SyntheticsFunctions.java index 68c6859055e..5bd47dfe413 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/synthetics/SyntheticsFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/synthetics/SyntheticsFunctions.java @@ -14,6 +14,7 @@ import com.pulumi.core.TypeShape; import com.pulumi.deployment.Deployment; import com.pulumi.deployment.InvokeOptions; +import com.pulumi.deployment.InvokeOutputOptions; import java.util.concurrent.CompletableFuture; public final class SyntheticsFunctions { @@ -260,6 +261,87 @@ public static CompletableFuture getRuntimeVersionPlain( public static Output getRuntimeVersion(GetRuntimeVersionArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:synthetics/getRuntimeVersion:getRuntimeVersion", TypeShape.of(GetRuntimeVersionResult.class), args, Utilities.withVersion(options)); } + /** + * Data source for managing an AWS CloudWatch Synthetics Runtime Version. + * + * ## Example Usage + * + * ### Latest Runtime Version + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.synthetics.SyntheticsFunctions;
+     * import com.pulumi.aws.synthetics.inputs.GetRuntimeVersionArgs;
+     * import java.util.List;
+     * import java.util.ArrayList;
+     * import java.util.Map;
+     * import java.io.File;
+     * import java.nio.file.Files;
+     * import java.nio.file.Paths;
+     * 
+     * public class App {
+     *     public static void main(String[] args) {
+     *         Pulumi.run(App::stack);
+     *     }
+     * 
+     *     public static void stack(Context ctx) {
+     *         final var example = SyntheticsFunctions.getRuntimeVersion(GetRuntimeVersionArgs.builder()
+     *             .prefix("syn-nodejs-puppeteer")
+     *             .latest(true)
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + * ### Specific Runtime Version + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.synthetics.SyntheticsFunctions;
+     * import com.pulumi.aws.synthetics.inputs.GetRuntimeVersionArgs;
+     * import java.util.List;
+     * import java.util.ArrayList;
+     * import java.util.Map;
+     * import java.io.File;
+     * import java.nio.file.Files;
+     * import java.nio.file.Paths;
+     * 
+     * public class App {
+     *     public static void main(String[] args) {
+     *         Pulumi.run(App::stack);
+     *     }
+     * 
+     *     public static void stack(Context ctx) {
+     *         final var example = SyntheticsFunctions.getRuntimeVersion(GetRuntimeVersionArgs.builder()
+     *             .prefix("syn-nodejs-puppeteer")
+     *             .version("9.0")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getRuntimeVersion(GetRuntimeVersionArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:synthetics/getRuntimeVersion:getRuntimeVersion", TypeShape.of(GetRuntimeVersionResult.class), args, Utilities.withVersion(options)); + } /** * Data source for managing an AWS CloudWatch Synthetics Runtime Version. * @@ -551,6 +633,48 @@ public static CompletableFuture getRuntimeVersionsPlai public static Output getRuntimeVersions(GetRuntimeVersionsArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:synthetics/getRuntimeVersions:getRuntimeVersions", TypeShape.of(GetRuntimeVersionsResult.class), args, Utilities.withVersion(options)); } + /** + * Data source for managing an AWS CloudWatch Synthetics Runtime Versions. + * + * ## Example Usage + * + * ### Basic Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.synthetics.SyntheticsFunctions;
+     * import com.pulumi.aws.synthetics.inputs.GetRuntimeVersionsArgs;
+     * import java.util.List;
+     * import java.util.ArrayList;
+     * import java.util.Map;
+     * import java.io.File;
+     * import java.nio.file.Files;
+     * import java.nio.file.Paths;
+     * 
+     * public class App {
+     *     public static void main(String[] args) {
+     *         Pulumi.run(App::stack);
+     *     }
+     * 
+     *     public static void stack(Context ctx) {
+     *         final var example = SyntheticsFunctions.getRuntimeVersions();
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getRuntimeVersions(GetRuntimeVersionsArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:synthetics/getRuntimeVersions:getRuntimeVersions", TypeShape.of(GetRuntimeVersionsResult.class), args, Utilities.withVersion(options)); + } /** * Data source for managing an AWS CloudWatch Synthetics Runtime Versions. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/timestreamwrite/TimestreamwriteFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/timestreamwrite/TimestreamwriteFunctions.java index 5407c14921e..9e8c18b767f 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/timestreamwrite/TimestreamwriteFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/timestreamwrite/TimestreamwriteFunctions.java @@ -14,6 +14,7 @@ import com.pulumi.core.TypeShape; import com.pulumi.deployment.Deployment; import com.pulumi.deployment.InvokeOptions; +import com.pulumi.deployment.InvokeOutputOptions; import java.util.concurrent.CompletableFuture; public final class TimestreamwriteFunctions { @@ -149,6 +150,50 @@ public static CompletableFuture getDatabasePlain(GetDatabaseP public static Output getDatabase(GetDatabaseArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:timestreamwrite/getDatabase:getDatabase", TypeShape.of(GetDatabaseResult.class), args, Utilities.withVersion(options)); } + /** + * Data source for managing an AWS Timestream Write Database. + * + * ## Example Usage + * + * ### Basic Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.timestreamwrite.TimestreamwriteFunctions;
+     * import com.pulumi.aws.timestreamwrite.inputs.GetDatabaseArgs;
+     * 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 test = TimestreamwriteFunctions.getDatabase(GetDatabaseArgs.builder()
+     *             .name("database-example")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getDatabase(GetDatabaseArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:timestreamwrite/getDatabase:getDatabase", TypeShape.of(GetDatabaseResult.class), args, Utilities.withVersion(options)); + } /** * Data source for managing an AWS Timestream Write Database. * @@ -328,6 +373,51 @@ public static CompletableFuture getTablePlain(GetTablePlainArgs public static Output getTable(GetTableArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:timestreamwrite/getTable:getTable", TypeShape.of(GetTableResult.class), args, Utilities.withVersion(options)); } + /** + * Data source for managing an AWS Timestream Write Table. + * + * ## Example Usage + * + * ### Basic Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.timestreamwrite.TimestreamwriteFunctions;
+     * import com.pulumi.aws.timestreamwrite.inputs.GetTableArgs;
+     * 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 test = TimestreamwriteFunctions.getTable(GetTableArgs.builder()
+     *             .databaseName(testAwsTimestreamwriteDatabase.databaseName())
+     *             .name(testAwsTimestreamwriteTable.tableName())
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getTable(GetTableArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:timestreamwrite/getTable:getTable", TypeShape.of(GetTableResult.class), args, Utilities.withVersion(options)); + } /** * Data source for managing an AWS Timestream Write Table. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/transfer/TransferFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/transfer/TransferFunctions.java index 6d7cf703ba7..a14cd9ca8b5 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/transfer/TransferFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/transfer/TransferFunctions.java @@ -14,6 +14,7 @@ import com.pulumi.core.TypeShape; import com.pulumi.deployment.Deployment; import com.pulumi.deployment.InvokeOptions; +import com.pulumi.deployment.InvokeOutputOptions; import java.util.concurrent.CompletableFuture; public final class TransferFunctions { @@ -38,6 +39,13 @@ public static CompletableFuture getConnectorPlain(GetConnect public static Output getConnector(GetConnectorArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:transfer/getConnector:getConnector", TypeShape.of(GetConnectorResult.class), args, Utilities.withVersion(options)); } + /** + * Data source for managing an AWS Transfer Family Connector. + * + */ + public static Output getConnector(GetConnectorArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:transfer/getConnector:getConnector", TypeShape.of(GetConnectorResult.class), args, Utilities.withVersion(options)); + } /** * Data source for managing an AWS Transfer Family Connector. * @@ -174,6 +182,49 @@ public static CompletableFuture getServerPlain(GetServerPlainAr public static Output getServer(GetServerArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:transfer/getServer:getServer", TypeShape.of(GetServerResult.class), args, Utilities.withVersion(options)); } + /** + * Use this data source to get the ARN of an AWS Transfer Server for use in other + * resources. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.transfer.TransferFunctions;
+     * import com.pulumi.aws.transfer.inputs.GetServerArgs;
+     * 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 = TransferFunctions.getServer(GetServerArgs.builder()
+     *             .serverId("s-1234567")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getServer(GetServerArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:transfer/getServer:getServer", TypeShape.of(GetServerResult.class), args, Utilities.withVersion(options)); + } /** * Use this data source to get the ARN of an AWS Transfer Server for use in other * resources. diff --git a/sdk/java/src/main/java/com/pulumi/aws/verifiedpermissions/VerifiedpermissionsFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/verifiedpermissions/VerifiedpermissionsFunctions.java index 8c5f00b703e..91117d03726 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/verifiedpermissions/VerifiedpermissionsFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/verifiedpermissions/VerifiedpermissionsFunctions.java @@ -11,6 +11,7 @@ import com.pulumi.core.TypeShape; import com.pulumi.deployment.Deployment; import com.pulumi.deployment.InvokeOptions; +import com.pulumi.deployment.InvokeOutputOptions; import java.util.concurrent.CompletableFuture; public final class VerifiedpermissionsFunctions { @@ -146,6 +147,50 @@ public static CompletableFuture getPolicyStorePlain(GetPol public static Output getPolicyStore(GetPolicyStoreArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:verifiedpermissions/getPolicyStore:getPolicyStore", TypeShape.of(GetPolicyStoreResult.class), args, Utilities.withVersion(options)); } + /** + * Data source for managing an AWS Verified Permissions Policy Store. + * + * ## Example Usage + * + * ### Basic Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.verifiedpermissions.VerifiedpermissionsFunctions;
+     * import com.pulumi.aws.verifiedpermissions.inputs.GetPolicyStoreArgs;
+     * 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 = VerifiedpermissionsFunctions.getPolicyStore(GetPolicyStoreArgs.builder()
+     *             .id("example")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getPolicyStore(GetPolicyStoreArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:verifiedpermissions/getPolicyStore:getPolicyStore", TypeShape.of(GetPolicyStoreResult.class), args, Utilities.withVersion(options)); + } /** * Data source for managing an AWS Verified Permissions Policy Store. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/vpc/VpcFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/vpc/VpcFunctions.java index 00c0ae53947..69217faac79 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/vpc/VpcFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/vpc/VpcFunctions.java @@ -14,6 +14,7 @@ import com.pulumi.core.TypeShape; import com.pulumi.deployment.Deployment; import com.pulumi.deployment.InvokeOptions; +import com.pulumi.deployment.InvokeOutputOptions; import java.util.concurrent.CompletableFuture; public final class VpcFunctions { @@ -227,6 +228,48 @@ public static CompletableFuture getSecurityGroupRule public static Output getSecurityGroupRule(GetSecurityGroupRuleArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:vpc/getSecurityGroupRule:getSecurityGroupRule", TypeShape.of(GetSecurityGroupRuleResult.class), args, Utilities.withVersion(options)); } + /** + * `aws.vpc.getSecurityGroupRule` provides details about a specific security group rule. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.vpc.VpcFunctions;
+     * import com.pulumi.aws.vpc.inputs.GetSecurityGroupRuleArgs;
+     * 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 = VpcFunctions.getSecurityGroupRule(GetSecurityGroupRuleArgs.builder()
+     *             .securityGroupRuleId(securityGroupRuleId)
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getSecurityGroupRule(GetSecurityGroupRuleArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:vpc/getSecurityGroupRule:getSecurityGroupRule", TypeShape.of(GetSecurityGroupRuleResult.class), args, Utilities.withVersion(options)); + } /** * `aws.vpc.getSecurityGroupRule` provides details about a specific security group rule. * @@ -494,6 +537,51 @@ public static CompletableFuture getSecurityGroupRul public static Output getSecurityGroupRules(GetSecurityGroupRulesArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:vpc/getSecurityGroupRules:getSecurityGroupRules", TypeShape.of(GetSecurityGroupRulesResult.class), args, Utilities.withVersion(options)); } + /** + * This resource can be useful for getting back a set of security group rule IDs. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.vpc.VpcFunctions;
+     * import com.pulumi.aws.vpc.inputs.GetSecurityGroupRulesArgs;
+     * 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 = VpcFunctions.getSecurityGroupRules(GetSecurityGroupRulesArgs.builder()
+     *             .filters(GetSecurityGroupRulesFilterArgs.builder()
+     *                 .name("group-id")
+     *                 .values(securityGroupId)
+     *                 .build())
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getSecurityGroupRules(GetSecurityGroupRulesArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:vpc/getSecurityGroupRules:getSecurityGroupRules", TypeShape.of(GetSecurityGroupRulesResult.class), args, Utilities.withVersion(options)); + } /** * This resource can be useful for getting back a set of security group rule IDs. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/vpclattice/VpclatticeFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/vpclattice/VpclatticeFunctions.java index 763bd3fbfe0..74fd073bfb1 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/vpclattice/VpclatticeFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/vpclattice/VpclatticeFunctions.java @@ -23,6 +23,7 @@ import com.pulumi.core.TypeShape; import com.pulumi.deployment.Deployment; import com.pulumi.deployment.InvokeOptions; +import com.pulumi.deployment.InvokeOutputOptions; import java.util.concurrent.CompletableFuture; public final class VpclatticeFunctions { @@ -158,6 +159,50 @@ public static CompletableFuture getAuthPolicyPlain(GetAuthP public static Output getAuthPolicy(GetAuthPolicyArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:vpclattice/getAuthPolicy:getAuthPolicy", TypeShape.of(GetAuthPolicyResult.class), args, Utilities.withVersion(options)); } + /** + * Data source for managing an AWS VPC Lattice Auth Policy. + * + * ## Example Usage + * + * ### Basic Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.vpclattice.VpclatticeFunctions;
+     * import com.pulumi.aws.vpclattice.inputs.GetAuthPolicyArgs;
+     * 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 test = VpclatticeFunctions.getAuthPolicy(GetAuthPolicyArgs.builder()
+     *             .resourceIdentifier(testAwsVpclatticeAuthPolicy.resourceIdentifier())
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getAuthPolicy(GetAuthPolicyArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:vpclattice/getAuthPolicy:getAuthPolicy", TypeShape.of(GetAuthPolicyResult.class), args, Utilities.withVersion(options)); + } /** * Data source for managing an AWS VPC Lattice Auth Policy. * @@ -328,6 +373,48 @@ public static CompletableFuture getListenerPlain(GetListenerP public static Output getListener(GetListenerArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:vpclattice/getListener:getListener", TypeShape.of(GetListenerResult.class), args, Utilities.withVersion(options)); } + /** + * Data source for managing an AWS VPC Lattice Listener. + * + * ## Example Usage + * + * ### Basic Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.vpclattice.VpclatticeFunctions;
+     * import com.pulumi.aws.vpclattice.inputs.GetListenerArgs;
+     * 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 = VpclatticeFunctions.getListener();
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getListener(GetListenerArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:vpclattice/getListener:getListener", TypeShape.of(GetListenerResult.class), args, Utilities.withVersion(options)); + } /** * Data source for managing an AWS VPC Lattice Listener. * @@ -502,6 +589,50 @@ public static CompletableFuture getResourcePolicyPlain( public static Output getResourcePolicy(GetResourcePolicyArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:vpclattice/getResourcePolicy:getResourcePolicy", TypeShape.of(GetResourcePolicyResult.class), args, Utilities.withVersion(options)); } + /** + * Data source for managing an AWS VPC Lattice Resource Policy. + * + * ## Example Usage + * + * ### Basic Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.vpclattice.VpclatticeFunctions;
+     * import com.pulumi.aws.vpclattice.inputs.GetResourcePolicyArgs;
+     * 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 = VpclatticeFunctions.getResourcePolicy(GetResourcePolicyArgs.builder()
+     *             .resourceArn(exampleAwsVpclatticeServiceNetwork.arn())
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getResourcePolicy(GetResourcePolicyArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:vpclattice/getResourcePolicy:getResourcePolicy", TypeShape.of(GetResourcePolicyResult.class), args, Utilities.withVersion(options)); + } /** * Data source for managing an AWS VPC Lattice Resource Policy. * @@ -766,6 +897,50 @@ public static CompletableFuture getServicePlain(GetServicePlai public static Output getService(GetServiceArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:vpclattice/getService:getService", TypeShape.of(GetServiceResult.class), args, Utilities.withVersion(options)); } + /** + * Data source for managing an AWS VPC Lattice Service. + * + * ## Example Usage + * + * ### Basic Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.vpclattice.VpclatticeFunctions;
+     * import com.pulumi.aws.vpclattice.inputs.GetServiceArgs;
+     * 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 = VpclatticeFunctions.getService(GetServiceArgs.builder()
+     *             .name("example")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getService(GetServiceArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:vpclattice/getService:getService", TypeShape.of(GetServiceResult.class), args, Utilities.withVersion(options)); + } /** * Data source for managing an AWS VPC Lattice Service. * @@ -942,6 +1117,50 @@ public static CompletableFuture getServiceNetworkPlain( public static Output getServiceNetwork(GetServiceNetworkArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:vpclattice/getServiceNetwork:getServiceNetwork", TypeShape.of(GetServiceNetworkResult.class), args, Utilities.withVersion(options)); } + /** + * Data source for managing an AWS VPC Lattice Service Network. + * + * ## Example Usage + * + * ### Basic Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.vpclattice.VpclatticeFunctions;
+     * import com.pulumi.aws.vpclattice.inputs.GetServiceNetworkArgs;
+     * 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 = VpclatticeFunctions.getServiceNetwork(GetServiceNetworkArgs.builder()
+     *             .serviceNetworkIdentifier("snsa-01112223334445556")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getServiceNetwork(GetServiceNetworkArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:vpclattice/getServiceNetwork:getServiceNetwork", TypeShape.of(GetServiceNetworkResult.class), args, Utilities.withVersion(options)); + } /** * Data source for managing an AWS VPC Lattice Service Network. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/waf/WafFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/waf/WafFunctions.java index 551e5eb8265..cc743dcdf9f 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/waf/WafFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/waf/WafFunctions.java @@ -23,6 +23,7 @@ import com.pulumi.core.TypeShape; import com.pulumi.deployment.Deployment; import com.pulumi.deployment.InvokeOptions; +import com.pulumi.deployment.InvokeOutputOptions; import java.util.concurrent.CompletableFuture; public final class WafFunctions { @@ -152,6 +153,48 @@ public static CompletableFuture getIpsetPlain(GetIpsetPlainArgs public static Output getIpset(GetIpsetArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:waf/getIpset:getIpset", TypeShape.of(GetIpsetResult.class), args, Utilities.withVersion(options)); } + /** + * `aws.waf.IpSet` Retrieves a WAF IP Set Resource Id. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.waf.WafFunctions;
+     * import com.pulumi.aws.waf.inputs.GetIpsetArgs;
+     * 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 = WafFunctions.getIpset(GetIpsetArgs.builder()
+     *             .name("tfWAFIPSet")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getIpset(GetIpsetArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:waf/getIpset:getIpset", TypeShape.of(GetIpsetResult.class), args, Utilities.withVersion(options)); + } /** * `aws.waf.IpSet` Retrieves a WAF IP Set Resource Id. * @@ -320,6 +363,48 @@ public static CompletableFuture getRateBasedRulePlain(Ge public static Output getRateBasedRule(GetRateBasedRuleArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:waf/getRateBasedRule:getRateBasedRule", TypeShape.of(GetRateBasedRuleResult.class), args, Utilities.withVersion(options)); } + /** + * `aws.waf.RateBasedRule` Retrieves a WAF Rate Based Rule Resource Id. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.waf.WafFunctions;
+     * import com.pulumi.aws.waf.inputs.GetRateBasedRuleArgs;
+     * 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 = WafFunctions.getRateBasedRule(GetRateBasedRuleArgs.builder()
+     *             .name("tfWAFRateBasedRule")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getRateBasedRule(GetRateBasedRuleArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:waf/getRateBasedRule:getRateBasedRule", TypeShape.of(GetRateBasedRuleResult.class), args, Utilities.withVersion(options)); + } /** * `aws.waf.RateBasedRule` Retrieves a WAF Rate Based Rule Resource Id. * @@ -488,6 +573,48 @@ public static CompletableFuture getRulePlain(GetRulePlainArgs arg public static Output getRule(GetRuleArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:waf/getRule:getRule", TypeShape.of(GetRuleResult.class), args, Utilities.withVersion(options)); } + /** + * `aws.waf.Rule` Retrieves a WAF Rule Resource Id. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.waf.WafFunctions;
+     * import com.pulumi.aws.waf.inputs.GetRuleArgs;
+     * 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 = WafFunctions.getRule(GetRuleArgs.builder()
+     *             .name("tfWAFRule")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getRule(GetRuleArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:waf/getRule:getRule", TypeShape.of(GetRuleResult.class), args, Utilities.withVersion(options)); + } /** * `aws.waf.Rule` Retrieves a WAF Rule Resource Id. * @@ -845,6 +972,69 @@ public static CompletableFuture getSubscribedRuleG public static Output getSubscribedRuleGroup(GetSubscribedRuleGroupArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:waf/getSubscribedRuleGroup:getSubscribedRuleGroup", TypeShape.of(GetSubscribedRuleGroupResult.class), args, Utilities.withVersion(options)); } + /** + * `aws.waf.getSubscribedRuleGroup` retrieves information about a Managed WAF Rule Group from AWS Marketplace (needs to be subscribed to first). + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.waf.WafFunctions;
+     * import com.pulumi.aws.waf.inputs.GetSubscribedRuleGroupArgs;
+     * import com.pulumi.aws.waf.WebAcl;
+     * import com.pulumi.aws.waf.WebAclArgs;
+     * import com.pulumi.aws.waf.inputs.WebAclRuleArgs;
+     * 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 byName = WafFunctions.getSubscribedRuleGroup(GetSubscribedRuleGroupArgs.builder()
+     *             .name("F5 Bot Detection Signatures For AWS WAF")
+     *             .build());
+     * 
+     *         final var byMetricName = WafFunctions.getSubscribedRuleGroup(GetSubscribedRuleGroupArgs.builder()
+     *             .metricName("F5BotDetectionSignatures")
+     *             .build());
+     * 
+     *         var acl = new WebAcl("acl", WebAclArgs.builder()
+     *             .rules(            
+     *                 WebAclRuleArgs.builder()
+     *                     .priority(1)
+     *                     .ruleId(byName.applyValue(getSubscribedRuleGroupResult -> getSubscribedRuleGroupResult.id()))
+     *                     .type("GROUP")
+     *                     .build(),
+     *                 WebAclRuleArgs.builder()
+     *                     .priority(2)
+     *                     .ruleId(byMetricName.applyValue(getSubscribedRuleGroupResult -> getSubscribedRuleGroupResult.id()))
+     *                     .type("GROUP")
+     *                     .build())
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getSubscribedRuleGroup(GetSubscribedRuleGroupArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:waf/getSubscribedRuleGroup:getSubscribedRuleGroup", TypeShape.of(GetSubscribedRuleGroupResult.class), args, Utilities.withVersion(options)); + } /** * `aws.waf.getSubscribedRuleGroup` retrieves information about a Managed WAF Rule Group from AWS Marketplace (needs to be subscribed to first). * @@ -1034,6 +1224,48 @@ public static CompletableFuture getWebAclPlain(GetWebAclPlainAr public static Output getWebAcl(GetWebAclArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:waf/getWebAcl:getWebAcl", TypeShape.of(GetWebAclResult.class), args, Utilities.withVersion(options)); } + /** + * `aws.waf.WebAcl` Retrieves a WAF Web ACL Resource Id. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.waf.WafFunctions;
+     * import com.pulumi.aws.waf.inputs.GetWebAclArgs;
+     * 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 = WafFunctions.getWebAcl(GetWebAclArgs.builder()
+     *             .name("tfWAFWebACL")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getWebAcl(GetWebAclArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:waf/getWebAcl:getWebAcl", TypeShape.of(GetWebAclResult.class), args, Utilities.withVersion(options)); + } /** * `aws.waf.WebAcl` Retrieves a WAF Web ACL Resource Id. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/wafregional/WafregionalFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/wafregional/WafregionalFunctions.java index 5d1c2416949..7cf28db050a 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/wafregional/WafregionalFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/wafregional/WafregionalFunctions.java @@ -23,6 +23,7 @@ import com.pulumi.core.TypeShape; import com.pulumi.deployment.Deployment; import com.pulumi.deployment.InvokeOptions; +import com.pulumi.deployment.InvokeOutputOptions; import java.util.concurrent.CompletableFuture; public final class WafregionalFunctions { @@ -152,6 +153,48 @@ public static CompletableFuture getIpsetPlain(GetIpsetPlainArgs public static Output getIpset(GetIpsetArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:wafregional/getIpset:getIpset", TypeShape.of(GetIpsetResult.class), args, Utilities.withVersion(options)); } + /** + * `aws.wafregional.IpSet` Retrieves a WAF Regional IP Set Resource Id. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.wafregional.WafregionalFunctions;
+     * import com.pulumi.aws.wafregional.inputs.GetIpsetArgs;
+     * 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 = WafregionalFunctions.getIpset(GetIpsetArgs.builder()
+     *             .name("tfWAFRegionalIPSet")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getIpset(GetIpsetArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:wafregional/getIpset:getIpset", TypeShape.of(GetIpsetResult.class), args, Utilities.withVersion(options)); + } /** * `aws.wafregional.IpSet` Retrieves a WAF Regional IP Set Resource Id. * @@ -320,6 +363,48 @@ public static CompletableFuture getRateBasedModPlain(GetR public static Output getRateBasedMod(GetRateBasedModArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:wafregional/getRateBasedMod:getRateBasedMod", TypeShape.of(GetRateBasedModResult.class), args, Utilities.withVersion(options)); } + /** + * `aws.wafregional.RateBasedRule` Retrieves a WAF Regional Rate Based Rule Resource Id. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.wafregional.WafregionalFunctions;
+     * import com.pulumi.aws.wafregional.inputs.GetRateBasedModArgs;
+     * 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 = WafregionalFunctions.getRateBasedMod(GetRateBasedModArgs.builder()
+     *             .name("tfWAFRegionalRateBasedRule")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getRateBasedMod(GetRateBasedModArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:wafregional/getRateBasedMod:getRateBasedMod", TypeShape.of(GetRateBasedModResult.class), args, Utilities.withVersion(options)); + } /** * `aws.wafregional.RateBasedRule` Retrieves a WAF Regional Rate Based Rule Resource Id. * @@ -488,6 +573,48 @@ public static CompletableFuture getRulePlain(GetRulePlainArgs arg public static Output getRule(GetRuleArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:wafregional/getRule:getRule", TypeShape.of(GetRuleResult.class), args, Utilities.withVersion(options)); } + /** + * `aws.wafregional.Rule` Retrieves a WAF Regional Rule Resource Id. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.wafregional.WafregionalFunctions;
+     * import com.pulumi.aws.wafregional.inputs.GetRuleArgs;
+     * 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 = WafregionalFunctions.getRule(GetRuleArgs.builder()
+     *             .name("tfWAFRegionalRule")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getRule(GetRuleArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:wafregional/getRule:getRule", TypeShape.of(GetRuleResult.class), args, Utilities.withVersion(options)); + } /** * `aws.wafregional.Rule` Retrieves a WAF Regional Rule Resource Id. * @@ -845,6 +972,69 @@ public static CompletableFuture getSubscribedRuleG public static Output getSubscribedRuleGroup(GetSubscribedRuleGroupArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:wafregional/getSubscribedRuleGroup:getSubscribedRuleGroup", TypeShape.of(GetSubscribedRuleGroupResult.class), args, Utilities.withVersion(options)); } + /** + * `aws.wafregional.getSubscribedRuleGroup` retrieves information about a Managed WAF Rule Group from AWS Marketplace for use in WAF Regional (needs to be subscribed to first). + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.wafregional.WafregionalFunctions;
+     * import com.pulumi.aws.wafregional.inputs.GetSubscribedRuleGroupArgs;
+     * import com.pulumi.aws.wafregional.WebAcl;
+     * import com.pulumi.aws.wafregional.WebAclArgs;
+     * import com.pulumi.aws.wafregional.inputs.WebAclRuleArgs;
+     * 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 byName = WafregionalFunctions.getSubscribedRuleGroup(GetSubscribedRuleGroupArgs.builder()
+     *             .name("F5 Bot Detection Signatures For AWS WAF")
+     *             .build());
+     * 
+     *         final var byMetricName = WafregionalFunctions.getSubscribedRuleGroup(GetSubscribedRuleGroupArgs.builder()
+     *             .metricName("F5BotDetectionSignatures")
+     *             .build());
+     * 
+     *         var acl = new WebAcl("acl", WebAclArgs.builder()
+     *             .rules(            
+     *                 WebAclRuleArgs.builder()
+     *                     .priority(1)
+     *                     .ruleId(byName.applyValue(getSubscribedRuleGroupResult -> getSubscribedRuleGroupResult.id()))
+     *                     .type("GROUP")
+     *                     .build(),
+     *                 WebAclRuleArgs.builder()
+     *                     .priority(2)
+     *                     .ruleId(byMetricName.applyValue(getSubscribedRuleGroupResult -> getSubscribedRuleGroupResult.id()))
+     *                     .type("GROUP")
+     *                     .build())
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getSubscribedRuleGroup(GetSubscribedRuleGroupArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:wafregional/getSubscribedRuleGroup:getSubscribedRuleGroup", TypeShape.of(GetSubscribedRuleGroupResult.class), args, Utilities.withVersion(options)); + } /** * `aws.wafregional.getSubscribedRuleGroup` retrieves information about a Managed WAF Rule Group from AWS Marketplace for use in WAF Regional (needs to be subscribed to first). * @@ -1034,6 +1224,48 @@ public static CompletableFuture getWebAclPlain(GetWebAclPlainAr public static Output getWebAcl(GetWebAclArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:wafregional/getWebAcl:getWebAcl", TypeShape.of(GetWebAclResult.class), args, Utilities.withVersion(options)); } + /** + * `aws.wafregional.WebAcl` Retrieves a WAF Regional Web ACL Resource Id. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.wafregional.WafregionalFunctions;
+     * import com.pulumi.aws.wafregional.inputs.GetWebAclArgs;
+     * 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 = WafregionalFunctions.getWebAcl(GetWebAclArgs.builder()
+     *             .name("tfWAFRegionalWebACL")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getWebAcl(GetWebAclArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:wafregional/getWebAcl:getWebAcl", TypeShape.of(GetWebAclResult.class), args, Utilities.withVersion(options)); + } /** * `aws.wafregional.WebAcl` Retrieves a WAF Regional Web ACL Resource Id. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/wafv2/Wafv2Functions.java b/sdk/java/src/main/java/com/pulumi/aws/wafv2/Wafv2Functions.java index 691042870ca..a915dfaf64f 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/wafv2/Wafv2Functions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/wafv2/Wafv2Functions.java @@ -20,6 +20,7 @@ import com.pulumi.core.TypeShape; import com.pulumi.deployment.Deployment; import com.pulumi.deployment.InvokeOptions; +import com.pulumi.deployment.InvokeOutputOptions; import java.util.concurrent.CompletableFuture; public final class Wafv2Functions { @@ -152,6 +153,49 @@ public static CompletableFuture getIpSetPlain(GetIpSetPlainArgs public static Output getIpSet(GetIpSetArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:wafv2/getIpSet:getIpSet", TypeShape.of(GetIpSetResult.class), args, Utilities.withVersion(options)); } + /** + * Retrieves the summary of a WAFv2 IP Set. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.wafv2.Wafv2Functions;
+     * import com.pulumi.aws.wafv2.inputs.GetIpSetArgs;
+     * 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 = Wafv2Functions.getIpSet(GetIpSetArgs.builder()
+     *             .name("some-ip-set")
+     *             .scope("REGIONAL")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getIpSet(GetIpSetArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:wafv2/getIpSet:getIpSet", TypeShape.of(GetIpSetResult.class), args, Utilities.withVersion(options)); + } /** * Retrieves the summary of a WAFv2 IP Set. * @@ -324,6 +368,49 @@ public static CompletableFuture getRegexPatternSetPlai public static Output getRegexPatternSet(GetRegexPatternSetArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:wafv2/getRegexPatternSet:getRegexPatternSet", TypeShape.of(GetRegexPatternSetResult.class), args, Utilities.withVersion(options)); } + /** + * Retrieves the summary of a WAFv2 Regex Pattern Set. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.wafv2.Wafv2Functions;
+     * import com.pulumi.aws.wafv2.inputs.GetRegexPatternSetArgs;
+     * 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 = Wafv2Functions.getRegexPatternSet(GetRegexPatternSetArgs.builder()
+     *             .name("some-regex-pattern-set")
+     *             .scope("REGIONAL")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getRegexPatternSet(GetRegexPatternSetArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:wafv2/getRegexPatternSet:getRegexPatternSet", TypeShape.of(GetRegexPatternSetResult.class), args, Utilities.withVersion(options)); + } /** * Retrieves the summary of a WAFv2 Regex Pattern Set. * @@ -496,6 +583,49 @@ public static CompletableFuture getRuleGroupPlain(GetRuleGro public static Output getRuleGroup(GetRuleGroupArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:wafv2/getRuleGroup:getRuleGroup", TypeShape.of(GetRuleGroupResult.class), args, Utilities.withVersion(options)); } + /** + * Retrieves the summary of a WAFv2 Rule Group. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.wafv2.Wafv2Functions;
+     * import com.pulumi.aws.wafv2.inputs.GetRuleGroupArgs;
+     * 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 = Wafv2Functions.getRuleGroup(GetRuleGroupArgs.builder()
+     *             .name("some-rule-group")
+     *             .scope("REGIONAL")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getRuleGroup(GetRuleGroupArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:wafv2/getRuleGroup:getRuleGroup", TypeShape.of(GetRuleGroupResult.class), args, Utilities.withVersion(options)); + } /** * Retrieves the summary of a WAFv2 Rule Group. * @@ -668,6 +798,49 @@ public static CompletableFuture getWebAclPlain(GetWebAclPlainAr public static Output getWebAcl(GetWebAclArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:wafv2/getWebAcl:getWebAcl", TypeShape.of(GetWebAclResult.class), args, Utilities.withVersion(options)); } + /** + * Retrieves the summary of a WAFv2 Web ACL. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.wafv2.Wafv2Functions;
+     * import com.pulumi.aws.wafv2.inputs.GetWebAclArgs;
+     * 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 = Wafv2Functions.getWebAcl(GetWebAclArgs.builder()
+     *             .name("some-web-acl")
+     *             .scope("REGIONAL")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getWebAcl(GetWebAclArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:wafv2/getWebAcl:getWebAcl", TypeShape.of(GetWebAclResult.class), args, Utilities.withVersion(options)); + } /** * Retrieves the summary of a WAFv2 Web ACL. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/workspaces/WorkspacesFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/workspaces/WorkspacesFunctions.java index 755e89f87d8..ae592f1749a 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/workspaces/WorkspacesFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/workspaces/WorkspacesFunctions.java @@ -20,6 +20,7 @@ import com.pulumi.core.TypeShape; import com.pulumi.deployment.Deployment; import com.pulumi.deployment.InvokeOptions; +import com.pulumi.deployment.InvokeOutputOptions; import java.util.concurrent.CompletableFuture; public final class WorkspacesFunctions { @@ -423,6 +424,86 @@ public static CompletableFuture getBundlePlain(GetBundlePlainAr public static Output getBundle(GetBundleArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:workspaces/getBundle:getBundle", TypeShape.of(GetBundleResult.class), args, Utilities.withVersion(options)); } + /** + * Retrieve information about an AWS WorkSpaces bundle. + * + * ## Example Usage + * + * ### By ID + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.workspaces.WorkspacesFunctions;
+     * import com.pulumi.aws.workspaces.inputs.GetBundleArgs;
+     * 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 = WorkspacesFunctions.getBundle(GetBundleArgs.builder()
+     *             .bundleId("wsb-b0s22j3d7")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + * ### By Owner & Name + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.workspaces.WorkspacesFunctions;
+     * import com.pulumi.aws.workspaces.inputs.GetBundleArgs;
+     * 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 = WorkspacesFunctions.getBundle(GetBundleArgs.builder()
+     *             .owner("AMAZON")
+     *             .name("Value with Windows 10 and Office 2016")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getBundle(GetBundleArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:workspaces/getBundle:getBundle", TypeShape.of(GetBundleResult.class), args, Utilities.withVersion(options)); + } /** * Retrieve information about an AWS WorkSpaces bundle. * @@ -629,6 +710,48 @@ public static CompletableFuture getDirectoryPlain(GetDirecto public static Output getDirectory(GetDirectoryArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:workspaces/getDirectory:getDirectory", TypeShape.of(GetDirectoryResult.class), args, Utilities.withVersion(options)); } + /** + * Retrieve information about an AWS WorkSpaces directory. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.workspaces.WorkspacesFunctions;
+     * import com.pulumi.aws.workspaces.inputs.GetDirectoryArgs;
+     * 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 = WorkspacesFunctions.getDirectory(GetDirectoryArgs.builder()
+     *             .directoryId("d-9067783251")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getDirectory(GetDirectoryArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:workspaces/getDirectory:getDirectory", TypeShape.of(GetDirectoryResult.class), args, Utilities.withVersion(options)); + } /** * Retrieve information about an AWS WorkSpaces directory. * @@ -797,6 +920,48 @@ public static CompletableFuture getImagePlain(GetImagePlainArgs public static Output getImage(GetImageArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:workspaces/getImage:getImage", TypeShape.of(GetImageResult.class), args, Utilities.withVersion(options)); } + /** + * Use this data source to get information about a Workspaces image. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.workspaces.WorkspacesFunctions;
+     * import com.pulumi.aws.workspaces.inputs.GetImageArgs;
+     * 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 = WorkspacesFunctions.getImage(GetImageArgs.builder()
+     *             .imageId("wsi-ten5h0y19")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getImage(GetImageArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:workspaces/getImage:getImage", TypeShape.of(GetImageResult.class), args, Utilities.withVersion(options)); + } /** * Use this data source to get information about a Workspaces image. * @@ -1239,6 +1404,86 @@ public static CompletableFuture getWorkspacePlain(GetWorkspa public static Output getWorkspace(GetWorkspaceArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("aws:workspaces/getWorkspace:getWorkspace", TypeShape.of(GetWorkspaceResult.class), args, Utilities.withVersion(options)); } + /** + * Use this data source to get information about a workspace in [AWS Workspaces](https://docs.aws.amazon.com/workspaces/latest/adminguide/amazon-workspaces.html) Service. + * + * ## Example Usage + * + * ### Filter By Workspace ID + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.workspaces.WorkspacesFunctions;
+     * import com.pulumi.aws.workspaces.inputs.GetWorkspaceArgs;
+     * 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 = WorkspacesFunctions.getWorkspace(GetWorkspaceArgs.builder()
+     *             .workspaceId("ws-cj5xcxsz5")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + * ### Filter By Directory ID & User Name + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.aws.workspaces.WorkspacesFunctions;
+     * import com.pulumi.aws.workspaces.inputs.GetWorkspaceArgs;
+     * 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 = WorkspacesFunctions.getWorkspace(GetWorkspaceArgs.builder()
+     *             .directoryId("d-9967252f57")
+     *             .userName("Example")
+     *             .build());
+     * 
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getWorkspace(GetWorkspaceArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("aws:workspaces/getWorkspace:getWorkspace", TypeShape.of(GetWorkspaceResult.class), args, Utilities.withVersion(options)); + } /** * Use this data source to get information about a workspace in [AWS Workspaces](https://docs.aws.amazon.com/workspaces/latest/adminguide/amazon-workspaces.html) Service. * diff --git a/sdk/nodejs/alb/listener.ts b/sdk/nodejs/alb/listener.ts index f8a6a35ae47..209f668e0b5 100644 --- a/sdk/nodejs/alb/listener.ts +++ b/sdk/nodejs/alb/listener.ts @@ -292,6 +292,8 @@ export class Listener extends pulumi.CustomResource { public readonly sslPolicy!: pulumi.Output; /** * A map of tags to assign to the resource. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + * > **Note::** When a `Name` key is specified in the map, the AWS Console maps the value to the `Name Tag` column value inside the `Listener Rules` table within a specific load balancer listener page. Otherwise, the value resolves to `Default`. */ public readonly tags!: pulumi.Output<{[key: string]: string} | undefined>; /** @@ -402,6 +404,8 @@ export interface ListenerState { sslPolicy?: pulumi.Input; /** * A map of tags to assign to the resource. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + * > **Note::** When a `Name` key is specified in the map, the AWS Console maps the value to the `Name Tag` column value inside the `Listener Rules` table within a specific load balancer listener page. Otherwise, the value resolves to `Default`. */ tags?: pulumi.Input<{[key: string]: pulumi.Input}>; /** @@ -456,6 +460,8 @@ export interface ListenerArgs { sslPolicy?: pulumi.Input; /** * A map of tags to assign to the resource. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + * > **Note::** When a `Name` key is specified in the map, the AWS Console maps the value to the `Name Tag` column value inside the `Listener Rules` table within a specific load balancer listener page. Otherwise, the value resolves to `Default`. */ tags?: pulumi.Input<{[key: string]: pulumi.Input}>; /** diff --git a/sdk/nodejs/apigateway/basePathMapping.ts b/sdk/nodejs/apigateway/basePathMapping.ts index d451f0fe23a..206bb280363 100644 --- a/sdk/nodejs/apigateway/basePathMapping.ts +++ b/sdk/nodejs/apigateway/basePathMapping.ts @@ -15,7 +15,9 @@ import {RestApi} from "./index"; * * For a non-root `base_path`: * - * Using `pulumi import`, import `aws_api_gateway_base_path_mapping` using the domain name and base path. For example: + * For a non-root `base_path` and a private custom domain name: + * + * Using `pulumi import`, import `aws_api_gateway_base_path_mapping` using the domain name and base path or domain name, base path and domain name ID (for private custom domain names). For example: * * For an empty `base_path` or, in other words, a root path (`/`): * @@ -27,6 +29,11 @@ import {RestApi} from "./index"; * ```sh * $ pulumi import aws:apigateway/basePathMapping:BasePathMapping example example.com/base-path * ``` + * For a non-root `base_path` and a private custom domain name: + * + * ```sh + * $ pulumi import aws:apigateway/basePathMapping:BasePathMapping example api.internal.example.com/base-path/abcde12345 + * ``` */ export class BasePathMapping extends pulumi.CustomResource { /** @@ -64,6 +71,10 @@ export class BasePathMapping extends pulumi.CustomResource { * Already-registered domain name to connect the API to. */ public readonly domainName!: pulumi.Output; + /** + * The identifier for the domain name resource. Supported only for private custom domain names. + */ + public readonly domainNameId!: pulumi.Output; /** * ID of the API to connect. */ @@ -88,6 +99,7 @@ export class BasePathMapping extends pulumi.CustomResource { const state = argsOrState as BasePathMappingState | undefined; resourceInputs["basePath"] = state ? state.basePath : undefined; resourceInputs["domainName"] = state ? state.domainName : undefined; + resourceInputs["domainNameId"] = state ? state.domainNameId : undefined; resourceInputs["restApi"] = state ? state.restApi : undefined; resourceInputs["stageName"] = state ? state.stageName : undefined; } else { @@ -100,6 +112,7 @@ export class BasePathMapping extends pulumi.CustomResource { } resourceInputs["basePath"] = args ? args.basePath : undefined; resourceInputs["domainName"] = args ? args.domainName : undefined; + resourceInputs["domainNameId"] = args ? args.domainNameId : undefined; resourceInputs["restApi"] = args ? args.restApi : undefined; resourceInputs["stageName"] = args ? args.stageName : undefined; } @@ -120,6 +133,10 @@ export interface BasePathMappingState { * Already-registered domain name to connect the API to. */ domainName?: pulumi.Input; + /** + * The identifier for the domain name resource. Supported only for private custom domain names. + */ + domainNameId?: pulumi.Input; /** * ID of the API to connect. */ @@ -142,6 +159,10 @@ export interface BasePathMappingArgs { * Already-registered domain name to connect the API to. */ domainName: pulumi.Input; + /** + * The identifier for the domain name resource. Supported only for private custom domain names. + */ + domainNameId?: pulumi.Input; /** * ID of the API to connect. */ diff --git a/sdk/nodejs/apigateway/domainName.ts b/sdk/nodejs/apigateway/domainName.ts index e9a4402a2cb..4a904b3d0df 100644 --- a/sdk/nodejs/apigateway/domainName.ts +++ b/sdk/nodejs/apigateway/domainName.ts @@ -90,11 +90,18 @@ import * as utilities from "../utilities"; * * ## Import * - * Using `pulumi import`, import API Gateway domain names using their `name`. For example: + * For a private custom domain name: + * + * Using `pulumi import`, import API Gateway domain names using their `name` or `name` and `domain_name_id` (for private custom domain names). For example: * * ```sh * $ pulumi import aws:apigateway/domainName:DomainName example dev.example.com * ``` + * For a private custom domain name: + * + * ```sh + * $ pulumi import aws:apigateway/domainName:DomainName example dev.api.internal.example.com/abcde12345 + * ``` */ export class DomainName extends pulumi.CustomResource { /** @@ -164,6 +171,10 @@ export class DomainName extends pulumi.CustomResource { * Fully-qualified domain name to register. */ public readonly domainName!: pulumi.Output; + /** + * The identifier for the domain name resource. Supported only for private custom domain names. + */ + public /*out*/ readonly domainNameId!: pulumi.Output; /** * Configuration block defining API endpoint information including type. See below. */ @@ -176,6 +187,10 @@ export class DomainName extends pulumi.CustomResource { * ARN of the AWS-issued certificate used to validate custom domain ownership (when `certificateArn` is issued via an ACM Private CA or `mutualTlsAuthentication` is configured with an ACM-imported certificate.) */ public readonly ownershipVerificationCertificateArn!: pulumi.Output; + /** + * A stringified JSON policy document that applies to the execute-api service for this DomainName regardless of the caller and Method configuration. Supported only for private custom domain names. + */ + public readonly policy!: pulumi.Output; /** * ARN for an AWS-managed certificate. AWS Certificate Manager is the only supported source. Used when a regional domain name is desired. Conflicts with `certificateArn`, `certificateName`, `certificateBody`, `certificateChain`, and `certificatePrivateKey`. * @@ -234,9 +249,11 @@ export class DomainName extends pulumi.CustomResource { resourceInputs["cloudfrontDomainName"] = state ? state.cloudfrontDomainName : undefined; resourceInputs["cloudfrontZoneId"] = state ? state.cloudfrontZoneId : undefined; resourceInputs["domainName"] = state ? state.domainName : undefined; + resourceInputs["domainNameId"] = state ? state.domainNameId : undefined; resourceInputs["endpointConfiguration"] = state ? state.endpointConfiguration : undefined; resourceInputs["mutualTlsAuthentication"] = state ? state.mutualTlsAuthentication : undefined; resourceInputs["ownershipVerificationCertificateArn"] = state ? state.ownershipVerificationCertificateArn : undefined; + resourceInputs["policy"] = state ? state.policy : undefined; resourceInputs["regionalCertificateArn"] = state ? state.regionalCertificateArn : undefined; resourceInputs["regionalCertificateName"] = state ? state.regionalCertificateName : undefined; resourceInputs["regionalDomainName"] = state ? state.regionalDomainName : undefined; @@ -258,6 +275,7 @@ export class DomainName extends pulumi.CustomResource { resourceInputs["endpointConfiguration"] = args ? args.endpointConfiguration : undefined; resourceInputs["mutualTlsAuthentication"] = args ? args.mutualTlsAuthentication : undefined; resourceInputs["ownershipVerificationCertificateArn"] = args ? args.ownershipVerificationCertificateArn : undefined; + resourceInputs["policy"] = args ? args.policy : undefined; resourceInputs["regionalCertificateArn"] = args ? args.regionalCertificateArn : undefined; resourceInputs["regionalCertificateName"] = args ? args.regionalCertificateName : undefined; resourceInputs["securityPolicy"] = args ? args.securityPolicy : undefined; @@ -266,6 +284,7 @@ export class DomainName extends pulumi.CustomResource { resourceInputs["certificateUploadDate"] = undefined /*out*/; resourceInputs["cloudfrontDomainName"] = undefined /*out*/; resourceInputs["cloudfrontZoneId"] = undefined /*out*/; + resourceInputs["domainNameId"] = undefined /*out*/; resourceInputs["regionalDomainName"] = undefined /*out*/; resourceInputs["regionalZoneId"] = undefined /*out*/; resourceInputs["tagsAll"] = undefined /*out*/; @@ -321,6 +340,10 @@ export interface DomainNameState { * Fully-qualified domain name to register. */ domainName?: pulumi.Input; + /** + * The identifier for the domain name resource. Supported only for private custom domain names. + */ + domainNameId?: pulumi.Input; /** * Configuration block defining API endpoint information including type. See below. */ @@ -333,6 +356,10 @@ export interface DomainNameState { * ARN of the AWS-issued certificate used to validate custom domain ownership (when `certificateArn` is issued via an ACM Private CA or `mutualTlsAuthentication` is configured with an ACM-imported certificate.) */ ownershipVerificationCertificateArn?: pulumi.Input; + /** + * A stringified JSON policy document that applies to the execute-api service for this DomainName regardless of the caller and Method configuration. Supported only for private custom domain names. + */ + policy?: pulumi.Input; /** * ARN for an AWS-managed certificate. AWS Certificate Manager is the only supported source. Used when a regional domain name is desired. Conflicts with `certificateArn`, `certificateName`, `certificateBody`, `certificateChain`, and `certificatePrivateKey`. * @@ -409,6 +436,10 @@ export interface DomainNameArgs { * ARN of the AWS-issued certificate used to validate custom domain ownership (when `certificateArn` is issued via an ACM Private CA or `mutualTlsAuthentication` is configured with an ACM-imported certificate.) */ ownershipVerificationCertificateArn?: pulumi.Input; + /** + * A stringified JSON policy document that applies to the execute-api service for this DomainName regardless of the caller and Method configuration. Supported only for private custom domain names. + */ + policy?: pulumi.Input; /** * ARN for an AWS-managed certificate. AWS Certificate Manager is the only supported source. Used when a regional domain name is desired. Conflicts with `certificateArn`, `certificateName`, `certificateBody`, `certificateChain`, and `certificatePrivateKey`. * diff --git a/sdk/nodejs/apigateway/getDomainName.ts b/sdk/nodejs/apigateway/getDomainName.ts index 7fad97f6df2..1a63a4b9bdb 100644 --- a/sdk/nodejs/apigateway/getDomainName.ts +++ b/sdk/nodejs/apigateway/getDomainName.ts @@ -25,6 +25,7 @@ export function getDomainName(args: GetDomainNameArgs, opts?: pulumi.InvokeOptio opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invoke("aws:apigateway/getDomainName:getDomainName", { "domainName": args.domainName, + "domainNameId": args.domainNameId, "tags": args.tags, }, opts); } @@ -37,6 +38,10 @@ export interface GetDomainNameArgs { * Fully-qualified domain name to look up. If no domain name is found, an error will be returned. */ domainName: string; + /** + * The identifier for the domain name resource. Supported only for private custom domain names. + */ + domainNameId?: string; /** * Key-value map of tags for the resource. */ @@ -72,6 +77,7 @@ export interface GetDomainNameResult { */ readonly cloudfrontZoneId: string; readonly domainName: string; + readonly domainNameId: string; /** * List of objects with the endpoint configuration of this domain name. */ @@ -80,6 +86,10 @@ export interface GetDomainNameResult { * The provider-assigned unique ID for this managed resource. */ readonly id: string; + /** + * A stringified JSON policy document that applies to the execute-api service for this DomainName regardless of the caller and Method configuration. Supported only for private custom domain names. + */ + readonly policy: string; /** * ARN for an AWS-managed certificate that is used for validating the regional domain name. */ @@ -123,6 +133,7 @@ export function getDomainNameOutput(args: GetDomainNameOutputArgs, opts?: pulumi opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:apigateway/getDomainName:getDomainName", { "domainName": args.domainName, + "domainNameId": args.domainNameId, "tags": args.tags, }, opts); } @@ -135,6 +146,10 @@ export interface GetDomainNameOutputArgs { * Fully-qualified domain name to look up. If no domain name is found, an error will be returned. */ domainName: pulumi.Input; + /** + * The identifier for the domain name resource. Supported only for private custom domain names. + */ + domainNameId?: pulumi.Input; /** * Key-value map of tags for the resource. */ diff --git a/sdk/nodejs/bedrock/getInferenceProfile.ts b/sdk/nodejs/bedrock/getInferenceProfile.ts index 8e8b7e05657..3259b6108d7 100644 --- a/sdk/nodejs/bedrock/getInferenceProfile.ts +++ b/sdk/nodejs/bedrock/getInferenceProfile.ts @@ -75,7 +75,7 @@ export interface GetInferenceProfileResult { */ readonly status: string; /** - * The type of the inference profile. `SYSTEM_DEFINED` means that the inference profile is defined by Amazon Bedrock. + * The type of the inference profile. `SYSTEM_DEFINED` means that the inference profile is defined by Amazon Bedrock. `APPLICATION` means that the inference profile is defined by the user. */ readonly type: string; /** diff --git a/sdk/nodejs/bedrock/index.ts b/sdk/nodejs/bedrock/index.ts index b461732a1f5..068e66f232f 100644 --- a/sdk/nodejs/bedrock/index.ts +++ b/sdk/nodejs/bedrock/index.ts @@ -75,6 +75,11 @@ export type GuardrailVersion = import("./guardrailVersion").GuardrailVersion; export const GuardrailVersion: typeof import("./guardrailVersion").GuardrailVersion = null as any; utilities.lazyLoad(exports, ["GuardrailVersion"], () => require("./guardrailVersion")); +export { InferenceProfileArgs, InferenceProfileState } from "./inferenceProfile"; +export type InferenceProfile = import("./inferenceProfile").InferenceProfile; +export const InferenceProfile: typeof import("./inferenceProfile").InferenceProfile = null as any; +utilities.lazyLoad(exports, ["InferenceProfile"], () => require("./inferenceProfile")); + export { ProvisionedModelThroughputArgs, ProvisionedModelThroughputState } from "./provisionedModelThroughput"; export type ProvisionedModelThroughput = import("./provisionedModelThroughput").ProvisionedModelThroughput; export const ProvisionedModelThroughput: typeof import("./provisionedModelThroughput").ProvisionedModelThroughput = null as any; @@ -103,6 +108,8 @@ const _module = { return new Guardrail(name, undefined, { urn }) case "aws:bedrock/guardrailVersion:GuardrailVersion": return new GuardrailVersion(name, undefined, { urn }) + case "aws:bedrock/inferenceProfile:InferenceProfile": + return new InferenceProfile(name, undefined, { urn }) case "aws:bedrock/provisionedModelThroughput:ProvisionedModelThroughput": return new ProvisionedModelThroughput(name, undefined, { urn }) default: @@ -119,4 +126,5 @@ pulumi.runtime.registerResourceModule("aws", "bedrock/agentKnowledgeBase", _modu pulumi.runtime.registerResourceModule("aws", "bedrock/customModel", _module) pulumi.runtime.registerResourceModule("aws", "bedrock/guardrail", _module) pulumi.runtime.registerResourceModule("aws", "bedrock/guardrailVersion", _module) +pulumi.runtime.registerResourceModule("aws", "bedrock/inferenceProfile", _module) pulumi.runtime.registerResourceModule("aws", "bedrock/provisionedModelThroughput", _module) diff --git a/sdk/nodejs/bedrock/inferenceProfile.ts b/sdk/nodejs/bedrock/inferenceProfile.ts new file mode 100644 index 00000000000..77c127ba02b --- /dev/null +++ b/sdk/nodejs/bedrock/inferenceProfile.ts @@ -0,0 +1,239 @@ +// *** 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 Bedrock Inference Profile. + * + * ## Example Usage + * + * ### Basic Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as aws from "@pulumi/aws"; + * + * const current = aws.getCallerIdentity({}); + * const example = new aws.bedrock.InferenceProfile("example", { + * name: "Claude Sonnet for Project 123", + * description: "Profile with tag for cost allocation tracking", + * modelSource: { + * copyFrom: "arn:aws:bedrock:us-west-2::foundation-model/anthropic.claude-3-5-sonnet-20241022-v2:0", + * }, + * tags: { + * ProjectID: "123", + * }, + * }); + * ``` + * + * ## Import + * + * Using `pulumi import`, import Bedrock Inference Profile using the `example_id_arg`. For example: + * + * ```sh + * $ pulumi import aws:bedrock/inferenceProfile:InferenceProfile example inference_profile-id-12345678 + * ``` + */ +export class InferenceProfile extends pulumi.CustomResource { + /** + * Get an existing InferenceProfile 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?: InferenceProfileState, opts?: pulumi.CustomResourceOptions): InferenceProfile { + return new InferenceProfile(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'aws:bedrock/inferenceProfile:InferenceProfile'; + + /** + * Returns true if the given object is an instance of InferenceProfile. 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 InferenceProfile { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === InferenceProfile.__pulumiType; + } + + /** + * The Amazon Resource Name (ARN) of the inference profile. + */ + public /*out*/ readonly arn!: pulumi.Output; + /** + * The time at which the inference profile was created. + */ + public /*out*/ readonly createdAt!: pulumi.Output; + /** + * The description of the inference profile. + */ + public readonly description!: pulumi.Output; + /** + * The source of the model this inference profile will track metrics and cost for. See `modelSource`. + * + * The following arguments are optional: + */ + public readonly modelSource!: pulumi.Output; + /** + * A list of information about each model in the inference profile. See `models`. + */ + public /*out*/ readonly models!: pulumi.Output; + /** + * The name of the inference profile. + */ + public readonly name!: pulumi.Output; + /** + * The status of the inference profile. `ACTIVE` means that the inference profile is available to use. + */ + public /*out*/ readonly status!: pulumi.Output; + /** + * Key-value mapping of resource tags for the inference profile. + */ + public readonly tags!: pulumi.Output<{[key: string]: string} | undefined>; + /** + * @deprecated Please use `tags` instead. + */ + public /*out*/ readonly tagsAll!: pulumi.Output<{[key: string]: string}>; + public readonly timeouts!: pulumi.Output; + /** + * The type of the inference profile. `SYSTEM_DEFINED` means that the inference profile is defined by Amazon Bedrock. `APPLICATION` means that the inference profile is defined by the user. + */ + public /*out*/ readonly type!: pulumi.Output; + /** + * The time at which the inference profile was last updated. + */ + public /*out*/ readonly updatedAt!: pulumi.Output; + + /** + * Create a InferenceProfile 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?: InferenceProfileArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: InferenceProfileArgs | InferenceProfileState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as InferenceProfileState | undefined; + resourceInputs["arn"] = state ? state.arn : undefined; + resourceInputs["createdAt"] = state ? state.createdAt : undefined; + resourceInputs["description"] = state ? state.description : undefined; + resourceInputs["modelSource"] = state ? state.modelSource : undefined; + resourceInputs["models"] = state ? state.models : undefined; + resourceInputs["name"] = state ? state.name : undefined; + resourceInputs["status"] = state ? state.status : undefined; + resourceInputs["tags"] = state ? state.tags : undefined; + resourceInputs["tagsAll"] = state ? state.tagsAll : undefined; + resourceInputs["timeouts"] = state ? state.timeouts : undefined; + resourceInputs["type"] = state ? state.type : undefined; + resourceInputs["updatedAt"] = state ? state.updatedAt : undefined; + } else { + const args = argsOrState as InferenceProfileArgs | undefined; + resourceInputs["description"] = args ? args.description : undefined; + resourceInputs["modelSource"] = args ? args.modelSource : undefined; + resourceInputs["name"] = args ? args.name : undefined; + resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["timeouts"] = args ? args.timeouts : undefined; + resourceInputs["arn"] = undefined /*out*/; + resourceInputs["createdAt"] = undefined /*out*/; + resourceInputs["models"] = undefined /*out*/; + resourceInputs["status"] = undefined /*out*/; + resourceInputs["tagsAll"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + resourceInputs["updatedAt"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(InferenceProfile.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering InferenceProfile resources. + */ +export interface InferenceProfileState { + /** + * The Amazon Resource Name (ARN) of the inference profile. + */ + arn?: pulumi.Input; + /** + * The time at which the inference profile was created. + */ + createdAt?: pulumi.Input; + /** + * The description of the inference profile. + */ + description?: pulumi.Input; + /** + * The source of the model this inference profile will track metrics and cost for. See `modelSource`. + * + * The following arguments are optional: + */ + modelSource?: pulumi.Input; + /** + * A list of information about each model in the inference profile. See `models`. + */ + models?: pulumi.Input[]>; + /** + * The name of the inference profile. + */ + name?: pulumi.Input; + /** + * The status of the inference profile. `ACTIVE` means that the inference profile is available to use. + */ + status?: pulumi.Input; + /** + * Key-value mapping of resource tags for the inference profile. + */ + tags?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * @deprecated Please use `tags` instead. + */ + tagsAll?: pulumi.Input<{[key: string]: pulumi.Input}>; + timeouts?: pulumi.Input; + /** + * The type of the inference profile. `SYSTEM_DEFINED` means that the inference profile is defined by Amazon Bedrock. `APPLICATION` means that the inference profile is defined by the user. + */ + type?: pulumi.Input; + /** + * The time at which the inference profile was last updated. + */ + updatedAt?: pulumi.Input; +} + +/** + * The set of arguments for constructing a InferenceProfile resource. + */ +export interface InferenceProfileArgs { + /** + * The description of the inference profile. + */ + description?: pulumi.Input; + /** + * The source of the model this inference profile will track metrics and cost for. See `modelSource`. + * + * The following arguments are optional: + */ + modelSource?: pulumi.Input; + /** + * The name of the inference profile. + */ + name?: pulumi.Input; + /** + * Key-value mapping of resource tags for the inference profile. + */ + tags?: pulumi.Input<{[key: string]: pulumi.Input}>; + timeouts?: pulumi.Input; +} diff --git a/sdk/nodejs/cloudwatch/index.ts b/sdk/nodejs/cloudwatch/index.ts index f2bebb3d83f..5aef1860dfb 100644 --- a/sdk/nodejs/cloudwatch/index.ts +++ b/sdk/nodejs/cloudwatch/index.ts @@ -102,6 +102,11 @@ export type LogAccountPolicy = import("./logAccountPolicy").LogAccountPolicy; export const LogAccountPolicy: typeof import("./logAccountPolicy").LogAccountPolicy = null as any; utilities.lazyLoad(exports, ["LogAccountPolicy"], () => require("./logAccountPolicy")); +export { LogAnomalyDetectorArgs, LogAnomalyDetectorState } from "./logAnomalyDetector"; +export type LogAnomalyDetector = import("./logAnomalyDetector").LogAnomalyDetector; +export const LogAnomalyDetector: typeof import("./logAnomalyDetector").LogAnomalyDetector = null as any; +utilities.lazyLoad(exports, ["LogAnomalyDetector"], () => require("./logAnomalyDetector")); + export { LogDataProtectionPolicyArgs, LogDataProtectionPolicyState } from "./logDataProtectionPolicy"; export type LogDataProtectionPolicy = import("./logDataProtectionPolicy").LogDataProtectionPolicy; export const LogDataProtectionPolicy: typeof import("./logDataProtectionPolicy").LogDataProtectionPolicy = null as any; @@ -189,6 +194,8 @@ const _module = { return new InternetMonitor(name, undefined, { urn }) case "aws:cloudwatch/logAccountPolicy:LogAccountPolicy": return new LogAccountPolicy(name, undefined, { urn }) + case "aws:cloudwatch/logAnomalyDetector:LogAnomalyDetector": + return new LogAnomalyDetector(name, undefined, { urn }) case "aws:cloudwatch/logDataProtectionPolicy:LogDataProtectionPolicy": return new LogDataProtectionPolicy(name, undefined, { urn }) case "aws:cloudwatch/logDestination:LogDestination": @@ -229,6 +236,7 @@ pulumi.runtime.registerResourceModule("aws", "cloudwatch/eventRule", _module) pulumi.runtime.registerResourceModule("aws", "cloudwatch/eventTarget", _module) pulumi.runtime.registerResourceModule("aws", "cloudwatch/internetMonitor", _module) pulumi.runtime.registerResourceModule("aws", "cloudwatch/logAccountPolicy", _module) +pulumi.runtime.registerResourceModule("aws", "cloudwatch/logAnomalyDetector", _module) pulumi.runtime.registerResourceModule("aws", "cloudwatch/logDataProtectionPolicy", _module) pulumi.runtime.registerResourceModule("aws", "cloudwatch/logDestination", _module) pulumi.runtime.registerResourceModule("aws", "cloudwatch/logDestinationPolicy", _module) diff --git a/sdk/nodejs/cloudwatch/logAnomalyDetector.ts b/sdk/nodejs/cloudwatch/logAnomalyDetector.ts new file mode 100644 index 00000000000..6e0dc58c682 --- /dev/null +++ b/sdk/nodejs/cloudwatch/logAnomalyDetector.ts @@ -0,0 +1,225 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as utilities from "../utilities"; + +/** + * Resource for managing an AWS CloudWatch Logs Log Anomaly Detector. + * + * ## Example Usage + * + * ### Basic Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as aws from "@pulumi/aws"; + * + * const test: aws.cloudwatch.LogGroup[] = []; + * for (const range = {value: 0}; range.value < 2; range.value++) { + * test.push(new aws.cloudwatch.LogGroup(`test-${range.value}`, {name: `testing-${range.value}`})); + * } + * const testLogAnomalyDetector = new aws.cloudwatch.LogAnomalyDetector("test", { + * detectorName: "testing", + * logGroupArnLists: [test[0].arn], + * anomalyVisibilityTime: 7, + * evaluationFrequency: "TEN_MIN", + * enabled: false, + * }); + * ``` + * + * ## Import + * + * Using `pulumi import`, import CloudWatch Log Anomaly Detector using the `example_id_arg`. For example: + * + * ```sh + * $ pulumi import aws:cloudwatch/logAnomalyDetector:LogAnomalyDetector example log_anomaly_detector-arn-12345678 + * ``` + */ +export class LogAnomalyDetector extends pulumi.CustomResource { + /** + * Get an existing LogAnomalyDetector 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?: LogAnomalyDetectorState, opts?: pulumi.CustomResourceOptions): LogAnomalyDetector { + return new LogAnomalyDetector(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'aws:cloudwatch/logAnomalyDetector:LogAnomalyDetector'; + + /** + * Returns true if the given object is an instance of LogAnomalyDetector. 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 LogAnomalyDetector { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === LogAnomalyDetector.__pulumiType; + } + + /** + * Number of days to have visibility on an anomaly. After this time period has elapsed for an anomaly, it will be automatically baselined and the anomaly detector will treat new occurrences of a similar anomaly as normal. Therefore, if you do not correct the cause of an anomaly during the time period specified in `anomalyVisibilityTime`, it will be considered normal going forward and will not be detected as an anomaly. Valid Range: Minimum value of 7. Maximum value of 90. + */ + public readonly anomalyVisibilityTime!: pulumi.Output; + /** + * ARN of the log anomaly detector that you just created. + */ + public /*out*/ readonly arn!: pulumi.Output; + /** + * Name for this anomaly detector. + */ + public readonly detectorName!: pulumi.Output; + public readonly enabled!: pulumi.Output; + /** + * Specifies how often the anomaly detector is to run and look for anomalies. Set this value according to the frequency that the log group receives new logs. For example, if the log group receives new log events every 10 minutes, then 15 minutes might be a good setting for `evaluationFrequency`. Valid Values: `ONE_MIN | FIVE_MIN | TEN_MIN | FIFTEEN_MIN | THIRTY_MIN | ONE_HOUR`. + */ + public readonly evaluationFrequency!: pulumi.Output; + /** + * You can use this parameter to limit the anomaly detection model to examine only log events that match the pattern you specify here. For more information, see [Filter and Pattern Syntax](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/FilterAndPatternSyntax.html). + */ + public readonly filterPattern!: pulumi.Output; + /** + * Optionally assigns a AWS KMS key to secure this anomaly detector and its findings. If a key is assigned, the anomalies found and the model used by this detector are encrypted at rest with the key. If a key is assigned to an anomaly detector, a user must have permissions for both this key and for the anomaly detector to retrieve information about the anomalies that it finds. + */ + public readonly kmsKeyId!: pulumi.Output; + /** + * Array containing the ARN of the log group that this anomaly detector will watch. You can specify only one log group ARN. + * + * The following arguments are optional: + */ + public readonly logGroupArnLists!: pulumi.Output; + public readonly tags!: pulumi.Output<{[key: string]: string} | undefined>; + /** + * @deprecated Please use `tags` instead. + */ + public /*out*/ readonly tagsAll!: pulumi.Output<{[key: string]: string}>; + + /** + * Create a LogAnomalyDetector 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: LogAnomalyDetectorArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: LogAnomalyDetectorArgs | LogAnomalyDetectorState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as LogAnomalyDetectorState | undefined; + resourceInputs["anomalyVisibilityTime"] = state ? state.anomalyVisibilityTime : undefined; + resourceInputs["arn"] = state ? state.arn : undefined; + resourceInputs["detectorName"] = state ? state.detectorName : undefined; + resourceInputs["enabled"] = state ? state.enabled : undefined; + resourceInputs["evaluationFrequency"] = state ? state.evaluationFrequency : undefined; + resourceInputs["filterPattern"] = state ? state.filterPattern : undefined; + resourceInputs["kmsKeyId"] = state ? state.kmsKeyId : undefined; + resourceInputs["logGroupArnLists"] = state ? state.logGroupArnLists : undefined; + resourceInputs["tags"] = state ? state.tags : undefined; + resourceInputs["tagsAll"] = state ? state.tagsAll : undefined; + } else { + const args = argsOrState as LogAnomalyDetectorArgs | undefined; + if ((!args || args.enabled === undefined) && !opts.urn) { + throw new Error("Missing required property 'enabled'"); + } + if ((!args || args.logGroupArnLists === undefined) && !opts.urn) { + throw new Error("Missing required property 'logGroupArnLists'"); + } + resourceInputs["anomalyVisibilityTime"] = args ? args.anomalyVisibilityTime : undefined; + resourceInputs["detectorName"] = args ? args.detectorName : undefined; + resourceInputs["enabled"] = args ? args.enabled : undefined; + resourceInputs["evaluationFrequency"] = args ? args.evaluationFrequency : undefined; + resourceInputs["filterPattern"] = args ? args.filterPattern : undefined; + resourceInputs["kmsKeyId"] = args ? args.kmsKeyId : undefined; + resourceInputs["logGroupArnLists"] = args ? args.logGroupArnLists : undefined; + resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["arn"] = undefined /*out*/; + resourceInputs["tagsAll"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(LogAnomalyDetector.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering LogAnomalyDetector resources. + */ +export interface LogAnomalyDetectorState { + /** + * Number of days to have visibility on an anomaly. After this time period has elapsed for an anomaly, it will be automatically baselined and the anomaly detector will treat new occurrences of a similar anomaly as normal. Therefore, if you do not correct the cause of an anomaly during the time period specified in `anomalyVisibilityTime`, it will be considered normal going forward and will not be detected as an anomaly. Valid Range: Minimum value of 7. Maximum value of 90. + */ + anomalyVisibilityTime?: pulumi.Input; + /** + * ARN of the log anomaly detector that you just created. + */ + arn?: pulumi.Input; + /** + * Name for this anomaly detector. + */ + detectorName?: pulumi.Input; + enabled?: pulumi.Input; + /** + * Specifies how often the anomaly detector is to run and look for anomalies. Set this value according to the frequency that the log group receives new logs. For example, if the log group receives new log events every 10 minutes, then 15 minutes might be a good setting for `evaluationFrequency`. Valid Values: `ONE_MIN | FIVE_MIN | TEN_MIN | FIFTEEN_MIN | THIRTY_MIN | ONE_HOUR`. + */ + evaluationFrequency?: pulumi.Input; + /** + * You can use this parameter to limit the anomaly detection model to examine only log events that match the pattern you specify here. For more information, see [Filter and Pattern Syntax](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/FilterAndPatternSyntax.html). + */ + filterPattern?: pulumi.Input; + /** + * Optionally assigns a AWS KMS key to secure this anomaly detector and its findings. If a key is assigned, the anomalies found and the model used by this detector are encrypted at rest with the key. If a key is assigned to an anomaly detector, a user must have permissions for both this key and for the anomaly detector to retrieve information about the anomalies that it finds. + */ + kmsKeyId?: pulumi.Input; + /** + * Array containing the ARN of the log group that this anomaly detector will watch. You can specify only one log group ARN. + * + * The following arguments are optional: + */ + logGroupArnLists?: pulumi.Input[]>; + tags?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * @deprecated Please use `tags` instead. + */ + tagsAll?: pulumi.Input<{[key: string]: pulumi.Input}>; +} + +/** + * The set of arguments for constructing a LogAnomalyDetector resource. + */ +export interface LogAnomalyDetectorArgs { + /** + * Number of days to have visibility on an anomaly. After this time period has elapsed for an anomaly, it will be automatically baselined and the anomaly detector will treat new occurrences of a similar anomaly as normal. Therefore, if you do not correct the cause of an anomaly during the time period specified in `anomalyVisibilityTime`, it will be considered normal going forward and will not be detected as an anomaly. Valid Range: Minimum value of 7. Maximum value of 90. + */ + anomalyVisibilityTime?: pulumi.Input; + /** + * Name for this anomaly detector. + */ + detectorName?: pulumi.Input; + enabled: pulumi.Input; + /** + * Specifies how often the anomaly detector is to run and look for anomalies. Set this value according to the frequency that the log group receives new logs. For example, if the log group receives new log events every 10 minutes, then 15 minutes might be a good setting for `evaluationFrequency`. Valid Values: `ONE_MIN | FIVE_MIN | TEN_MIN | FIFTEEN_MIN | THIRTY_MIN | ONE_HOUR`. + */ + evaluationFrequency?: pulumi.Input; + /** + * You can use this parameter to limit the anomaly detection model to examine only log events that match the pattern you specify here. For more information, see [Filter and Pattern Syntax](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/FilterAndPatternSyntax.html). + */ + filterPattern?: pulumi.Input; + /** + * Optionally assigns a AWS KMS key to secure this anomaly detector and its findings. If a key is assigned, the anomalies found and the model used by this detector are encrypted at rest with the key. If a key is assigned to an anomaly detector, a user must have permissions for both this key and for the anomaly detector to retrieve information about the anomalies that it finds. + */ + kmsKeyId?: pulumi.Input; + /** + * Array containing the ARN of the log group that this anomaly detector will watch. You can specify only one log group ARN. + * + * The following arguments are optional: + */ + logGroupArnLists: pulumi.Input[]>; + tags?: pulumi.Input<{[key: string]: pulumi.Input}>; +} diff --git a/sdk/nodejs/cognito/userPoolDomain.ts b/sdk/nodejs/cognito/userPoolDomain.ts index 6434f6d2e4b..c4359eec660 100644 --- a/sdk/nodejs/cognito/userPoolDomain.ts +++ b/sdk/nodejs/cognito/userPoolDomain.ts @@ -30,7 +30,7 @@ import * as utilities from "../utilities"; * * const exampleUserPool = new aws.cognito.UserPool("example", {name: "example-pool"}); * const main = new aws.cognito.UserPoolDomain("main", { - * domain: "example-domain", + * domain: "auth.example.com", * certificateArn: cert.arn, * userPoolId: exampleUserPool.id, * }); diff --git a/sdk/nodejs/ebs/snapshotCopy.ts b/sdk/nodejs/ebs/snapshotCopy.ts index 6f1230c8099..213f1dc9658 100644 --- a/sdk/nodejs/ebs/snapshotCopy.ts +++ b/sdk/nodejs/ebs/snapshotCopy.ts @@ -67,6 +67,10 @@ export class SnapshotCopy extends pulumi.CustomResource { * Amazon Resource Name (ARN) of the EBS Snapshot. */ public /*out*/ readonly arn!: pulumi.Output; + /** + * Specifies a completion duration to initiate a time-based snapshot copy. Time-based snapshot copy operations complete within the specified duration. Value must be between 15 and 2880 minutes, in 15 minute increments only. + */ + public readonly completionDurationMinutes!: pulumi.Output; /** * The data encryption key identifier for the snapshot. */ @@ -142,6 +146,7 @@ export class SnapshotCopy extends pulumi.CustomResource { if (opts.id) { const state = argsOrState as SnapshotCopyState | undefined; resourceInputs["arn"] = state ? state.arn : undefined; + resourceInputs["completionDurationMinutes"] = state ? state.completionDurationMinutes : undefined; resourceInputs["dataEncryptionKeyId"] = state ? state.dataEncryptionKeyId : undefined; resourceInputs["description"] = state ? state.description : undefined; resourceInputs["encrypted"] = state ? state.encrypted : undefined; @@ -166,6 +171,7 @@ export class SnapshotCopy extends pulumi.CustomResource { if ((!args || args.sourceSnapshotId === undefined) && !opts.urn) { throw new Error("Missing required property 'sourceSnapshotId'"); } + resourceInputs["completionDurationMinutes"] = args ? args.completionDurationMinutes : undefined; resourceInputs["description"] = args ? args.description : undefined; resourceInputs["encrypted"] = args ? args.encrypted : undefined; resourceInputs["kmsKeyId"] = args ? args.kmsKeyId : undefined; @@ -197,6 +203,10 @@ export interface SnapshotCopyState { * Amazon Resource Name (ARN) of the EBS Snapshot. */ arn?: pulumi.Input; + /** + * Specifies a completion duration to initiate a time-based snapshot copy. Time-based snapshot copy operations complete within the specified duration. Value must be between 15 and 2880 minutes, in 15 minute increments only. + */ + completionDurationMinutes?: pulumi.Input; /** * The data encryption key identifier for the snapshot. */ @@ -263,6 +273,10 @@ export interface SnapshotCopyState { * The set of arguments for constructing a SnapshotCopy resource. */ export interface SnapshotCopyArgs { + /** + * Specifies a completion duration to initiate a time-based snapshot copy. Time-based snapshot copy operations complete within the specified duration. Value must be between 15 and 2880 minutes, in 15 minute increments only. + */ + completionDurationMinutes?: pulumi.Input; /** * A description of what the snapshot is. */ diff --git a/sdk/nodejs/ec2/instance.ts b/sdk/nodejs/ec2/instance.ts index 46b90cb0af2..c31883f5af6 100644 --- a/sdk/nodejs/ec2/instance.ts +++ b/sdk/nodejs/ec2/instance.ts @@ -284,6 +284,10 @@ export class Instance extends pulumi.CustomResource { * If true, the launched EC2 instance will be EBS-optimized. Note that if this is not set on an instance type that is optimized by default then this will show as disabled but if the instance type is optimized by default then there is no need to set this and there is no effect to disabling it. See the [EBS Optimized section](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSOptimized.html) of the AWS User Guide for more information. */ public readonly ebsOptimized!: pulumi.Output; + /** + * Whether to assign a primary IPv6 Global Unicast Address (GUA) to the instance when launched in a dual-stack or IPv6-only subnet. A primary IPv6 address ensures a consistent IPv6 address for the instance and is automatically assigned by AWS to the ENI. Once enabled, the first IPv6 GUA becomes the primary IPv6 address and cannot be disabled. The primary IPv6 address remains until the instance is terminated or the ENI is detached. Disabling `enablePrimaryIpv6` after it has been enabled forces recreation of the instance. + */ + public readonly enablePrimaryIpv6!: pulumi.Output; /** * Enable Nitro Enclaves on launched instances. See Enclave Options below for more details. */ @@ -495,6 +499,7 @@ export class Instance extends pulumi.CustomResource { resourceInputs["disableApiTermination"] = state ? state.disableApiTermination : undefined; resourceInputs["ebsBlockDevices"] = state ? state.ebsBlockDevices : undefined; resourceInputs["ebsOptimized"] = state ? state.ebsOptimized : undefined; + resourceInputs["enablePrimaryIpv6"] = state ? state.enablePrimaryIpv6 : undefined; resourceInputs["enclaveOptions"] = state ? state.enclaveOptions : undefined; resourceInputs["ephemeralBlockDevices"] = state ? state.ephemeralBlockDevices : undefined; resourceInputs["getPasswordData"] = state ? state.getPasswordData : undefined; @@ -553,6 +558,7 @@ export class Instance extends pulumi.CustomResource { resourceInputs["disableApiTermination"] = args ? args.disableApiTermination : undefined; resourceInputs["ebsBlockDevices"] = args ? args.ebsBlockDevices : undefined; resourceInputs["ebsOptimized"] = args ? args.ebsOptimized : undefined; + resourceInputs["enablePrimaryIpv6"] = args ? args.enablePrimaryIpv6 : undefined; resourceInputs["enclaveOptions"] = args ? args.enclaveOptions : undefined; resourceInputs["ephemeralBlockDevices"] = args ? args.ephemeralBlockDevices : undefined; resourceInputs["getPasswordData"] = args ? args.getPasswordData : undefined; @@ -666,6 +672,10 @@ export interface InstanceState { * If true, the launched EC2 instance will be EBS-optimized. Note that if this is not set on an instance type that is optimized by default then this will show as disabled but if the instance type is optimized by default then there is no need to set this and there is no effect to disabling it. See the [EBS Optimized section](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSOptimized.html) of the AWS User Guide for more information. */ ebsOptimized?: pulumi.Input; + /** + * Whether to assign a primary IPv6 Global Unicast Address (GUA) to the instance when launched in a dual-stack or IPv6-only subnet. A primary IPv6 address ensures a consistent IPv6 address for the instance and is automatically assigned by AWS to the ENI. Once enabled, the first IPv6 GUA becomes the primary IPv6 address and cannot be disabled. The primary IPv6 address remains until the instance is terminated or the ENI is detached. Disabling `enablePrimaryIpv6` after it has been enabled forces recreation of the instance. + */ + enablePrimaryIpv6?: pulumi.Input; /** * Enable Nitro Enclaves on launched instances. See Enclave Options below for more details. */ @@ -910,6 +920,10 @@ export interface InstanceArgs { * If true, the launched EC2 instance will be EBS-optimized. Note that if this is not set on an instance type that is optimized by default then this will show as disabled but if the instance type is optimized by default then there is no need to set this and there is no effect to disabling it. See the [EBS Optimized section](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSOptimized.html) of the AWS User Guide for more information. */ ebsOptimized?: pulumi.Input; + /** + * Whether to assign a primary IPv6 Global Unicast Address (GUA) to the instance when launched in a dual-stack or IPv6-only subnet. A primary IPv6 address ensures a consistent IPv6 address for the instance and is automatically assigned by AWS to the ENI. Once enabled, the first IPv6 GUA becomes the primary IPv6 address and cannot be disabled. The primary IPv6 address remains until the instance is terminated or the ENI is detached. Disabling `enablePrimaryIpv6` after it has been enabled forces recreation of the instance. + */ + enablePrimaryIpv6?: pulumi.Input; /** * Enable Nitro Enclaves on launched instances. See Enclave Options below for more details. */ diff --git a/sdk/nodejs/ec2/networkInterface.ts b/sdk/nodejs/ec2/networkInterface.ts index adc5a42b57b..7b1316d45ed 100644 --- a/sdk/nodejs/ec2/networkInterface.ts +++ b/sdk/nodejs/ec2/networkInterface.ts @@ -92,6 +92,10 @@ export class NetworkInterface extends pulumi.CustomResource { * Description for the network interface. */ public readonly description!: pulumi.Output; + /** + * Enables assigning a primary IPv6 Global Unicast Address (GUA) to the network interface (ENI) in dual-stack or IPv6-only subnets. This ensures the instance attached to the ENI retains a consistent IPv6 address. Once enabled, the first IPv6 GUA becomes the primary IPv6 address and cannot be disabled. The primary IPv6 address remains assigned until the instance is terminated or the ENI is detached. Enabling and subsequent disabling forces recreation of the ENI. + */ + public readonly enablePrimaryIpv6!: pulumi.Output; /** * Type of network interface to create. Set to `efa` for Elastic Fabric Adapter. Changing `interfaceType` will cause the resource to be destroyed and re-created. */ @@ -109,7 +113,7 @@ export class NetworkInterface extends pulumi.CustomResource { */ public readonly ipv6AddressCount!: pulumi.Output; /** - * Whether `ipv6AddressList` is allowed and controls the IPs to assign to the ENI and `ipv6Addresses` and `ipv6AddressCount` become read-only. Default false. + * Whether `ipv6AddressList` is allowed and controls the IPs to assign to the ENI and `ipv6Addresses` and `ipv6AddressCount` become read-only. Default is `false`. */ public readonly ipv6AddressListEnabled!: pulumi.Output; /** @@ -143,7 +147,7 @@ export class NetworkInterface extends pulumi.CustomResource { public /*out*/ readonly privateDnsName!: pulumi.Output; public readonly privateIp!: pulumi.Output; /** - * Whether `privateIpList` is allowed and controls the IPs to assign to the ENI and `privateIps` and `privateIpsCount` become read-only. Default false. + * Whether `privateIpList` is allowed and controls the IPs to assign to the ENI and `privateIps` and `privateIpsCount` become read-only. Default is `false`. */ public readonly privateIpListEnabled!: pulumi.Output; /** @@ -199,6 +203,7 @@ export class NetworkInterface extends pulumi.CustomResource { resourceInputs["arn"] = state ? state.arn : undefined; resourceInputs["attachments"] = state ? state.attachments : undefined; resourceInputs["description"] = state ? state.description : undefined; + resourceInputs["enablePrimaryIpv6"] = state ? state.enablePrimaryIpv6 : undefined; resourceInputs["interfaceType"] = state ? state.interfaceType : undefined; resourceInputs["ipv4PrefixCount"] = state ? state.ipv4PrefixCount : undefined; resourceInputs["ipv4Prefixes"] = state ? state.ipv4Prefixes : undefined; @@ -229,6 +234,7 @@ export class NetworkInterface extends pulumi.CustomResource { } resourceInputs["attachments"] = args ? args.attachments : undefined; resourceInputs["description"] = args ? args.description : undefined; + resourceInputs["enablePrimaryIpv6"] = args ? args.enablePrimaryIpv6 : undefined; resourceInputs["interfaceType"] = args ? args.interfaceType : undefined; resourceInputs["ipv4PrefixCount"] = args ? args.ipv4PrefixCount : undefined; resourceInputs["ipv4Prefixes"] = args ? args.ipv4Prefixes : undefined; @@ -275,6 +281,10 @@ export interface NetworkInterfaceState { * Description for the network interface. */ description?: pulumi.Input; + /** + * Enables assigning a primary IPv6 Global Unicast Address (GUA) to the network interface (ENI) in dual-stack or IPv6-only subnets. This ensures the instance attached to the ENI retains a consistent IPv6 address. Once enabled, the first IPv6 GUA becomes the primary IPv6 address and cannot be disabled. The primary IPv6 address remains assigned until the instance is terminated or the ENI is detached. Enabling and subsequent disabling forces recreation of the ENI. + */ + enablePrimaryIpv6?: pulumi.Input; /** * Type of network interface to create. Set to `efa` for Elastic Fabric Adapter. Changing `interfaceType` will cause the resource to be destroyed and re-created. */ @@ -292,7 +302,7 @@ export interface NetworkInterfaceState { */ ipv6AddressCount?: pulumi.Input; /** - * Whether `ipv6AddressList` is allowed and controls the IPs to assign to the ENI and `ipv6Addresses` and `ipv6AddressCount` become read-only. Default false. + * Whether `ipv6AddressList` is allowed and controls the IPs to assign to the ENI and `ipv6Addresses` and `ipv6AddressCount` become read-only. Default is `false`. */ ipv6AddressListEnabled?: pulumi.Input; /** @@ -326,7 +336,7 @@ export interface NetworkInterfaceState { privateDnsName?: pulumi.Input; privateIp?: pulumi.Input; /** - * Whether `privateIpList` is allowed and controls the IPs to assign to the ENI and `privateIps` and `privateIpsCount` become read-only. Default false. + * Whether `privateIpList` is allowed and controls the IPs to assign to the ENI and `privateIps` and `privateIpsCount` become read-only. Default is `false`. */ privateIpListEnabled?: pulumi.Input; /** @@ -379,6 +389,10 @@ export interface NetworkInterfaceArgs { * Description for the network interface. */ description?: pulumi.Input; + /** + * Enables assigning a primary IPv6 Global Unicast Address (GUA) to the network interface (ENI) in dual-stack or IPv6-only subnets. This ensures the instance attached to the ENI retains a consistent IPv6 address. Once enabled, the first IPv6 GUA becomes the primary IPv6 address and cannot be disabled. The primary IPv6 address remains assigned until the instance is terminated or the ENI is detached. Enabling and subsequent disabling forces recreation of the ENI. + */ + enablePrimaryIpv6?: pulumi.Input; /** * Type of network interface to create. Set to `efa` for Elastic Fabric Adapter. Changing `interfaceType` will cause the resource to be destroyed and re-created. */ @@ -396,7 +410,7 @@ export interface NetworkInterfaceArgs { */ ipv6AddressCount?: pulumi.Input; /** - * Whether `ipv6AddressList` is allowed and controls the IPs to assign to the ENI and `ipv6Addresses` and `ipv6AddressCount` become read-only. Default false. + * Whether `ipv6AddressList` is allowed and controls the IPs to assign to the ENI and `ipv6Addresses` and `ipv6AddressCount` become read-only. Default is `false`. */ ipv6AddressListEnabled?: pulumi.Input; /** @@ -417,7 +431,7 @@ export interface NetworkInterfaceArgs { ipv6Prefixes?: pulumi.Input[]>; privateIp?: pulumi.Input; /** - * Whether `privateIpList` is allowed and controls the IPs to assign to the ENI and `privateIps` and `privateIpsCount` become read-only. Default false. + * Whether `privateIpList` is allowed and controls the IPs to assign to the ENI and `privateIps` and `privateIpsCount` become read-only. Default is `false`. */ privateIpListEnabled?: pulumi.Input; /** diff --git a/sdk/nodejs/ec2/spotInstanceRequest.ts b/sdk/nodejs/ec2/spotInstanceRequest.ts index 4168e744fb6..40847e474f4 100644 --- a/sdk/nodejs/ec2/spotInstanceRequest.ts +++ b/sdk/nodejs/ec2/spotInstanceRequest.ts @@ -140,6 +140,10 @@ export class SpotInstanceRequest extends pulumi.CustomResource { * If true, the launched EC2 instance will be EBS-optimized. Note that if this is not set on an instance type that is optimized by default then this will show as disabled but if the instance type is optimized by default then there is no need to set this and there is no effect to disabling it. See the [EBS Optimized section](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSOptimized.html) of the AWS User Guide for more information. */ public readonly ebsOptimized!: pulumi.Output; + /** + * Whether to assign a primary IPv6 Global Unicast Address (GUA) to the instance when launched in a dual-stack or IPv6-only subnet. A primary IPv6 address ensures a consistent IPv6 address for the instance and is automatically assigned by AWS to the ENI. Once enabled, the first IPv6 GUA becomes the primary IPv6 address and cannot be disabled. The primary IPv6 address remains until the instance is terminated or the ENI is detached. Disabling `enablePrimaryIpv6` after it has been enabled forces recreation of the instance. + */ + public readonly enablePrimaryIpv6!: pulumi.Output; /** * Enable Nitro Enclaves on launched instances. See Enclave Options below for more details. */ @@ -378,6 +382,7 @@ export class SpotInstanceRequest extends pulumi.CustomResource { resourceInputs["disableApiTermination"] = state ? state.disableApiTermination : undefined; resourceInputs["ebsBlockDevices"] = state ? state.ebsBlockDevices : undefined; resourceInputs["ebsOptimized"] = state ? state.ebsOptimized : undefined; + resourceInputs["enablePrimaryIpv6"] = state ? state.enablePrimaryIpv6 : undefined; resourceInputs["enclaveOptions"] = state ? state.enclaveOptions : undefined; resourceInputs["ephemeralBlockDevices"] = state ? state.ephemeralBlockDevices : undefined; resourceInputs["getPasswordData"] = state ? state.getPasswordData : undefined; @@ -444,6 +449,7 @@ export class SpotInstanceRequest extends pulumi.CustomResource { resourceInputs["disableApiTermination"] = args ? args.disableApiTermination : undefined; resourceInputs["ebsBlockDevices"] = args ? args.ebsBlockDevices : undefined; resourceInputs["ebsOptimized"] = args ? args.ebsOptimized : undefined; + resourceInputs["enablePrimaryIpv6"] = args ? args.enablePrimaryIpv6 : undefined; resourceInputs["enclaveOptions"] = args ? args.enclaveOptions : undefined; resourceInputs["ephemeralBlockDevices"] = args ? args.ephemeralBlockDevices : undefined; resourceInputs["getPasswordData"] = args ? args.getPasswordData : undefined; @@ -567,6 +573,10 @@ export interface SpotInstanceRequestState { * If true, the launched EC2 instance will be EBS-optimized. Note that if this is not set on an instance type that is optimized by default then this will show as disabled but if the instance type is optimized by default then there is no need to set this and there is no effect to disabling it. See the [EBS Optimized section](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSOptimized.html) of the AWS User Guide for more information. */ ebsOptimized?: pulumi.Input; + /** + * Whether to assign a primary IPv6 Global Unicast Address (GUA) to the instance when launched in a dual-stack or IPv6-only subnet. A primary IPv6 address ensures a consistent IPv6 address for the instance and is automatically assigned by AWS to the ENI. Once enabled, the first IPv6 GUA becomes the primary IPv6 address and cannot be disabled. The primary IPv6 address remains until the instance is terminated or the ENI is detached. Disabling `enablePrimaryIpv6` after it has been enabled forces recreation of the instance. + */ + enablePrimaryIpv6?: pulumi.Input; /** * Enable Nitro Enclaves on launched instances. See Enclave Options below for more details. */ @@ -843,6 +853,10 @@ export interface SpotInstanceRequestArgs { * If true, the launched EC2 instance will be EBS-optimized. Note that if this is not set on an instance type that is optimized by default then this will show as disabled but if the instance type is optimized by default then there is no need to set this and there is no effect to disabling it. See the [EBS Optimized section](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSOptimized.html) of the AWS User Guide for more information. */ ebsOptimized?: pulumi.Input; + /** + * Whether to assign a primary IPv6 Global Unicast Address (GUA) to the instance when launched in a dual-stack or IPv6-only subnet. A primary IPv6 address ensures a consistent IPv6 address for the instance and is automatically assigned by AWS to the ENI. Once enabled, the first IPv6 GUA becomes the primary IPv6 address and cannot be disabled. The primary IPv6 address remains until the instance is terminated or the ENI is detached. Disabling `enablePrimaryIpv6` after it has been enabled forces recreation of the instance. + */ + enablePrimaryIpv6?: pulumi.Input; /** * Enable Nitro Enclaves on launched instances. See Enclave Options below for more details. */ diff --git a/sdk/nodejs/ecr/accountSetting.ts b/sdk/nodejs/ecr/accountSetting.ts new file mode 100644 index 00000000000..e4e190efac7 --- /dev/null +++ b/sdk/nodejs/ecr/accountSetting.ts @@ -0,0 +1,121 @@ +// *** 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"; + +/** + * Provides a resource to manage AWS ECR Basic Scan Type + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as aws from "@pulumi/aws"; + * + * const foo = new aws.ecr.AccountSetting("foo", { + * name: "BASIC_SCAN_TYPE_VERSION", + * value: "CLAIR", + * }); + * ``` + * + * ## Import + * + * Using `pulumi import`, import EMR Security Configurations using the `name`. For example: + * + * ```sh + * $ pulumi import aws:ecr/accountSetting:AccountSetting foo BASIC_SCAN_TYPE_VERSION + * ``` + */ +export class AccountSetting extends pulumi.CustomResource { + /** + * Get an existing AccountSetting 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?: AccountSettingState, opts?: pulumi.CustomResourceOptions): AccountSetting { + return new AccountSetting(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'aws:ecr/accountSetting:AccountSetting'; + + /** + * Returns true if the given object is an instance of AccountSetting. 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 AccountSetting { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === AccountSetting.__pulumiType; + } + + /** + * The name of the ECR Scan Type. This should be `BASIC_SCAN_TYPE_VERSION`. + */ + public readonly name!: pulumi.Output; + /** + * The value of the ECR Scan Type. This can be `AWS_NATIVE` or `CLAIR`. + */ + public readonly value!: pulumi.Output; + + /** + * Create a AccountSetting 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: AccountSettingArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: AccountSettingArgs | AccountSettingState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as AccountSettingState | undefined; + resourceInputs["name"] = state ? state.name : undefined; + resourceInputs["value"] = state ? state.value : undefined; + } else { + const args = argsOrState as AccountSettingArgs | undefined; + if ((!args || args.value === undefined) && !opts.urn) { + throw new Error("Missing required property 'value'"); + } + resourceInputs["name"] = args ? args.name : undefined; + resourceInputs["value"] = args ? args.value : undefined; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(AccountSetting.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering AccountSetting resources. + */ +export interface AccountSettingState { + /** + * The name of the ECR Scan Type. This should be `BASIC_SCAN_TYPE_VERSION`. + */ + name?: pulumi.Input; + /** + * The value of the ECR Scan Type. This can be `AWS_NATIVE` or `CLAIR`. + */ + value?: pulumi.Input; +} + +/** + * The set of arguments for constructing a AccountSetting resource. + */ +export interface AccountSettingArgs { + /** + * The name of the ECR Scan Type. This should be `BASIC_SCAN_TYPE_VERSION`. + */ + name?: pulumi.Input; + /** + * The value of the ECR Scan Type. This can be `AWS_NATIVE` or `CLAIR`. + */ + value: pulumi.Input; +} diff --git a/sdk/nodejs/ecr/index.ts b/sdk/nodejs/ecr/index.ts index 514b690dc3c..b6c7e7fb30b 100644 --- a/sdk/nodejs/ecr/index.ts +++ b/sdk/nodejs/ecr/index.ts @@ -5,6 +5,11 @@ import * as pulumi from "@pulumi/pulumi"; import * as utilities from "../utilities"; // Export members: +export { AccountSettingArgs, AccountSettingState } from "./accountSetting"; +export type AccountSetting = import("./accountSetting").AccountSetting; +export const AccountSetting: typeof import("./accountSetting").AccountSetting = null as any; +utilities.lazyLoad(exports, ["AccountSetting"], () => require("./accountSetting")); + export { GetAuthorizationTokenArgs, GetAuthorizationTokenResult, GetAuthorizationTokenOutputArgs } from "./getAuthorizationToken"; export const getAuthorizationToken: typeof import("./getAuthorizationToken").getAuthorizationToken = null as any; export const getAuthorizationTokenOutput: typeof import("./getAuthorizationToken").getAuthorizationTokenOutput = null as any; @@ -91,6 +96,8 @@ const _module = { version: utilities.getVersion(), construct: (name: string, type: string, urn: string): pulumi.Resource => { switch (type) { + case "aws:ecr/accountSetting:AccountSetting": + return new AccountSetting(name, undefined, { urn }) case "aws:ecr/lifecyclePolicy:LifecyclePolicy": return new LifecyclePolicy(name, undefined, { urn }) case "aws:ecr/pullThroughCacheRule:PullThroughCacheRule": @@ -112,6 +119,7 @@ const _module = { } }, }; +pulumi.runtime.registerResourceModule("aws", "ecr/accountSetting", _module) pulumi.runtime.registerResourceModule("aws", "ecr/lifecyclePolicy", _module) pulumi.runtime.registerResourceModule("aws", "ecr/pullThroughCacheRule", _module) pulumi.runtime.registerResourceModule("aws", "ecr/registryPolicy", _module) diff --git a/sdk/nodejs/eks/accessPolicyAssociation.ts b/sdk/nodejs/eks/accessPolicyAssociation.ts index 9b0c64a175b..c92b11bf0d8 100644 --- a/sdk/nodejs/eks/accessPolicyAssociation.ts +++ b/sdk/nodejs/eks/accessPolicyAssociation.ts @@ -29,7 +29,7 @@ import * as utilities from "../utilities"; * * ## Import * - * Using `pulumi import`, import EKS access entry using the `cluster_name` `principal_arn` and `policy_arn` separated by a colon (`#`). For example: + * Using `pulumi import`, import EKS access entry using the `cluster_name` `principal_arn` and `policy_arn` separated by an octothorp (`#`). For example: * * ```sh * $ pulumi import aws:eks/accessPolicyAssociation:AccessPolicyAssociation my_eks_access_entry my_cluster_name#my_principal_arn#my_policy_arn diff --git a/sdk/nodejs/fsx/windowsFileSystem.ts b/sdk/nodejs/fsx/windowsFileSystem.ts index 26fc71d738c..2dc3652f775 100644 --- a/sdk/nodejs/fsx/windowsFileSystem.ts +++ b/sdk/nodejs/fsx/windowsFileSystem.ts @@ -200,7 +200,7 @@ export class WindowsFileSystem extends pulumi.CustomResource { */ public /*out*/ readonly tagsAll!: pulumi.Output<{[key: string]: string}>; /** - * Throughput (megabytes per second) of the file system in power of 2 increments. Minimum of `8` and maximum of `2048`. + * Throughput (megabytes per second) of the file system. For valid values, refer to the [AWS documentation](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/performance.html). * * The following arguments are optional: */ @@ -410,7 +410,7 @@ export interface WindowsFileSystemState { */ tagsAll?: pulumi.Input<{[key: string]: pulumi.Input}>; /** - * Throughput (megabytes per second) of the file system in power of 2 increments. Minimum of `8` and maximum of `2048`. + * Throughput (megabytes per second) of the file system. For valid values, refer to the [AWS documentation](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/performance.html). * * The following arguments are optional: */ @@ -506,7 +506,7 @@ export interface WindowsFileSystemArgs { */ tags?: pulumi.Input<{[key: string]: pulumi.Input}>; /** - * Throughput (megabytes per second) of the file system in power of 2 increments. Minimum of `8` and maximum of `2048`. + * Throughput (megabytes per second) of the file system. For valid values, refer to the [AWS documentation](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/performance.html). * * The following arguments are optional: */ diff --git a/sdk/nodejs/glue/catalogTableOptimizer.ts b/sdk/nodejs/glue/catalogTableOptimizer.ts index c31ea8770dc..af765510b8f 100644 --- a/sdk/nodejs/glue/catalogTableOptimizer.ts +++ b/sdk/nodejs/glue/catalogTableOptimizer.ts @@ -12,7 +12,7 @@ import * as utilities from "../utilities"; * * ## Example Usage * - * ### Basic Usage + * ### Compaction Optimizer * * ```typescript * import * as pulumi from "@pulumi/pulumi"; @@ -30,6 +30,55 @@ import * as utilities from "../utilities"; * }); * ``` * + * ### Snapshot Retention Optimizer + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as aws from "@pulumi/aws"; + * + * const example = new aws.glue.CatalogTableOptimizer("example", { + * catalogId: "123456789012", + * databaseName: "example_database", + * tableName: "example_table", + * configuration: { + * roleArn: "arn:aws:iam::123456789012:role/example-role", + * enabled: true, + * retentionConfiguration: { + * icebergConfiguration: { + * snapshotRetentionPeriodInDays: 7, + * numberOfSnapshotsToRetain: 3, + * cleanExpiredFiles: true, + * }, + * }, + * }, + * type: "retention", + * }); + * ``` + * + * ### Orphan File Deletion Optimizer + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as aws from "@pulumi/aws"; + * + * const example = new aws.glue.CatalogTableOptimizer("example", { + * catalogId: "123456789012", + * databaseName: "example_database", + * tableName: "example_table", + * configuration: { + * roleArn: "arn:aws:iam::123456789012:role/example-role", + * enabled: true, + * orphanFileDeletionConfiguration: { + * icebergConfiguration: { + * orphanFileRetentionPeriodInDays: 7, + * location: "s3://example-bucket/example_table/", + * }, + * }, + * }, + * type: "orphan_file_deletion", + * }); + * ``` + * * ## Import * * Using `pulumi import`, import Glue Catalog Table Optimizer using the `catalog_id,database_name,table_name,type`. For example: @@ -71,7 +120,7 @@ export class CatalogTableOptimizer extends pulumi.CustomResource { */ public readonly catalogId!: pulumi.Output; /** - * A configuration block that defines the table optimizer settings. The block contains: + * A configuration block that defines the table optimizer settings. See Configuration for additional details. */ public readonly configuration!: pulumi.Output; /** @@ -83,7 +132,7 @@ export class CatalogTableOptimizer extends pulumi.CustomResource { */ public readonly tableName!: pulumi.Output; /** - * The type of table optimizer. Currently, the only valid value is compaction. + * The type of table optimizer. Valid values are `compaction`, `retention`, and `orphanFileDeletion`. */ public readonly type!: pulumi.Output; @@ -139,7 +188,7 @@ export interface CatalogTableOptimizerState { */ catalogId?: pulumi.Input; /** - * A configuration block that defines the table optimizer settings. The block contains: + * A configuration block that defines the table optimizer settings. See Configuration for additional details. */ configuration?: pulumi.Input; /** @@ -151,7 +200,7 @@ export interface CatalogTableOptimizerState { */ tableName?: pulumi.Input; /** - * The type of table optimizer. Currently, the only valid value is compaction. + * The type of table optimizer. Valid values are `compaction`, `retention`, and `orphanFileDeletion`. */ type?: pulumi.Input; } @@ -165,7 +214,7 @@ export interface CatalogTableOptimizerArgs { */ catalogId: pulumi.Input; /** - * A configuration block that defines the table optimizer settings. The block contains: + * A configuration block that defines the table optimizer settings. See Configuration for additional details. */ configuration?: pulumi.Input; /** @@ -177,7 +226,7 @@ export interface CatalogTableOptimizerArgs { */ tableName: pulumi.Input; /** - * The type of table optimizer. Currently, the only valid value is compaction. + * The type of table optimizer. Valid values are `compaction`, `retention`, and `orphanFileDeletion`. */ type: pulumi.Input; } diff --git a/sdk/nodejs/iam/openIdConnectProvider.ts b/sdk/nodejs/iam/openIdConnectProvider.ts index 902befcd53c..d14894dd63c 100644 --- a/sdk/nodejs/iam/openIdConnectProvider.ts +++ b/sdk/nodejs/iam/openIdConnectProvider.ts @@ -9,6 +9,8 @@ import * as utilities from "../utilities"; * * ## Example Usage * + * ### Basic Usage + * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as aws from "@pulumi/aws"; @@ -20,6 +22,18 @@ import * as utilities from "../utilities"; * }); * ``` * + * ### Without A Thumbprint + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as aws from "@pulumi/aws"; + * + * const _default = new aws.iam.OpenIdConnectProvider("default", { + * url: "https://accounts.google.com", + * clientIdLists: ["266362248691-342342xasdasdasda-apps.googleusercontent.com"], + * }); + * ``` + * * ## Import * * Using `pulumi import`, import IAM OpenID Connect Providers using the `arn`. For example: @@ -57,11 +71,11 @@ export class OpenIdConnectProvider extends pulumi.CustomResource { } /** - * The ARN assigned by AWS for this provider. + * ARN assigned by AWS for this provider. */ public /*out*/ readonly arn!: pulumi.Output; /** - * A list of client IDs (also known as audiences). When a mobile or web app registers with an OpenID Connect provider, they establish a value that identifies the application. (This is the value that's sent as the clientId parameter on OAuth requests.) + * List of client IDs (audiences) that identify the application registered with the OpenID Connect provider. This is the value sent as the `clientId` parameter in OAuth requests. */ public readonly clientIdLists!: pulumi.Output; /** @@ -69,17 +83,14 @@ export class OpenIdConnectProvider extends pulumi.CustomResource { */ public readonly tags!: pulumi.Output<{[key: string]: string} | undefined>; /** - * A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + * Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. * * @deprecated Please use `tags` instead. */ public /*out*/ readonly tagsAll!: pulumi.Output<{[key: string]: string}>; - /** - * A list of server certificate thumbprints for the OpenID Connect (OIDC) identity provider's server certificate(s). - */ public readonly thumbprintLists!: pulumi.Output; /** - * The URL of the identity provider. Corresponds to the _iss_ claim. + * URL of the identity provider, corresponding to the `iss` claim. */ public readonly url!: pulumi.Output; @@ -107,9 +118,6 @@ export class OpenIdConnectProvider extends pulumi.CustomResource { if ((!args || args.clientIdLists === undefined) && !opts.urn) { throw new Error("Missing required property 'clientIdLists'"); } - if ((!args || args.thumbprintLists === undefined) && !opts.urn) { - throw new Error("Missing required property 'thumbprintLists'"); - } if ((!args || args.url === undefined) && !opts.urn) { throw new Error("Missing required property 'url'"); } @@ -130,11 +138,11 @@ export class OpenIdConnectProvider extends pulumi.CustomResource { */ export interface OpenIdConnectProviderState { /** - * The ARN assigned by AWS for this provider. + * ARN assigned by AWS for this provider. */ arn?: pulumi.Input; /** - * A list of client IDs (also known as audiences). When a mobile or web app registers with an OpenID Connect provider, they establish a value that identifies the application. (This is the value that's sent as the clientId parameter on OAuth requests.) + * List of client IDs (audiences) that identify the application registered with the OpenID Connect provider. This is the value sent as the `clientId` parameter in OAuth requests. */ clientIdLists?: pulumi.Input[]>; /** @@ -142,17 +150,14 @@ export interface OpenIdConnectProviderState { */ tags?: pulumi.Input<{[key: string]: pulumi.Input}>; /** - * A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + * Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. * * @deprecated Please use `tags` instead. */ tagsAll?: pulumi.Input<{[key: string]: pulumi.Input}>; - /** - * A list of server certificate thumbprints for the OpenID Connect (OIDC) identity provider's server certificate(s). - */ thumbprintLists?: pulumi.Input[]>; /** - * The URL of the identity provider. Corresponds to the _iss_ claim. + * URL of the identity provider, corresponding to the `iss` claim. */ url?: pulumi.Input; } @@ -162,19 +167,16 @@ export interface OpenIdConnectProviderState { */ export interface OpenIdConnectProviderArgs { /** - * A list of client IDs (also known as audiences). When a mobile or web app registers with an OpenID Connect provider, they establish a value that identifies the application. (This is the value that's sent as the clientId parameter on OAuth requests.) + * List of client IDs (audiences) that identify the application registered with the OpenID Connect provider. This is the value sent as the `clientId` parameter in OAuth requests. */ clientIdLists: pulumi.Input[]>; /** * Map of resource tags for the IAM OIDC provider. 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}>; + thumbprintLists?: pulumi.Input[]>; /** - * A list of server certificate thumbprints for the OpenID Connect (OIDC) identity provider's server certificate(s). - */ - thumbprintLists: pulumi.Input[]>; - /** - * The URL of the identity provider. Corresponds to the _iss_ claim. + * URL of the identity provider, corresponding to the `iss` claim. */ url: pulumi.Input; } diff --git a/sdk/nodejs/lb/listener.ts b/sdk/nodejs/lb/listener.ts index 2192f2c38aa..3ec5c090ee1 100644 --- a/sdk/nodejs/lb/listener.ts +++ b/sdk/nodejs/lb/listener.ts @@ -292,6 +292,8 @@ export class Listener extends pulumi.CustomResource { public readonly sslPolicy!: pulumi.Output; /** * A map of tags to assign to the resource. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + * > **Note::** When a `Name` key is specified in the map, the AWS Console maps the value to the `Name Tag` column value inside the `Listener Rules` table within a specific load balancer listener page. Otherwise, the value resolves to `Default`. */ public readonly tags!: pulumi.Output<{[key: string]: string} | undefined>; /** @@ -402,6 +404,8 @@ export interface ListenerState { sslPolicy?: pulumi.Input; /** * A map of tags to assign to the resource. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + * > **Note::** When a `Name` key is specified in the map, the AWS Console maps the value to the `Name Tag` column value inside the `Listener Rules` table within a specific load balancer listener page. Otherwise, the value resolves to `Default`. */ tags?: pulumi.Input<{[key: string]: pulumi.Input}>; /** @@ -456,6 +460,8 @@ export interface ListenerArgs { sslPolicy?: pulumi.Input; /** * A map of tags to assign to the resource. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + * > **Note::** When a `Name` key is specified in the map, the AWS Console maps the value to the `Name Tag` column value inside the `Listener Rules` table within a specific load balancer listener page. Otherwise, the value resolves to `Default`. */ tags?: pulumi.Input<{[key: string]: pulumi.Input}>; /** diff --git a/sdk/nodejs/msk/index.ts b/sdk/nodejs/msk/index.ts index a064006271c..cc0ad3287c7 100644 --- a/sdk/nodejs/msk/index.ts +++ b/sdk/nodejs/msk/index.ts @@ -65,6 +65,11 @@ export type ServerlessCluster = import("./serverlessCluster").ServerlessCluster; export const ServerlessCluster: typeof import("./serverlessCluster").ServerlessCluster = null as any; utilities.lazyLoad(exports, ["ServerlessCluster"], () => require("./serverlessCluster")); +export { SingleScramSecretAssociationArgs, SingleScramSecretAssociationState } from "./singleScramSecretAssociation"; +export type SingleScramSecretAssociation = import("./singleScramSecretAssociation").SingleScramSecretAssociation; +export const SingleScramSecretAssociation: typeof import("./singleScramSecretAssociation").SingleScramSecretAssociation = null as any; +utilities.lazyLoad(exports, ["SingleScramSecretAssociation"], () => require("./singleScramSecretAssociation")); + export { VpcConnectionArgs, VpcConnectionState } from "./vpcConnection"; export type VpcConnection = import("./vpcConnection").VpcConnection; export const VpcConnection: typeof import("./vpcConnection").VpcConnection = null as any; @@ -87,6 +92,8 @@ const _module = { return new ScramSecretAssociation(name, undefined, { urn }) case "aws:msk/serverlessCluster:ServerlessCluster": return new ServerlessCluster(name, undefined, { urn }) + case "aws:msk/singleScramSecretAssociation:SingleScramSecretAssociation": + return new SingleScramSecretAssociation(name, undefined, { urn }) case "aws:msk/vpcConnection:VpcConnection": return new VpcConnection(name, undefined, { urn }) default: @@ -100,4 +107,5 @@ pulumi.runtime.registerResourceModule("aws", "msk/configuration", _module) pulumi.runtime.registerResourceModule("aws", "msk/replicator", _module) pulumi.runtime.registerResourceModule("aws", "msk/scramSecretAssociation", _module) pulumi.runtime.registerResourceModule("aws", "msk/serverlessCluster", _module) +pulumi.runtime.registerResourceModule("aws", "msk/singleScramSecretAssociation", _module) pulumi.runtime.registerResourceModule("aws", "msk/vpcConnection", _module) diff --git a/sdk/nodejs/msk/replicator.ts b/sdk/nodejs/msk/replicator.ts index 0facf7f99de..e1eec1baf84 100644 --- a/sdk/nodejs/msk/replicator.ts +++ b/sdk/nodejs/msk/replicator.ts @@ -12,53 +12,6 @@ import * as utilities from "../utilities"; * * ## Example Usage * - * ### Basic Usage - * - * ```typescript - * import * as pulumi from "@pulumi/pulumi"; - * import * as aws from "@pulumi/aws"; - * - * const test = new aws.msk.Replicator("test", { - * replicatorName: "test-name", - * description: "test-description", - * serviceExecutionRoleArn: sourceAwsIamRole.arn, - * kafkaClusters: [ - * { - * amazonMskCluster: { - * mskClusterArn: source.arn, - * }, - * vpcConfig: { - * subnetIds: sourceAwsSubnet.map(__item => __item.id), - * securityGroupsIds: [sourceAwsSecurityGroup.id], - * }, - * }, - * { - * amazonMskCluster: { - * mskClusterArn: target.arn, - * }, - * vpcConfig: { - * subnetIds: targetAwsSubnet.map(__item => __item.id), - * securityGroupsIds: [targetAwsSecurityGroup.id], - * }, - * }, - * ], - * replicationInfoList: { - * sourceKafkaClusterArn: source.arn, - * targetKafkaClusterArn: target.arn, - * targetCompressionType: "NONE", - * topicReplications: [{ - * topicsToReplicates: [".*"], - * startingPosition: { - * type: "LATEST", - * }, - * }], - * consumerGroupReplications: [{ - * consumerGroupsToReplicates: [".*"], - * }], - * }, - * }); - * ``` - * * ## Import * * Using `pulumi import`, import MSK replicators using the replicator ARN. For example: diff --git a/sdk/nodejs/msk/scramSecretAssociation.ts b/sdk/nodejs/msk/scramSecretAssociation.ts index b5d5a1f1caf..75d6a79401d 100644 --- a/sdk/nodejs/msk/scramSecretAssociation.ts +++ b/sdk/nodejs/msk/scramSecretAssociation.ts @@ -7,6 +7,8 @@ import * as utilities from "../utilities"; /** * Associates SCRAM secrets stored in the Secrets Manager service with a Managed Streaming for Kafka (MSK) cluster. * + * !> This resource takes exclusive ownership over SCRAM secrets associated with a cluster. This includes removal of SCRAM secrets which are not explicitly configured. To prevent persistent drift, ensure any `aws.msk.SingleScramSecretAssociation` resources managed alongside this resource are included in the `secretArnList` argument. + * * > **Note:** The following assumes the MSK cluster has SASL/SCRAM authentication enabled. See below for example usage or refer to the [Username/Password Authentication](https://docs.aws.amazon.com/msk/latest/developerguide/msk-password.html) section of the MSK Developer Guide for more details. * * To set up username and password authentication for a cluster, create an `aws.secretsmanager.Secret` resource and associate diff --git a/sdk/nodejs/msk/singleScramSecretAssociation.ts b/sdk/nodejs/msk/singleScramSecretAssociation.ts new file mode 100644 index 00000000000..bbeaa2c879d --- /dev/null +++ b/sdk/nodejs/msk/singleScramSecretAssociation.ts @@ -0,0 +1,124 @@ +// *** 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"; + +/** + * Associates a single SCRAM secret with a Managed Streaming for Kafka (MSK) cluster. + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as aws from "@pulumi/aws"; + * + * const example = new aws.msk.SingleScramSecretAssociation("example", { + * clusterArn: exampleAwsMskCluster.arn, + * secretArn: exampleAwsSecretsmanagerSecret.arn, + * }); + * ``` + * + * ## Import + * + * Using `pulumi import`, import an MSK SCRAM Secret Association using the `cluster_arn` and `secret_arn`. For example: + * + * ```sh + * $ pulumi import aws:msk/singleScramSecretAssociation:SingleScramSecretAssociation example arn:aws:kafka:us-west-2:123456789012:cluster/example/279c0212-d057-4dba-9aa9-1c4e5a25bfc7-3,arn:aws:secretsmanager:us-east-1:123456789012:secret:example-123456 + * ``` + */ +export class SingleScramSecretAssociation extends pulumi.CustomResource { + /** + * Get an existing SingleScramSecretAssociation 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?: SingleScramSecretAssociationState, opts?: pulumi.CustomResourceOptions): SingleScramSecretAssociation { + return new SingleScramSecretAssociation(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'aws:msk/singleScramSecretAssociation:SingleScramSecretAssociation'; + + /** + * Returns true if the given object is an instance of SingleScramSecretAssociation. 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 SingleScramSecretAssociation { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === SingleScramSecretAssociation.__pulumiType; + } + + /** + * Amazon Resource Name (ARN) of the MSK cluster. + */ + public readonly clusterArn!: pulumi.Output; + /** + * AWS Secrets Manager secret ARN. + */ + public readonly secretArn!: pulumi.Output; + + /** + * Create a SingleScramSecretAssociation 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: SingleScramSecretAssociationArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: SingleScramSecretAssociationArgs | SingleScramSecretAssociationState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as SingleScramSecretAssociationState | undefined; + resourceInputs["clusterArn"] = state ? state.clusterArn : undefined; + resourceInputs["secretArn"] = state ? state.secretArn : undefined; + } else { + const args = argsOrState as SingleScramSecretAssociationArgs | undefined; + if ((!args || args.clusterArn === undefined) && !opts.urn) { + throw new Error("Missing required property 'clusterArn'"); + } + if ((!args || args.secretArn === undefined) && !opts.urn) { + throw new Error("Missing required property 'secretArn'"); + } + resourceInputs["clusterArn"] = args ? args.clusterArn : undefined; + resourceInputs["secretArn"] = args ? args.secretArn : undefined; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(SingleScramSecretAssociation.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering SingleScramSecretAssociation resources. + */ +export interface SingleScramSecretAssociationState { + /** + * Amazon Resource Name (ARN) of the MSK cluster. + */ + clusterArn?: pulumi.Input; + /** + * AWS Secrets Manager secret ARN. + */ + secretArn?: pulumi.Input; +} + +/** + * The set of arguments for constructing a SingleScramSecretAssociation resource. + */ +export interface SingleScramSecretAssociationArgs { + /** + * Amazon Resource Name (ARN) of the MSK cluster. + */ + clusterArn: pulumi.Input; + /** + * AWS Secrets Manager secret ARN. + */ + secretArn: pulumi.Input; +} diff --git a/sdk/nodejs/networkfirewall/loggingConfiguration.ts b/sdk/nodejs/networkfirewall/loggingConfiguration.ts index 3f1be0bd04b..49de03c0d8b 100644 --- a/sdk/nodejs/networkfirewall/loggingConfiguration.ts +++ b/sdk/nodejs/networkfirewall/loggingConfiguration.ts @@ -24,7 +24,7 @@ import * as utilities from "../utilities"; * logDestinationConfigs: [{ * logDestination: { * bucketName: exampleAwsS3Bucket.bucket, - * prefix: "/example", + * prefix: "example", * }, * logDestinationType: "S3", * logType: "FLOW", diff --git a/sdk/nodejs/rds/cluster.ts b/sdk/nodejs/rds/cluster.ts index bc5605a4d4b..16ee1d13f37 100644 --- a/sdk/nodejs/rds/cluster.ts +++ b/sdk/nodejs/rds/cluster.ts @@ -142,7 +142,8 @@ import * as utilities from "../utilities"; * storageEncrypted: true, * serverlessv2ScalingConfiguration: { * maxCapacity: 1, - * minCapacity: 0.5, + * minCapacity: 0, + * secondsUntilAutoPause: 3600, * }, * }); * const exampleClusterInstance = new aws.rds.ClusterInstance("example", { diff --git a/sdk/nodejs/rds/globalCluster.ts b/sdk/nodejs/rds/globalCluster.ts index 0d827151172..99d119a5d36 100644 --- a/sdk/nodejs/rds/globalCluster.ts +++ b/sdk/nodejs/rds/globalCluster.ts @@ -202,13 +202,13 @@ export class GlobalCluster extends pulumi.CustomResource { } /** - * RDS Global Cluster Amazon Resource Name (ARN) + * RDS Global Cluster Amazon Resource Name (ARN). */ public /*out*/ readonly arn!: pulumi.Output; /** - * Name for an automatically created database on cluster creation. + * Name for an automatically created database on cluster creation. Pulumi will only perform drift detection if a configuration value is provided. */ - public readonly databaseName!: pulumi.Output; + public readonly databaseName!: pulumi.Output; /** * If the Global Cluster should have deletion protection enabled. The database can't be deleted when this value is set to `true`. The default is `false`. */ @@ -243,7 +243,7 @@ export class GlobalCluster extends pulumi.CustomResource { */ public /*out*/ readonly globalClusterMembers!: pulumi.Output; /** - * AWS Region-unique, immutable identifier for the global database cluster. This identifier is found in AWS CloudTrail log entries whenever the AWS KMS key for the DB cluster is accessed + * AWS Region-unique, immutable identifier for the global database cluster. This identifier is found in AWS CloudTrail log entries whenever the AWS KMS key for the DB cluster is accessed. */ public /*out*/ readonly globalClusterResourceId!: pulumi.Output; /** @@ -254,6 +254,16 @@ export class GlobalCluster extends pulumi.CustomResource { * Specifies whether the DB cluster is encrypted. The default is `false` unless `sourceDbClusterIdentifier` is specified and encrypted. The provider will only perform drift detection if a configuration value is provided. */ public readonly storageEncrypted!: pulumi.Output; + /** + * A map of tags to assign to the DB cluster. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + */ + public readonly tags!: pulumi.Output<{[key: string]: string} | undefined>; + /** + * Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + * + * @deprecated Please use `tags` instead. + */ + public /*out*/ readonly tagsAll!: pulumi.Output<{[key: string]: string}>; /** * Create a GlobalCluster resource with the given unique name, arguments, and options. @@ -282,6 +292,8 @@ export class GlobalCluster extends pulumi.CustomResource { resourceInputs["globalClusterResourceId"] = state ? state.globalClusterResourceId : undefined; resourceInputs["sourceDbClusterIdentifier"] = state ? state.sourceDbClusterIdentifier : undefined; resourceInputs["storageEncrypted"] = state ? state.storageEncrypted : undefined; + resourceInputs["tags"] = state ? state.tags : undefined; + resourceInputs["tagsAll"] = state ? state.tagsAll : undefined; } else { const args = argsOrState as GlobalClusterArgs | undefined; if ((!args || args.globalClusterIdentifier === undefined) && !opts.urn) { @@ -296,11 +308,13 @@ export class GlobalCluster extends pulumi.CustomResource { resourceInputs["globalClusterIdentifier"] = args ? args.globalClusterIdentifier : undefined; resourceInputs["sourceDbClusterIdentifier"] = args ? args.sourceDbClusterIdentifier : undefined; resourceInputs["storageEncrypted"] = args ? args.storageEncrypted : undefined; + resourceInputs["tags"] = args ? args.tags : undefined; resourceInputs["arn"] = undefined /*out*/; resourceInputs["endpoint"] = undefined /*out*/; resourceInputs["engineVersionActual"] = undefined /*out*/; resourceInputs["globalClusterMembers"] = undefined /*out*/; resourceInputs["globalClusterResourceId"] = undefined /*out*/; + resourceInputs["tagsAll"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); super(GlobalCluster.__pulumiType, name, resourceInputs, opts); @@ -312,11 +326,11 @@ export class GlobalCluster extends pulumi.CustomResource { */ export interface GlobalClusterState { /** - * RDS Global Cluster Amazon Resource Name (ARN) + * RDS Global Cluster Amazon Resource Name (ARN). */ arn?: pulumi.Input; /** - * Name for an automatically created database on cluster creation. + * Name for an automatically created database on cluster creation. Pulumi will only perform drift detection if a configuration value is provided. */ databaseName?: pulumi.Input; /** @@ -353,7 +367,7 @@ export interface GlobalClusterState { */ globalClusterMembers?: pulumi.Input[]>; /** - * AWS Region-unique, immutable identifier for the global database cluster. This identifier is found in AWS CloudTrail log entries whenever the AWS KMS key for the DB cluster is accessed + * AWS Region-unique, immutable identifier for the global database cluster. This identifier is found in AWS CloudTrail log entries whenever the AWS KMS key for the DB cluster is accessed. */ globalClusterResourceId?: pulumi.Input; /** @@ -364,6 +378,16 @@ export interface GlobalClusterState { * Specifies whether the DB cluster is encrypted. The default is `false` unless `sourceDbClusterIdentifier` is specified and encrypted. The provider will only perform drift detection if a configuration value is provided. */ storageEncrypted?: pulumi.Input; + /** + * A map of tags to assign to the DB cluster. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + */ + tags?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + * + * @deprecated Please use `tags` instead. + */ + tagsAll?: pulumi.Input<{[key: string]: pulumi.Input}>; } /** @@ -371,7 +395,7 @@ export interface GlobalClusterState { */ export interface GlobalClusterArgs { /** - * Name for an automatically created database on cluster creation. + * Name for an automatically created database on cluster creation. Pulumi will only perform drift detection if a configuration value is provided. */ databaseName?: pulumi.Input; /** @@ -406,4 +430,8 @@ export interface GlobalClusterArgs { * Specifies whether the DB cluster is encrypted. The default is `false` unless `sourceDbClusterIdentifier` is specified and encrypted. The provider will only perform drift detection if a configuration value is provided. */ storageEncrypted?: pulumi.Input; + /** + * A map of tags to assign to the DB cluster. 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/instance.ts b/sdk/nodejs/rds/instance.ts index eb05cd33330..34f2e461460 100644 --- a/sdk/nodejs/rds/instance.ts +++ b/sdk/nodejs/rds/instance.ts @@ -400,13 +400,12 @@ export class Instance extends pulumi.CustomResource { */ public readonly dbName!: pulumi.Output; /** - * Name of DB subnet group. DB instance will - * be created in the VPC associated with the DB subnet group. If unspecified, will - * be created in the `default` VPC, or in EC2 Classic, if available. When working - * with read replicas, it should be specified only if the source database - * specifies an instance in another AWS Region. See [DBSubnetGroupName in API - * action CreateDBInstanceReadReplica](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstanceReadReplica.html) - * for additional read replica constraints. + * Name of DB subnet group. + * DB instance will be created in the VPC associated with the DB subnet group. + * If unspecified, will be created in the `default` Subnet Group. + * When working with read replicas created in the same region, defaults to the Subnet Group Name of the source DB. + * When working with read replicas created in a different region, defaults to the `default` Subnet Group. + * See [DBSubnetGroupName in API action CreateDBInstanceReadReplica](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstanceReadReplica.html) for additional read replica constraints. */ public readonly dbSubnetGroupName!: pulumi.Output; /** @@ -623,15 +622,12 @@ export class Instance extends pulumi.CustomResource { public readonly replicaMode!: pulumi.Output; public /*out*/ readonly replicas!: pulumi.Output; /** - * Specifies that this resource is a Replicate - * database, and to use this value as the source database. This correlates to the - * `identifier` of another Amazon RDS Database to replicate (if replicating within - * a single region) or ARN of the Amazon RDS Database to replicate (if replicating - * cross-region). Note that if you are - * creating a cross-region replica of an encrypted database you will also need to - * specify a `kmsKeyId`. See [DB Instance Replication][instance-replication] and [Working with - * PostgreSQL and MySQL Read Replicas](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ReadRepl.html) - * for more information on using Replication. + * Specifies that this resource is a Replica database, and to use this value as the source database. + * If replicating an Amazon RDS Database Instance in the same region, use the `identifier` of the source DB, unless also specifying the `dbSubnetGroupName`. + * If specifying the `dbSubnetGroupName` in the same region, use the `arn` of the source DB. + * If replicating an Instance in a different region, use the `arn` of the source DB. + * Note that if you are creating a cross-region replica of an encrypted database you will also need to specify a `kmsKeyId`. + * See [DB Instance Replication][instance-replication] and [Working with PostgreSQL and MySQL Read Replicas](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ReadRepl.html) for more information on using Replication. */ public readonly replicateSourceDb!: pulumi.Output; /** @@ -639,7 +635,9 @@ export class Instance extends pulumi.CustomResource { */ public /*out*/ readonly resourceId!: pulumi.Output; /** - * A configuration block for restoring a DB instance to an arbitrary point in time. Requires the `identifier` argument to be set with the name of the new DB instance to be created. See Restore To Point In Time below for details. + * A configuration block for restoring a DB instance to an arbitrary point in time. + * Requires the `identifier` argument to be set with the name of the new DB instance to be created. + * See Restore To Point In Time below for details. */ public readonly restoreToPointInTime!: pulumi.Output; /** @@ -655,9 +653,8 @@ export class Instance extends pulumi.CustomResource { */ public readonly skipFinalSnapshot!: pulumi.Output; /** - * Specifies whether or not to create this - * database from a snapshot. This correlates to the snapshot ID you'd find in the - * RDS console, e.g: rds:production-2015-06-26-06-05. + * Specifies whether or not to create this database from a snapshot. + * This corresponds to the snapshot ID you'd find in the RDS console, e.g: rds:production-2015-06-26-06-05. */ public readonly snapshotIdentifier!: pulumi.Output; /** @@ -701,7 +698,8 @@ export class Instance extends pulumi.CustomResource { */ public readonly timezone!: pulumi.Output; /** - * Whether to upgrade the storage file system configuration on the read replica. Can only be set with `replicateSourceDb`. + * Whether to upgrade the storage file system configuration on the read replica. + * Can only be set with `replicateSourceDb`. */ public readonly upgradeStorageConfig!: pulumi.Output; /** @@ -998,13 +996,12 @@ export interface InstanceState { */ dbName?: pulumi.Input; /** - * Name of DB subnet group. DB instance will - * be created in the VPC associated with the DB subnet group. If unspecified, will - * be created in the `default` VPC, or in EC2 Classic, if available. When working - * with read replicas, it should be specified only if the source database - * specifies an instance in another AWS Region. See [DBSubnetGroupName in API - * action CreateDBInstanceReadReplica](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstanceReadReplica.html) - * for additional read replica constraints. + * Name of DB subnet group. + * DB instance will be created in the VPC associated with the DB subnet group. + * If unspecified, will be created in the `default` Subnet Group. + * When working with read replicas created in the same region, defaults to the Subnet Group Name of the source DB. + * When working with read replicas created in a different region, defaults to the `default` Subnet Group. + * See [DBSubnetGroupName in API action CreateDBInstanceReadReplica](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstanceReadReplica.html) for additional read replica constraints. */ dbSubnetGroupName?: pulumi.Input; /** @@ -1221,15 +1218,12 @@ export interface InstanceState { replicaMode?: pulumi.Input; replicas?: pulumi.Input[]>; /** - * Specifies that this resource is a Replicate - * database, and to use this value as the source database. This correlates to the - * `identifier` of another Amazon RDS Database to replicate (if replicating within - * a single region) or ARN of the Amazon RDS Database to replicate (if replicating - * cross-region). Note that if you are - * creating a cross-region replica of an encrypted database you will also need to - * specify a `kmsKeyId`. See [DB Instance Replication][instance-replication] and [Working with - * PostgreSQL and MySQL Read Replicas](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ReadRepl.html) - * for more information on using Replication. + * Specifies that this resource is a Replica database, and to use this value as the source database. + * If replicating an Amazon RDS Database Instance in the same region, use the `identifier` of the source DB, unless also specifying the `dbSubnetGroupName`. + * If specifying the `dbSubnetGroupName` in the same region, use the `arn` of the source DB. + * If replicating an Instance in a different region, use the `arn` of the source DB. + * Note that if you are creating a cross-region replica of an encrypted database you will also need to specify a `kmsKeyId`. + * See [DB Instance Replication][instance-replication] and [Working with PostgreSQL and MySQL Read Replicas](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ReadRepl.html) for more information on using Replication. */ replicateSourceDb?: pulumi.Input; /** @@ -1237,7 +1231,9 @@ export interface InstanceState { */ resourceId?: pulumi.Input; /** - * A configuration block for restoring a DB instance to an arbitrary point in time. Requires the `identifier` argument to be set with the name of the new DB instance to be created. See Restore To Point In Time below for details. + * A configuration block for restoring a DB instance to an arbitrary point in time. + * Requires the `identifier` argument to be set with the name of the new DB instance to be created. + * See Restore To Point In Time below for details. */ restoreToPointInTime?: pulumi.Input; /** @@ -1253,9 +1249,8 @@ export interface InstanceState { */ skipFinalSnapshot?: pulumi.Input; /** - * Specifies whether or not to create this - * database from a snapshot. This correlates to the snapshot ID you'd find in the - * RDS console, e.g: rds:production-2015-06-26-06-05. + * Specifies whether or not to create this database from a snapshot. + * This corresponds to the snapshot ID you'd find in the RDS console, e.g: rds:production-2015-06-26-06-05. */ snapshotIdentifier?: pulumi.Input; /** @@ -1299,7 +1294,8 @@ export interface InstanceState { */ timezone?: pulumi.Input; /** - * Whether to upgrade the storage file system configuration on the read replica. Can only be set with `replicateSourceDb`. + * Whether to upgrade the storage file system configuration on the read replica. + * Can only be set with `replicateSourceDb`. */ upgradeStorageConfig?: pulumi.Input; /** @@ -1401,13 +1397,12 @@ export interface InstanceArgs { */ dbName?: pulumi.Input; /** - * Name of DB subnet group. DB instance will - * be created in the VPC associated with the DB subnet group. If unspecified, will - * be created in the `default` VPC, or in EC2 Classic, if available. When working - * with read replicas, it should be specified only if the source database - * specifies an instance in another AWS Region. See [DBSubnetGroupName in API - * action CreateDBInstanceReadReplica](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstanceReadReplica.html) - * for additional read replica constraints. + * Name of DB subnet group. + * DB instance will be created in the VPC associated with the DB subnet group. + * If unspecified, will be created in the `default` Subnet Group. + * When working with read replicas created in the same region, defaults to the Subnet Group Name of the source DB. + * When working with read replicas created in a different region, defaults to the `default` Subnet Group. + * See [DBSubnetGroupName in API action CreateDBInstanceReadReplica](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstanceReadReplica.html) for additional read replica constraints. */ dbSubnetGroupName?: pulumi.Input; /** @@ -1599,19 +1594,18 @@ export interface InstanceArgs { */ replicaMode?: pulumi.Input; /** - * Specifies that this resource is a Replicate - * database, and to use this value as the source database. This correlates to the - * `identifier` of another Amazon RDS Database to replicate (if replicating within - * a single region) or ARN of the Amazon RDS Database to replicate (if replicating - * cross-region). Note that if you are - * creating a cross-region replica of an encrypted database you will also need to - * specify a `kmsKeyId`. See [DB Instance Replication][instance-replication] and [Working with - * PostgreSQL and MySQL Read Replicas](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ReadRepl.html) - * for more information on using Replication. + * Specifies that this resource is a Replica database, and to use this value as the source database. + * If replicating an Amazon RDS Database Instance in the same region, use the `identifier` of the source DB, unless also specifying the `dbSubnetGroupName`. + * If specifying the `dbSubnetGroupName` in the same region, use the `arn` of the source DB. + * If replicating an Instance in a different region, use the `arn` of the source DB. + * Note that if you are creating a cross-region replica of an encrypted database you will also need to specify a `kmsKeyId`. + * See [DB Instance Replication][instance-replication] and [Working with PostgreSQL and MySQL Read Replicas](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ReadRepl.html) for more information on using Replication. */ replicateSourceDb?: pulumi.Input; /** - * A configuration block for restoring a DB instance to an arbitrary point in time. Requires the `identifier` argument to be set with the name of the new DB instance to be created. See Restore To Point In Time below for details. + * A configuration block for restoring a DB instance to an arbitrary point in time. + * Requires the `identifier` argument to be set with the name of the new DB instance to be created. + * See Restore To Point In Time below for details. */ restoreToPointInTime?: pulumi.Input; /** @@ -1627,9 +1621,8 @@ export interface InstanceArgs { */ skipFinalSnapshot?: pulumi.Input; /** - * Specifies whether or not to create this - * database from a snapshot. This correlates to the snapshot ID you'd find in the - * RDS console, e.g: rds:production-2015-06-26-06-05. + * Specifies whether or not to create this database from a snapshot. + * This corresponds to the snapshot ID you'd find in the RDS console, e.g: rds:production-2015-06-26-06-05. */ snapshotIdentifier?: pulumi.Input; /** @@ -1663,7 +1656,8 @@ export interface InstanceArgs { */ timezone?: pulumi.Input; /** - * Whether to upgrade the storage file system configuration on the read replica. Can only be set with `replicateSourceDb`. + * Whether to upgrade the storage file system configuration on the read replica. + * Can only be set with `replicateSourceDb`. */ upgradeStorageConfig?: pulumi.Input; /** diff --git a/sdk/nodejs/rds/proxy.ts b/sdk/nodejs/rds/proxy.ts index 43f41afe9af..2042a00a25e 100644 --- a/sdk/nodejs/rds/proxy.ts +++ b/sdk/nodejs/rds/proxy.ts @@ -8,36 +8,6 @@ import * as enums from "../types/enums"; import * as utilities from "../utilities"; /** - * Provides an RDS DB proxy resource. For additional information, see the [RDS User Guide](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-proxy.html). - * - * ## Example Usage - * - * ```typescript - * import * as pulumi from "@pulumi/pulumi"; - * import * as aws from "@pulumi/aws"; - * - * const example = new aws.rds.Proxy("example", { - * name: "example", - * debugLogging: false, - * engineFamily: "MYSQL", - * idleClientTimeout: 1800, - * requireTls: true, - * roleArn: exampleAwsIamRole.arn, - * vpcSecurityGroupIds: [exampleAwsSecurityGroup.id], - * vpcSubnetIds: [exampleAwsSubnet.id], - * auths: [{ - * authScheme: "SECRETS", - * description: "example", - * iamAuth: "DISABLED", - * secretArn: exampleAwsSecretsmanagerSecret.arn, - * }], - * tags: { - * Name: "example", - * Key: "value", - * }, - * }); - * ``` - * * ## Import * * Using `pulumi import`, import DB proxies using the `name`. For example: diff --git a/sdk/nodejs/route53/profilesAssociation.ts b/sdk/nodejs/route53/profilesAssociation.ts index b77efdc8beb..997bcf6944a 100644 --- a/sdk/nodejs/route53/profilesAssociation.ts +++ b/sdk/nodejs/route53/profilesAssociation.ts @@ -63,15 +63,20 @@ export class ProfilesAssociation extends pulumi.CustomResource { */ public readonly resourceId!: pulumi.Output; /** - * Status of the Profile Association. See the [AWS docs](https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53profiles_Profile.html) for valid values. + * Status of the Profile Association. */ public /*out*/ readonly status!: pulumi.Output; /** * Status message of the Profile Association. */ public /*out*/ readonly statusMessage!: pulumi.Output; + /** + * Map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + */ public readonly tags!: pulumi.Output<{[key: string]: string} | undefined>; /** + * Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + * * @deprecated Please use `tags` instead. */ public /*out*/ readonly tagsAll!: pulumi.Output<{[key: string]: string}>; @@ -143,15 +148,20 @@ export interface ProfilesAssociationState { */ resourceId?: pulumi.Input; /** - * Status of the Profile Association. See the [AWS docs](https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53profiles_Profile.html) for valid values. + * Status of the Profile Association. */ status?: pulumi.Input; /** * Status message of the Profile Association. */ statusMessage?: pulumi.Input; + /** + * Map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + */ tags?: pulumi.Input<{[key: string]: pulumi.Input}>; /** + * Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + * * @deprecated Please use `tags` instead. */ tagsAll?: pulumi.Input<{[key: string]: pulumi.Input}>; @@ -174,6 +184,9 @@ export interface ProfilesAssociationArgs { * Resource ID of the VPC the profile to be associated with. */ resourceId: pulumi.Input; + /** + * Map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + */ tags?: pulumi.Input<{[key: string]: pulumi.Input}>; timeouts?: pulumi.Input; } diff --git a/sdk/nodejs/route53/profilesProfile.ts b/sdk/nodejs/route53/profilesProfile.ts index db76832ec5e..ad8bac5faa9 100644 --- a/sdk/nodejs/route53/profilesProfile.ts +++ b/sdk/nodejs/route53/profilesProfile.ts @@ -18,7 +18,12 @@ import * as utilities from "../utilities"; * import * as pulumi from "@pulumi/pulumi"; * import * as aws from "@pulumi/aws"; * - * const example = new aws.route53.ProfilesProfile("example", {name: "example"}); + * const example = new aws.route53.ProfilesProfile("example", { + * name: "example", + * tags: { + * Environment: "dev", + * }, + * }); * ``` * * ## Import @@ -67,17 +72,20 @@ export class ProfilesProfile extends pulumi.CustomResource { public readonly name!: pulumi.Output; public /*out*/ readonly ownerId!: pulumi.Output; /** - * Share status of the Profile. Valid values [AWS docs](https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53profiles_Profile.html) + * Share status of the Profile. */ public /*out*/ readonly shareStatus!: pulumi.Output; /** - * Status of the Profile. Valid values [AWS docs](https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53profiles_Profile.html) + * Status of the Profile. */ public /*out*/ readonly status!: pulumi.Output; /** * Status message of the Profile. */ public /*out*/ readonly statusMessage!: pulumi.Output; + /** + * Map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + */ public readonly tags!: pulumi.Output<{[key: string]: string} | undefined>; /** * Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. @@ -140,17 +148,20 @@ export interface ProfilesProfileState { name?: pulumi.Input; ownerId?: pulumi.Input; /** - * Share status of the Profile. Valid values [AWS docs](https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53profiles_Profile.html) + * Share status of the Profile. */ shareStatus?: pulumi.Input; /** - * Status of the Profile. Valid values [AWS docs](https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53profiles_Profile.html) + * Status of the Profile. */ status?: pulumi.Input; /** * Status message of the Profile. */ statusMessage?: pulumi.Input; + /** + * Map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + */ tags?: pulumi.Input<{[key: string]: pulumi.Input}>; /** * Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. @@ -169,6 +180,9 @@ export interface ProfilesProfileArgs { * Name of the Profile. */ name?: pulumi.Input; + /** + * Map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + */ tags?: pulumi.Input<{[key: string]: pulumi.Input}>; timeouts?: pulumi.Input; } diff --git a/sdk/nodejs/sagemaker/notebookInstance.ts b/sdk/nodejs/sagemaker/notebookInstance.ts index 3276cc3a4ee..ef738d2840e 100644 --- a/sdk/nodejs/sagemaker/notebookInstance.ts +++ b/sdk/nodejs/sagemaker/notebookInstance.ts @@ -133,7 +133,7 @@ export class NotebookInstance extends pulumi.CustomResource { */ public /*out*/ readonly networkInterfaceId!: pulumi.Output; /** - * The platform identifier of the notebook instance runtime environment. This value can be either `notebook-al1-v1`, `notebook-al2-v1`, or `notebook-al2-v2`, depending on which version of Amazon Linux you require. + * The platform identifier of the notebook instance runtime environment. This value can be either `notebook-al1-v1`, `notebook-al2-v1`, `notebook-al2-v2`, or `notebook-al2-v3`, depending on which version of Amazon Linux you require. */ public readonly platformIdentifier!: pulumi.Output; /** @@ -288,7 +288,7 @@ export interface NotebookInstanceState { */ networkInterfaceId?: pulumi.Input; /** - * The platform identifier of the notebook instance runtime environment. This value can be either `notebook-al1-v1`, `notebook-al2-v1`, or `notebook-al2-v2`, depending on which version of Amazon Linux you require. + * The platform identifier of the notebook instance runtime environment. This value can be either `notebook-al1-v1`, `notebook-al2-v1`, `notebook-al2-v2`, or `notebook-al2-v3`, depending on which version of Amazon Linux you require. */ platformIdentifier?: pulumi.Input; /** @@ -369,7 +369,7 @@ export interface NotebookInstanceArgs { */ name?: pulumi.Input; /** - * The platform identifier of the notebook instance runtime environment. This value can be either `notebook-al1-v1`, `notebook-al2-v1`, or `notebook-al2-v2`, depending on which version of Amazon Linux you require. + * The platform identifier of the notebook instance runtime environment. This value can be either `notebook-al1-v1`, `notebook-al2-v1`, `notebook-al2-v2`, or `notebook-al2-v3`, depending on which version of Amazon Linux you require. */ platformIdentifier?: pulumi.Input; /** diff --git a/sdk/nodejs/servicecatalog/appregistryApplication.ts b/sdk/nodejs/servicecatalog/appregistryApplication.ts index 90820357788..59618b8ebdc 100644 --- a/sdk/nodejs/servicecatalog/appregistryApplication.ts +++ b/sdk/nodejs/servicecatalog/appregistryApplication.ts @@ -87,6 +87,16 @@ export class AppregistryApplication extends pulumi.CustomResource { * The following arguments are optional: */ public readonly name!: pulumi.Output; + /** + * A map of tags assigned to the Application. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + */ + public readonly tags!: pulumi.Output<{[key: string]: string} | undefined>; + /** + * Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + * + * @deprecated Please use `tags` instead. + */ + public /*out*/ readonly tagsAll!: pulumi.Output<{[key: string]: string}>; /** * Create a AppregistryApplication resource with the given unique name, arguments, and options. @@ -105,12 +115,16 @@ export class AppregistryApplication extends pulumi.CustomResource { resourceInputs["arn"] = state ? state.arn : undefined; resourceInputs["description"] = state ? state.description : undefined; resourceInputs["name"] = state ? state.name : undefined; + resourceInputs["tags"] = state ? state.tags : undefined; + resourceInputs["tagsAll"] = state ? state.tagsAll : undefined; } else { const args = argsOrState as AppregistryApplicationArgs | undefined; resourceInputs["description"] = args ? args.description : undefined; resourceInputs["name"] = args ? args.name : undefined; + resourceInputs["tags"] = args ? args.tags : undefined; resourceInputs["applicationTag"] = undefined /*out*/; resourceInputs["arn"] = undefined /*out*/; + resourceInputs["tagsAll"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); super(AppregistryApplication.__pulumiType, name, resourceInputs, opts); @@ -139,6 +153,16 @@ export interface AppregistryApplicationState { * The following arguments are optional: */ name?: pulumi.Input; + /** + * A map of tags assigned to the Application. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + */ + tags?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + * + * @deprecated Please use `tags` instead. + */ + tagsAll?: pulumi.Input<{[key: string]: pulumi.Input}>; } /** @@ -155,4 +179,8 @@ export interface AppregistryApplicationArgs { * The following arguments are optional: */ name?: pulumi.Input; + /** + * A map of tags assigned to the Application. 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/servicecatalog/appregistryAttributeGroup.ts b/sdk/nodejs/servicecatalog/appregistryAttributeGroup.ts new file mode 100644 index 00000000000..640e73d4253 --- /dev/null +++ b/sdk/nodejs/servicecatalog/appregistryAttributeGroup.ts @@ -0,0 +1,185 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as utilities from "../utilities"; + +/** + * Resource for managing an AWS Service Catalog AppRegistry Attribute Group. + * + * ## Example Usage + * + * ### Basic Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as aws from "@pulumi/aws"; + * + * const example = new aws.servicecatalog.AppregistryAttributeGroup("example", { + * name: "example", + * description: "example description", + * attributes: JSON.stringify({ + * app: "exampleapp", + * group: "examplegroup", + * }), + * }); + * ``` + * + * ## Import + * + * Using `pulumi import`, import Service Catalog AppRegistry Attribute Group using the `id`. For example: + * + * ```sh + * $ pulumi import aws:servicecatalog/appregistryAttributeGroup:AppregistryAttributeGroup example 1234567890abcfedhijk09876s + * ``` + */ +export class AppregistryAttributeGroup extends pulumi.CustomResource { + /** + * Get an existing AppregistryAttributeGroup 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?: AppregistryAttributeGroupState, opts?: pulumi.CustomResourceOptions): AppregistryAttributeGroup { + return new AppregistryAttributeGroup(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'aws:servicecatalog/appregistryAttributeGroup:AppregistryAttributeGroup'; + + /** + * Returns true if the given object is an instance of AppregistryAttributeGroup. 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 AppregistryAttributeGroup { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === AppregistryAttributeGroup.__pulumiType; + } + + /** + * ARN of the Attribute Group. + */ + public /*out*/ readonly arn!: pulumi.Output; + /** + * A JSON string of nested key-value pairs that represents the attributes of the group. + * + * The following arguments are optional: + */ + public readonly attributes!: pulumi.Output; + /** + * Description of the Attribute Group. + */ + public readonly description!: pulumi.Output; + /** + * Name of the Attribute Group. + */ + public readonly name!: pulumi.Output; + /** + * A map of tags assigned to the Attribute Group. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + */ + public readonly tags!: pulumi.Output<{[key: string]: string} | undefined>; + /** + * A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + * + * @deprecated Please use `tags` instead. + */ + public /*out*/ readonly tagsAll!: pulumi.Output<{[key: string]: string}>; + + /** + * Create a AppregistryAttributeGroup 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: AppregistryAttributeGroupArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: AppregistryAttributeGroupArgs | AppregistryAttributeGroupState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as AppregistryAttributeGroupState | undefined; + resourceInputs["arn"] = state ? state.arn : undefined; + resourceInputs["attributes"] = state ? state.attributes : undefined; + resourceInputs["description"] = state ? state.description : undefined; + resourceInputs["name"] = state ? state.name : undefined; + resourceInputs["tags"] = state ? state.tags : undefined; + resourceInputs["tagsAll"] = state ? state.tagsAll : undefined; + } else { + const args = argsOrState as AppregistryAttributeGroupArgs | undefined; + if ((!args || args.attributes === undefined) && !opts.urn) { + throw new Error("Missing required property 'attributes'"); + } + resourceInputs["attributes"] = args ? args.attributes : undefined; + resourceInputs["description"] = args ? args.description : undefined; + resourceInputs["name"] = args ? args.name : undefined; + resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["arn"] = undefined /*out*/; + resourceInputs["tagsAll"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(AppregistryAttributeGroup.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering AppregistryAttributeGroup resources. + */ +export interface AppregistryAttributeGroupState { + /** + * ARN of the Attribute Group. + */ + arn?: pulumi.Input; + /** + * A JSON string of nested key-value pairs that represents the attributes of the group. + * + * The following arguments are optional: + */ + attributes?: pulumi.Input; + /** + * Description of the Attribute Group. + */ + description?: pulumi.Input; + /** + * Name of the Attribute Group. + */ + name?: pulumi.Input; + /** + * A map of tags assigned to the Attribute Group. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + */ + tags?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + * + * @deprecated Please use `tags` instead. + */ + tagsAll?: pulumi.Input<{[key: string]: pulumi.Input}>; +} + +/** + * The set of arguments for constructing a AppregistryAttributeGroup resource. + */ +export interface AppregistryAttributeGroupArgs { + /** + * A JSON string of nested key-value pairs that represents the attributes of the group. + * + * The following arguments are optional: + */ + attributes: pulumi.Input; + /** + * Description of the Attribute Group. + */ + description?: pulumi.Input; + /** + * Name of the Attribute Group. + */ + name?: pulumi.Input; + /** + * A map of tags assigned to the Attribute Group. 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/servicecatalog/appregistryAttributeGroupAssociation.ts b/sdk/nodejs/servicecatalog/appregistryAttributeGroupAssociation.ts new file mode 100644 index 00000000000..999c9cf0cda --- /dev/null +++ b/sdk/nodejs/servicecatalog/appregistryAttributeGroupAssociation.ts @@ -0,0 +1,135 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as utilities from "../utilities"; + +/** + * Resource for managing an AWS Service Catalog AppRegistry Attribute Group Association. + * + * ## Example Usage + * + * ### Basic Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as aws from "@pulumi/aws"; + * + * const example = new aws.servicecatalog.AppregistryApplication("example", {name: "example-app"}); + * const exampleAppregistryAttributeGroup = new aws.servicecatalog.AppregistryAttributeGroup("example", { + * name: "example", + * description: "example description", + * attributes: JSON.stringify({ + * app: "exampleapp", + * group: "examplegroup", + * }), + * }); + * const exampleAppregistryAttributeGroupAssociation = new aws.servicecatalog.AppregistryAttributeGroupAssociation("example", { + * applicationId: example.id, + * attributeGroupId: exampleAppregistryAttributeGroup.id, + * }); + * ``` + * + * ## Import + * + * Using `pulumi import`, import Service Catalog AppRegistry Attribute Group Association using `application_id` and `attribute_group_id` arguments separated by a comma (`,`). For example: + * + * ```sh + * $ pulumi import aws:servicecatalog/appregistryAttributeGroupAssociation:AppregistryAttributeGroupAssociation example 12456778723424sdffsdfsdq34,12234t3564dsfsdf34asff4ww3 + * ``` + */ +export class AppregistryAttributeGroupAssociation extends pulumi.CustomResource { + /** + * Get an existing AppregistryAttributeGroupAssociation 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?: AppregistryAttributeGroupAssociationState, opts?: pulumi.CustomResourceOptions): AppregistryAttributeGroupAssociation { + return new AppregistryAttributeGroupAssociation(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'aws:servicecatalog/appregistryAttributeGroupAssociation:AppregistryAttributeGroupAssociation'; + + /** + * Returns true if the given object is an instance of AppregistryAttributeGroupAssociation. 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 AppregistryAttributeGroupAssociation { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === AppregistryAttributeGroupAssociation.__pulumiType; + } + + /** + * ID of the application. + */ + public readonly applicationId!: pulumi.Output; + /** + * ID of the attribute group to associate with the application. + */ + public readonly attributeGroupId!: pulumi.Output; + + /** + * Create a AppregistryAttributeGroupAssociation 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: AppregistryAttributeGroupAssociationArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: AppregistryAttributeGroupAssociationArgs | AppregistryAttributeGroupAssociationState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as AppregistryAttributeGroupAssociationState | undefined; + resourceInputs["applicationId"] = state ? state.applicationId : undefined; + resourceInputs["attributeGroupId"] = state ? state.attributeGroupId : undefined; + } else { + const args = argsOrState as AppregistryAttributeGroupAssociationArgs | undefined; + if ((!args || args.applicationId === undefined) && !opts.urn) { + throw new Error("Missing required property 'applicationId'"); + } + if ((!args || args.attributeGroupId === undefined) && !opts.urn) { + throw new Error("Missing required property 'attributeGroupId'"); + } + resourceInputs["applicationId"] = args ? args.applicationId : undefined; + resourceInputs["attributeGroupId"] = args ? args.attributeGroupId : undefined; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(AppregistryAttributeGroupAssociation.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering AppregistryAttributeGroupAssociation resources. + */ +export interface AppregistryAttributeGroupAssociationState { + /** + * ID of the application. + */ + applicationId?: pulumi.Input; + /** + * ID of the attribute group to associate with the application. + */ + attributeGroupId?: pulumi.Input; +} + +/** + * The set of arguments for constructing a AppregistryAttributeGroupAssociation resource. + */ +export interface AppregistryAttributeGroupAssociationArgs { + /** + * ID of the application. + */ + applicationId: pulumi.Input; + /** + * ID of the attribute group to associate with the application. + */ + attributeGroupId: pulumi.Input; +} diff --git a/sdk/nodejs/servicecatalog/getAppregistryApplication.ts b/sdk/nodejs/servicecatalog/getAppregistryApplication.ts index 8a126f4d3fa..97492e8ecea 100644 --- a/sdk/nodejs/servicecatalog/getAppregistryApplication.ts +++ b/sdk/nodejs/servicecatalog/getAppregistryApplication.ts @@ -58,6 +58,10 @@ export interface GetAppregistryApplicationResult { * Name of the application. */ readonly name: string; + /** + * A map of tags assigned to the Application. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + */ + readonly tags: {[key: string]: string}; } /** * Data source for managing an AWS Service Catalog AppRegistry Application. diff --git a/sdk/nodejs/servicecatalog/getAppregistryAttributeGroup.ts b/sdk/nodejs/servicecatalog/getAppregistryAttributeGroup.ts new file mode 100644 index 00000000000..b4ac78df039 --- /dev/null +++ b/sdk/nodejs/servicecatalog/getAppregistryAttributeGroup.ts @@ -0,0 +1,113 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as utilities from "../utilities"; + +/** + * Data source for managing an AWS Service Catalog AppRegistry Attribute Group. + * + * ## Example Usage + * + * ### Basic Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as aws from "@pulumi/aws"; + * + * const example = aws.servicecatalog.getAppregistryAttributeGroup({ + * name: "example_attribute_group", + * }); + * ``` + */ +export function getAppregistryAttributeGroup(args?: GetAppregistryAttributeGroupArgs, opts?: pulumi.InvokeOptions): Promise { + args = args || {}; + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("aws:servicecatalog/getAppregistryAttributeGroup:getAppregistryAttributeGroup", { + "arn": args.arn, + "id": args.id, + "name": args.name, + }, opts); +} + +/** + * A collection of arguments for invoking getAppregistryAttributeGroup. + */ +export interface GetAppregistryAttributeGroupArgs { + /** + * ARN of the Attribute Group to find. + */ + arn?: string; + /** + * ID of the Attribute Group to find. + */ + id?: string; + /** + * Name of the Attribute Group to find. + */ + name?: string; +} + +/** + * A collection of values returned by getAppregistryAttributeGroup. + */ +export interface GetAppregistryAttributeGroupResult { + readonly arn: string; + /** + * A JSON string of nested key-value pairs that represents the attributes of the group. + */ + readonly attributes: string; + /** + * Description of the Attribute Group. + */ + readonly description: string; + readonly id: string; + readonly name: string; + /** + * A map of tags assigned to the Attribute Group. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + */ + readonly tags: {[key: string]: string}; +} +/** + * Data source for managing an AWS Service Catalog AppRegistry Attribute Group. + * + * ## Example Usage + * + * ### Basic Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as aws from "@pulumi/aws"; + * + * const example = aws.servicecatalog.getAppregistryAttributeGroup({ + * name: "example_attribute_group", + * }); + * ``` + */ +export function getAppregistryAttributeGroupOutput(args?: GetAppregistryAttributeGroupOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { + args = args || {}; + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invokeOutput("aws:servicecatalog/getAppregistryAttributeGroup:getAppregistryAttributeGroup", { + "arn": args.arn, + "id": args.id, + "name": args.name, + }, opts); +} + +/** + * A collection of arguments for invoking getAppregistryAttributeGroup. + */ +export interface GetAppregistryAttributeGroupOutputArgs { + /** + * ARN of the Attribute Group to find. + */ + arn?: pulumi.Input; + /** + * ID of the Attribute Group to find. + */ + id?: pulumi.Input; + /** + * Name of the Attribute Group to find. + */ + name?: pulumi.Input; +} diff --git a/sdk/nodejs/servicecatalog/index.ts b/sdk/nodejs/servicecatalog/index.ts index 37cd26bc416..c31787d9303 100644 --- a/sdk/nodejs/servicecatalog/index.ts +++ b/sdk/nodejs/servicecatalog/index.ts @@ -10,6 +10,16 @@ export type AppregistryApplication = import("./appregistryApplication").Appregis export const AppregistryApplication: typeof import("./appregistryApplication").AppregistryApplication = null as any; utilities.lazyLoad(exports, ["AppregistryApplication"], () => require("./appregistryApplication")); +export { AppregistryAttributeGroupArgs, AppregistryAttributeGroupState } from "./appregistryAttributeGroup"; +export type AppregistryAttributeGroup = import("./appregistryAttributeGroup").AppregistryAttributeGroup; +export const AppregistryAttributeGroup: typeof import("./appregistryAttributeGroup").AppregistryAttributeGroup = null as any; +utilities.lazyLoad(exports, ["AppregistryAttributeGroup"], () => require("./appregistryAttributeGroup")); + +export { AppregistryAttributeGroupAssociationArgs, AppregistryAttributeGroupAssociationState } from "./appregistryAttributeGroupAssociation"; +export type AppregistryAttributeGroupAssociation = import("./appregistryAttributeGroupAssociation").AppregistryAttributeGroupAssociation; +export const AppregistryAttributeGroupAssociation: typeof import("./appregistryAttributeGroupAssociation").AppregistryAttributeGroupAssociation = null as any; +utilities.lazyLoad(exports, ["AppregistryAttributeGroupAssociation"], () => require("./appregistryAttributeGroupAssociation")); + export { BudgetResourceAssociationArgs, BudgetResourceAssociationState } from "./budgetResourceAssociation"; export type BudgetResourceAssociation = import("./budgetResourceAssociation").BudgetResourceAssociation; export const BudgetResourceAssociation: typeof import("./budgetResourceAssociation").BudgetResourceAssociation = null as any; @@ -25,6 +35,11 @@ export const getAppregistryApplication: typeof import("./getAppregistryApplicati export const getAppregistryApplicationOutput: typeof import("./getAppregistryApplication").getAppregistryApplicationOutput = null as any; utilities.lazyLoad(exports, ["getAppregistryApplication","getAppregistryApplicationOutput"], () => require("./getAppregistryApplication")); +export { GetAppregistryAttributeGroupArgs, GetAppregistryAttributeGroupResult, GetAppregistryAttributeGroupOutputArgs } from "./getAppregistryAttributeGroup"; +export const getAppregistryAttributeGroup: typeof import("./getAppregistryAttributeGroup").getAppregistryAttributeGroup = null as any; +export const getAppregistryAttributeGroupOutput: typeof import("./getAppregistryAttributeGroup").getAppregistryAttributeGroupOutput = null as any; +utilities.lazyLoad(exports, ["getAppregistryAttributeGroup","getAppregistryAttributeGroupOutput"], () => require("./getAppregistryAttributeGroup")); + export { GetConstraintArgs, GetConstraintResult, GetConstraintOutputArgs } from "./getConstraint"; export const getConstraint: typeof import("./getConstraint").getConstraint = null as any; export const getConstraintOutput: typeof import("./getConstraint").getConstraintOutput = null as any; @@ -117,6 +132,10 @@ const _module = { switch (type) { case "aws:servicecatalog/appregistryApplication:AppregistryApplication": return new AppregistryApplication(name, undefined, { urn }) + case "aws:servicecatalog/appregistryAttributeGroup:AppregistryAttributeGroup": + return new AppregistryAttributeGroup(name, undefined, { urn }) + case "aws:servicecatalog/appregistryAttributeGroupAssociation:AppregistryAttributeGroupAssociation": + return new AppregistryAttributeGroupAssociation(name, undefined, { urn }) case "aws:servicecatalog/budgetResourceAssociation:BudgetResourceAssociation": return new BudgetResourceAssociation(name, undefined, { urn }) case "aws:servicecatalog/constraint:Constraint": @@ -149,6 +168,8 @@ const _module = { }, }; pulumi.runtime.registerResourceModule("aws", "servicecatalog/appregistryApplication", _module) +pulumi.runtime.registerResourceModule("aws", "servicecatalog/appregistryAttributeGroup", _module) +pulumi.runtime.registerResourceModule("aws", "servicecatalog/appregistryAttributeGroupAssociation", _module) pulumi.runtime.registerResourceModule("aws", "servicecatalog/budgetResourceAssociation", _module) pulumi.runtime.registerResourceModule("aws", "servicecatalog/constraint", _module) pulumi.runtime.registerResourceModule("aws", "servicecatalog/organizationsAccess", _module) diff --git a/sdk/nodejs/sesv2/configurationSet.ts b/sdk/nodejs/sesv2/configurationSet.ts index 7a578220f45..98bbadc52f7 100644 --- a/sdk/nodejs/sesv2/configurationSet.ts +++ b/sdk/nodejs/sesv2/configurationSet.ts @@ -21,6 +21,7 @@ import * as utilities from "../utilities"; * const example = new aws.sesv2.ConfigurationSet("example", { * configurationSetName: "example", * deliveryOptions: { + * maxDeliverySeconds: 300, * tlsPolicy: "REQUIRE", * }, * reputationOptions: { @@ -37,6 +38,7 @@ import * as utilities from "../utilities"; * }, * trackingOptions: { * customRedirectDomain: "example.com", + * httpsPolicy: "REQUIRE", * }, * }); * ``` diff --git a/sdk/nodejs/tsconfig.json b/sdk/nodejs/tsconfig.json index b2ca267815a..e5e2ae5347e 100644 --- a/sdk/nodejs/tsconfig.json +++ b/sdk/nodejs/tsconfig.json @@ -269,6 +269,7 @@ "bedrock/guardrail.ts", "bedrock/guardrailVersion.ts", "bedrock/index.ts", + "bedrock/inferenceProfile.ts", "bedrock/provisionedModelThroughput.ts", "bedrockfoundation/getModel.ts", "bedrockfoundation/getModels.ts", @@ -390,6 +391,7 @@ "cloudwatch/index.ts", "cloudwatch/internetMonitor.ts", "cloudwatch/logAccountPolicy.ts", + "cloudwatch/logAnomalyDetector.ts", "cloudwatch/logDataProtectionPolicy.ts", "cloudwatch/logDestination.ts", "cloudwatch/logDestinationPolicy.ts", @@ -899,6 +901,7 @@ "ec2transitgateway/transitGateway.ts", "ec2transitgateway/vpcAttachment.ts", "ec2transitgateway/vpcAttachmentAccepter.ts", + "ecr/accountSetting.ts", "ecr/getAuthorizationToken.ts", "ecr/getCredentials.ts", "ecr/getImage.ts", @@ -1491,6 +1494,7 @@ "msk/replicator.ts", "msk/scramSecretAssociation.ts", "msk/serverlessCluster.ts", + "msk/singleScramSecretAssociation.ts", "msk/vpcConnection.ts", "mskconnect/connector.ts", "mskconnect/customPlugin.ts", @@ -2010,9 +2014,12 @@ "serverlessrepository/getApplication.ts", "serverlessrepository/index.ts", "servicecatalog/appregistryApplication.ts", + "servicecatalog/appregistryAttributeGroup.ts", + "servicecatalog/appregistryAttributeGroupAssociation.ts", "servicecatalog/budgetResourceAssociation.ts", "servicecatalog/constraint.ts", "servicecatalog/getAppregistryApplication.ts", + "servicecatalog/getAppregistryAttributeGroup.ts", "servicecatalog/getConstraint.ts", "servicecatalog/getLaunchPaths.ts", "servicecatalog/getPortfolio.ts", diff --git a/sdk/nodejs/types/input.ts b/sdk/nodejs/types/input.ts index a95a250d8c2..2fa6d2cb524 100644 --- a/sdk/nodejs/types/input.ts +++ b/sdk/nodejs/types/input.ts @@ -2454,7 +2454,7 @@ export namespace apigateway { export interface DomainNameEndpointConfiguration { /** - * List of endpoint types. This resource currently only supports managing a single value. Valid values: `EDGE` or `REGIONAL`. If unspecified, defaults to `EDGE`. Must be declared as `REGIONAL` in non-Commercial partitions. Refer to the [documentation](https://docs.aws.amazon.com/apigateway/latest/developerguide/create-regional-api.html) for more information on the difference between edge-optimized and regional APIs. + * A list of endpoint types of an API or its custom domain name. For an edge-optimized API and its custom domain name, the endpoint type is `EDGE`. For a regional API and its custom domain name, the endpoint type is `REGIONAL`. For a private API, the endpoint type is `PRIVATE`. */ types: pulumi.Input; } @@ -11111,6 +11111,35 @@ export namespace bedrock { text: pulumi.Input; } + export interface InferenceProfileModel { + /** + * The Amazon Resource Name (ARN) of the model. + */ + modelArn: pulumi.Input; + } + + export interface InferenceProfileModelSource { + /** + * The Amazon Resource Name (ARN) of the model. + */ + copyFrom: pulumi.Input; + } + + export interface InferenceProfileTimeouts { + /** + * A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + */ + create?: pulumi.Input; + /** + * A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. + */ + delete?: pulumi.Input; + /** + * A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + */ + update?: pulumi.Input; + } + export interface ProvisionedModelThroughputTimeouts { /** * A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). @@ -23972,14 +24001,11 @@ export namespace ec2 { export interface LaunchTemplateNetworkInterface { /** - * Associate a Carrier IP address with `eth0` for a new network interface. - * Use this option when you launch an instance in a Wavelength Zone and want to associate a Carrier IP address with the network interface. - * Boolean value, can be left unset. + * Associate a Carrier IP address with `eth0` for a new network interface. Use this option when you launch an instance in a Wavelength Zone and want to associate a Carrier IP address with the network interface. Boolean value, can be left unset. */ associateCarrierIpAddress?: pulumi.Input; /** - * Associate a public ip address with the network interface. - * Boolean value, can be left unset. + * Associate a public ip address with the network interface. Boolean value, can be left unset. */ associatePublicIpAddress?: pulumi.Input; /** @@ -26976,7 +27002,7 @@ export namespace ecs { */ name: pulumi.Input; /** - * Value to assign to the setting. Valid values: `enabled`, `disabled`. + * Value to assign to the setting. Valid values: `enhanced`, `enabled`, `disabled`. */ value: pulumi.Input; } @@ -31991,12 +32017,60 @@ export namespace glue { * Indicates whether the table optimizer is enabled. */ enabled: pulumi.Input; + /** + * The configuration block for an orphan file deletion optimizer. See Orphan File Deletion Configuration for additional details. + */ + orphanFileDeletionConfiguration?: pulumi.Input; + /** + * The configuration block for a snapshot retention optimizer. See Retention Configuration for additional details. + */ + retentionConfiguration?: pulumi.Input; /** * The ARN of the IAM role to use for the table optimizer. */ roleArn: pulumi.Input; } + export interface CatalogTableOptimizerConfigurationOrphanFileDeletionConfiguration { + /** + * The configuration for an Iceberg orphan file deletion optimizer. + */ + icebergConfiguration?: pulumi.Input; + } + + export interface CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfiguration { + /** + * Specifies a directory in which to look for files. You may choose a sub-directory rather than the top-level table location. Defaults to the table's location. + */ + location?: pulumi.Input; + /** + * The number of days that orphan files should be retained before file deletion. Defaults to `3`. + */ + orphanFileRetentionPeriodInDays?: pulumi.Input; + } + + export interface CatalogTableOptimizerConfigurationRetentionConfiguration { + /** + * The configuration for an Iceberg snapshot retention optimizer. + */ + icebergConfiguration?: pulumi.Input; + } + + export interface CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfiguration { + /** + * If set to `false`, snapshots are only deleted from table metadata, and the underlying data and metadata files are not deleted. Defaults to `false`. + */ + cleanExpiredFiles?: pulumi.Input; + /** + * The number of Iceberg snapshots to retain within the retention period. Defaults to `1` or the corresponding Iceberg table configuration field if it exists. + */ + numberOfSnapshotsToRetain?: pulumi.Input; + /** + * The number of days to retain the Iceberg snapshots. Defaults to `5`, or the corresponding Iceberg table configuration field if it exists. + */ + snapshotRetentionPeriodInDays?: pulumi.Input; + } + export interface CatalogTablePartitionIndex { /** * Name of the partition index. @@ -58291,6 +58365,7 @@ export namespace msk { * Configuration for specifying the position in the topics to start replicating from. */ startingPosition?: pulumi.Input; + topicNameConfiguration?: pulumi.Input; /** * List of regular expression patterns indicating the topics that should not be replica. */ @@ -58308,6 +58383,10 @@ export namespace msk { type?: pulumi.Input; } + export interface ReplicatorReplicationInfoListTopicReplicationTopicNameConfiguration { + type?: pulumi.Input; + } + export interface ServerlessClusterClientAuthentication { /** * Details for client authentication using SASL. See below. @@ -58838,6 +58917,10 @@ export namespace networkfirewall { } export interface FirewallPolicyFirewallPolicyStatefulEngineOptions { + /** + * Amount of time that can pass without any traffic sent through the firewall before the firewall determines that the connection is idle. + */ + flowTimeouts?: pulumi.Input; /** * Indicates how to manage the order of stateful rule evaluation for the policy. Default value: `DEFAULT_ACTION_ORDER`. Valid values: `DEFAULT_ACTION_ORDER`, `STRICT_ORDER`. */ @@ -58848,6 +58931,13 @@ export namespace networkfirewall { streamExceptionPolicy?: pulumi.Input; } + export interface FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeouts { + /** + * Number of seconds that can pass without any TCP traffic sent through the firewall before the firewall determines that the connection is idle. After the idle timeout passes, data packets are dropped, however, the next TCP SYN packet is considered a new flow and is processed by the firewall. Clients or targets can use TCP keepalive packets to reset the idle timeout. Default value: `350`. + */ + tcpIdleTimeoutSeconds?: pulumi.Input; + } + export interface FirewallPolicyFirewallPolicyStatefulRuleGroupReference { /** * Configuration block for override values @@ -58934,7 +59024,7 @@ export namespace networkfirewall { export interface LoggingConfigurationLoggingConfigurationLogDestinationConfig { /** * A map describing the logging destination for the chosen `logDestinationType`. - * * For an Amazon S3 bucket, specify the key `bucketName` with the name of the bucket and optionally specify the key `prefix` with a path. + * * For an Amazon S3 bucket, specify the key `bucketName` with the name of the bucket and optionally specify the key `prefix` with a path (Do not add a leading / in the `prefix` as the configuration will have two // when applied). * * For a CloudWatch log group, specify the key `logGroup` with the name of the CloudWatch log group. * * For a Kinesis Data Firehose delivery stream, specify the key `deliveryStream` with the name of the delivery stream. */ @@ -64655,6 +64745,10 @@ export namespace rds { * Minimum capacity for an Aurora DB cluster in `provisioned` DB engine mode. The minimum capacity must be lesser than or equal to the maximum capacity. Valid capacity values are in a range of `0` up to `256` in steps of `0.5`. */ minCapacity: pulumi.Input; + /** + * Time, in seconds, before an Aurora DB cluster in `provisioned` DB engine mode is paused. Valid values are `300` through `86400`. + */ + secondsUntilAutoPause?: pulumi.Input; } export interface ExportTaskTimeouts { @@ -64724,11 +64818,11 @@ export namespace rds { export interface GlobalClusterGlobalClusterMember { /** - * Amazon Resource Name (ARN) of member DB Cluster + * Amazon Resource Name (ARN) of member DB Cluster. */ dbClusterArn?: pulumi.Input; /** - * Whether the member is the primary DB Cluster + * Whether the member is the primary DB Cluster. */ isWriter?: pulumi.Input; } @@ -75182,6 +75276,10 @@ export namespace sesv2 { } export interface ConfigurationSetDeliveryOptions { + /** + * The maximum amount of time, in seconds, that Amazon SES API v2 will attempt delivery of email. If specified, the value must greater than or equal to 300 seconds (5 minutes) and less than or equal to 50400 seconds (840 minutes). + */ + maxDeliverySeconds?: pulumi.Input; /** * The name of the dedicated IP pool to associate with the configuration set. */ @@ -75301,6 +75399,10 @@ export namespace sesv2 { * The domain to use for tracking open and click events. */ customRedirectDomain: pulumi.Input; + /** + * The https policy to use for tracking open and click events. Valid values are `REQUIRE`, `REQUIRE_OPEN_ONLY` or `OPTIONAL`. + */ + httpsPolicy?: pulumi.Input; } export interface ConfigurationSetVdmOptions { diff --git a/sdk/nodejs/types/output.ts b/sdk/nodejs/types/output.ts index 2966bfdae7a..b7ab5564d82 100644 --- a/sdk/nodejs/types/output.ts +++ b/sdk/nodejs/types/output.ts @@ -1325,7 +1325,7 @@ export namespace apigateway { export interface DomainNameEndpointConfiguration { /** - * List of endpoint types. This resource currently only supports managing a single value. Valid values: `EDGE` or `REGIONAL`. If unspecified, defaults to `EDGE`. Must be declared as `REGIONAL` in non-Commercial partitions. Refer to the [documentation](https://docs.aws.amazon.com/apigateway/latest/developerguide/create-regional-api.html) for more information on the difference between edge-optimized and regional APIs. + * A list of endpoint types of an API or its custom domain name. For an edge-optimized API and its custom domain name, the endpoint type is `EDGE`. For a regional API and its custom domain name, the endpoint type is `REGIONAL`. For a private API, the endpoint type is `PRIVATE`. */ types: string; } @@ -12468,6 +12468,35 @@ export namespace bedrock { text: string; } + export interface InferenceProfileModel { + /** + * The Amazon Resource Name (ARN) of the model. + */ + modelArn: string; + } + + export interface InferenceProfileModelSource { + /** + * The Amazon Resource Name (ARN) of the model. + */ + copyFrom: string; + } + + export interface InferenceProfileTimeouts { + /** + * A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + */ + create?: string; + /** + * A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. + */ + delete?: string; + /** + * A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + */ + update?: string; + } + export interface ProvisionedModelThroughputTimeouts { /** * A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). @@ -29848,14 +29877,11 @@ export namespace ec2 { export interface LaunchTemplateNetworkInterface { /** - * Associate a Carrier IP address with `eth0` for a new network interface. - * Use this option when you launch an instance in a Wavelength Zone and want to associate a Carrier IP address with the network interface. - * Boolean value, can be left unset. + * Associate a Carrier IP address with `eth0` for a new network interface. Use this option when you launch an instance in a Wavelength Zone and want to associate a Carrier IP address with the network interface. Boolean value, can be left unset. */ associateCarrierIpAddress?: string; /** - * Associate a public ip address with the network interface. - * Boolean value, can be left unset. + * Associate a public ip address with the network interface. Boolean value, can be left unset. */ associatePublicIpAddress?: string; /** @@ -32719,7 +32745,7 @@ export namespace ecs { */ name: string; /** - * Value to assign to the setting. Valid values: `enabled`, `disabled`. + * Value to assign to the setting. Valid values: `enhanced`, `enabled`, `disabled`. */ value: string; } @@ -38354,12 +38380,60 @@ export namespace glue { * Indicates whether the table optimizer is enabled. */ enabled: boolean; + /** + * The configuration block for an orphan file deletion optimizer. See Orphan File Deletion Configuration for additional details. + */ + orphanFileDeletionConfiguration?: outputs.glue.CatalogTableOptimizerConfigurationOrphanFileDeletionConfiguration; + /** + * The configuration block for a snapshot retention optimizer. See Retention Configuration for additional details. + */ + retentionConfiguration?: outputs.glue.CatalogTableOptimizerConfigurationRetentionConfiguration; /** * The ARN of the IAM role to use for the table optimizer. */ roleArn: string; } + export interface CatalogTableOptimizerConfigurationOrphanFileDeletionConfiguration { + /** + * The configuration for an Iceberg orphan file deletion optimizer. + */ + icebergConfiguration?: outputs.glue.CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfiguration; + } + + export interface CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfiguration { + /** + * Specifies a directory in which to look for files. You may choose a sub-directory rather than the top-level table location. Defaults to the table's location. + */ + location?: string; + /** + * The number of days that orphan files should be retained before file deletion. Defaults to `3`. + */ + orphanFileRetentionPeriodInDays?: number; + } + + export interface CatalogTableOptimizerConfigurationRetentionConfiguration { + /** + * The configuration for an Iceberg snapshot retention optimizer. + */ + icebergConfiguration?: outputs.glue.CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfiguration; + } + + export interface CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfiguration { + /** + * If set to `false`, snapshots are only deleted from table metadata, and the underlying data and metadata files are not deleted. Defaults to `false`. + */ + cleanExpiredFiles?: boolean; + /** + * The number of Iceberg snapshots to retain within the retention period. Defaults to `1` or the corresponding Iceberg table configuration field if it exists. + */ + numberOfSnapshotsToRetain?: number; + /** + * The number of days to retain the Iceberg snapshots. Defaults to `5`, or the corresponding Iceberg table configuration field if it exists. + */ + snapshotRetentionPeriodInDays?: number; + } + export interface CatalogTablePartitionIndex { /** * Name of the partition index. @@ -65834,6 +65908,7 @@ export namespace msk { * Configuration for specifying the position in the topics to start replicating from. */ startingPosition: outputs.msk.ReplicatorReplicationInfoListTopicReplicationStartingPosition; + topicNameConfiguration: outputs.msk.ReplicatorReplicationInfoListTopicReplicationTopicNameConfiguration; /** * List of regular expression patterns indicating the topics that should not be replica. */ @@ -65851,6 +65926,10 @@ export namespace msk { type?: string; } + export interface ReplicatorReplicationInfoListTopicReplicationTopicNameConfiguration { + type?: string; + } + export interface ServerlessClusterClientAuthentication { /** * Details for client authentication using SASL. See below. @@ -66385,6 +66464,10 @@ export namespace networkfirewall { } export interface FirewallPolicyFirewallPolicyStatefulEngineOptions { + /** + * Amount of time that can pass without any traffic sent through the firewall before the firewall determines that the connection is idle. + */ + flowTimeouts?: outputs.networkfirewall.FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeouts; /** * Indicates how to manage the order of stateful rule evaluation for the policy. Default value: `DEFAULT_ACTION_ORDER`. Valid values: `DEFAULT_ACTION_ORDER`, `STRICT_ORDER`. */ @@ -66395,6 +66478,13 @@ export namespace networkfirewall { streamExceptionPolicy?: string; } + export interface FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeouts { + /** + * Number of seconds that can pass without any TCP traffic sent through the firewall before the firewall determines that the connection is idle. After the idle timeout passes, data packets are dropped, however, the next TCP SYN packet is considered a new flow and is processed by the firewall. Clients or targets can use TCP keepalive packets to reset the idle timeout. Default value: `350`. + */ + tcpIdleTimeoutSeconds?: number; + } + export interface FirewallPolicyFirewallPolicyStatefulRuleGroupReference { /** * Configuration block for override values @@ -66615,7 +66705,7 @@ export namespace networkfirewall { export interface LoggingConfigurationLoggingConfigurationLogDestinationConfig { /** * A map describing the logging destination for the chosen `logDestinationType`. - * * For an Amazon S3 bucket, specify the key `bucketName` with the name of the bucket and optionally specify the key `prefix` with a path. + * * For an Amazon S3 bucket, specify the key `bucketName` with the name of the bucket and optionally specify the key `prefix` with a path (Do not add a leading / in the `prefix` as the configuration will have two // when applied). * * For a CloudWatch log group, specify the key `logGroup` with the name of the CloudWatch log group. * * For a Kinesis Data Firehose delivery stream, specify the key `deliveryStream` with the name of the delivery stream. */ @@ -72912,6 +73002,10 @@ export namespace rds { * Minimum capacity for an Aurora DB cluster in `provisioned` DB engine mode. The minimum capacity must be lesser than or equal to the maximum capacity. Valid capacity values are in a range of `0` up to `256` in steps of `0.5`. */ minCapacity: number; + /** + * Time, in seconds, before an Aurora DB cluster in `provisioned` DB engine mode is paused. Valid values are `300` through `86400`. + */ + secondsUntilAutoPause: number; } export interface ExportTaskTimeouts { @@ -72984,11 +73078,11 @@ export namespace rds { export interface GlobalClusterGlobalClusterMember { /** - * Amazon Resource Name (ARN) of member DB Cluster + * Amazon Resource Name (ARN) of member DB Cluster. */ dbClusterArn: string; /** - * Whether the member is the primary DB Cluster + * Whether the member is the primary DB Cluster. */ isWriter: boolean; } @@ -83669,6 +83763,10 @@ export namespace sesv2 { } export interface ConfigurationSetDeliveryOptions { + /** + * The maximum amount of time, in seconds, that Amazon SES API v2 will attempt delivery of email. If specified, the value must greater than or equal to 300 seconds (5 minutes) and less than or equal to 50400 seconds (840 minutes). + */ + maxDeliverySeconds?: number; /** * The name of the dedicated IP pool to associate with the configuration set. */ @@ -83788,6 +83886,10 @@ export namespace sesv2 { * The domain to use for tracking open and click events. */ customRedirectDomain: string; + /** + * The https policy to use for tracking open and click events. Valid values are `REQUIRE`, `REQUIRE_OPEN_ONLY` or `OPTIONAL`. + */ + httpsPolicy?: string; } export interface ConfigurationSetVdmOptions { @@ -83874,6 +83976,10 @@ export namespace sesv2 { } export interface GetConfigurationSetDeliveryOption { + /** + * The maximum amount of time, in seconds, that Amazon SES API v2 will attempt delivery of email. If specified, the value must greater than or equal to 300 seconds (5 minutes) and less than or equal to 50400 seconds (840 minutes). + */ + maxDeliverySeconds: number; /** * The name of the dedicated IP pool to associate with the configuration set. */ @@ -83914,6 +84020,10 @@ export namespace sesv2 { * The domain to use for tracking open and click events. */ customRedirectDomain: string; + /** + * The https policy to use for tracking open and click events. Valid values are `REQUIRE`, `REQUIRE_OPEN_ONLY` or `OPTIONAL`. + */ + httpsPolicy: string; } export interface GetConfigurationSetVdmOption { diff --git a/sdk/python/pulumi_aws/__init__.py b/sdk/python/pulumi_aws/__init__.py index 3e4495ce9b2..97a2228882e 100644 --- a/sdk/python/pulumi_aws/__init__.py +++ b/sdk/python/pulumi_aws/__init__.py @@ -2008,6 +2008,14 @@ "aws:bedrock/guardrailVersion:GuardrailVersion": "GuardrailVersion" } }, + { + "pkg": "aws", + "mod": "bedrock/inferenceProfile", + "fqn": "pulumi_aws.bedrock", + "classes": { + "aws:bedrock/inferenceProfile:InferenceProfile": "InferenceProfile" + } + }, { "pkg": "aws", "mod": "bedrock/provisionedModelThroughput", @@ -2624,6 +2632,14 @@ "aws:cloudwatch/logAccountPolicy:LogAccountPolicy": "LogAccountPolicy" } }, + { + "pkg": "aws", + "mod": "cloudwatch/logAnomalyDetector", + "fqn": "pulumi_aws.cloudwatch", + "classes": { + "aws:cloudwatch/logAnomalyDetector:LogAnomalyDetector": "LogAnomalyDetector" + } + }, { "pkg": "aws", "mod": "cloudwatch/logDataProtectionPolicy", @@ -5160,6 +5176,14 @@ "aws:ec2transitgateway/vpcAttachmentAccepter:VpcAttachmentAccepter": "VpcAttachmentAccepter" } }, + { + "pkg": "aws", + "mod": "ecr/accountSetting", + "fqn": "pulumi_aws.ecr", + "classes": { + "aws:ecr/accountSetting:AccountSetting": "AccountSetting" + } + }, { "pkg": "aws", "mod": "ecr/lifecyclePolicy", @@ -8040,6 +8064,14 @@ "aws:msk/serverlessCluster:ServerlessCluster": "ServerlessCluster" } }, + { + "pkg": "aws", + "mod": "msk/singleScramSecretAssociation", + "fqn": "pulumi_aws.msk", + "classes": { + "aws:msk/singleScramSecretAssociation:SingleScramSecretAssociation": "SingleScramSecretAssociation" + } + }, { "pkg": "aws", "mod": "msk/vpcConnection", @@ -10776,6 +10808,22 @@ "aws:servicecatalog/appregistryApplication:AppregistryApplication": "AppregistryApplication" } }, + { + "pkg": "aws", + "mod": "servicecatalog/appregistryAttributeGroup", + "fqn": "pulumi_aws.servicecatalog", + "classes": { + "aws:servicecatalog/appregistryAttributeGroup:AppregistryAttributeGroup": "AppregistryAttributeGroup" + } + }, + { + "pkg": "aws", + "mod": "servicecatalog/appregistryAttributeGroupAssociation", + "fqn": "pulumi_aws.servicecatalog", + "classes": { + "aws:servicecatalog/appregistryAttributeGroupAssociation:AppregistryAttributeGroupAssociation": "AppregistryAttributeGroupAssociation" + } + }, { "pkg": "aws", "mod": "servicecatalog/budgetResourceAssociation", diff --git a/sdk/python/pulumi_aws/alb/listener.py b/sdk/python/pulumi_aws/alb/listener.py index e6ab16d6217..f0bf158a23d 100644 --- a/sdk/python/pulumi_aws/alb/listener.py +++ b/sdk/python/pulumi_aws/alb/listener.py @@ -44,6 +44,8 @@ def __init__(__self__, *, :param pulumi.Input[str] protocol: Protocol for connections from clients to the load balancer. For Application Load Balancers, valid values are `HTTP` and `HTTPS`, with a default of `HTTP`. For Network Load Balancers, valid values are `TCP`, `TLS`, `UDP`, and `TCP_UDP`. Not valid to use `UDP` or `TCP_UDP` if dual-stack mode is enabled. Not valid for Gateway Load Balancers. :param pulumi.Input[str] ssl_policy: Name of the SSL Policy for the listener. Required if `protocol` is `HTTPS` or `TLS`. Default is `ELBSecurityPolicy-2016-08`. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + + > **Note::** When a `Name` key is specified in the map, the AWS Console maps the value to the `Name Tag` column value inside the `Listener Rules` table within a specific load balancer listener page. Otherwise, the value resolves to `Default`. :param pulumi.Input[int] tcp_idle_timeout_seconds: TCP idle timeout value in seconds. Can only be set if protocol is `TCP` on Network Load Balancer, or with a Gateway Load Balancer. Not supported for Application Load Balancers. Valid values are between `60` and `6000` inclusive. Default: `350`. """ pulumi.set(__self__, "default_actions", default_actions) @@ -168,6 +170,8 @@ def ssl_policy(self, value: Optional[pulumi.Input[str]]): def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: """ A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + + > **Note::** When a `Name` key is specified in the map, the AWS Console maps the value to the `Name Tag` column value inside the `Listener Rules` table within a specific load balancer listener page. Otherwise, the value resolves to `Default`. """ return pulumi.get(self, "tags") @@ -217,6 +221,8 @@ def __init__(__self__, *, :param pulumi.Input[str] protocol: Protocol for connections from clients to the load balancer. For Application Load Balancers, valid values are `HTTP` and `HTTPS`, with a default of `HTTP`. For Network Load Balancers, valid values are `TCP`, `TLS`, `UDP`, and `TCP_UDP`. Not valid to use `UDP` or `TCP_UDP` if dual-stack mode is enabled. Not valid for Gateway Load Balancers. :param pulumi.Input[str] ssl_policy: Name of the SSL Policy for the listener. Required if `protocol` is `HTTPS` or `TLS`. Default is `ELBSecurityPolicy-2016-08`. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + + > **Note::** When a `Name` key is specified in the map, the AWS Console maps the value to the `Name Tag` column value inside the `Listener Rules` table within a specific load balancer listener page. Otherwise, the value resolves to `Default`. :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[int] tcp_idle_timeout_seconds: TCP idle timeout value in seconds. Can only be set if protocol is `TCP` on Network Load Balancer, or with a Gateway Load Balancer. Not supported for Application Load Balancers. Valid values are between `60` and `6000` inclusive. Default: `350`. """ @@ -363,6 +369,8 @@ def ssl_policy(self, value: Optional[pulumi.Input[str]]): def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: """ A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + + > **Note::** When a `Name` key is specified in the map, the AWS Console maps the value to the `Name Tag` column value inside the `Listener Rules` table within a specific load balancer listener page. Otherwise, the value resolves to `Default`. """ return pulumi.get(self, "tags") @@ -632,6 +640,8 @@ def __init__(__self__, :param pulumi.Input[str] protocol: Protocol for connections from clients to the load balancer. For Application Load Balancers, valid values are `HTTP` and `HTTPS`, with a default of `HTTP`. For Network Load Balancers, valid values are `TCP`, `TLS`, `UDP`, and `TCP_UDP`. Not valid to use `UDP` or `TCP_UDP` if dual-stack mode is enabled. Not valid for Gateway Load Balancers. :param pulumi.Input[str] ssl_policy: Name of the SSL Policy for the listener. Required if `protocol` is `HTTPS` or `TLS`. Default is `ELBSecurityPolicy-2016-08`. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + + > **Note::** When a `Name` key is specified in the map, the AWS Console maps the value to the `Name Tag` column value inside the `Listener Rules` table within a specific load balancer listener page. Otherwise, the value resolves to `Default`. :param pulumi.Input[int] tcp_idle_timeout_seconds: TCP idle timeout value in seconds. Can only be set if protocol is `TCP` on Network Load Balancer, or with a Gateway Load Balancer. Not supported for Application Load Balancers. Valid values are between `60` and `6000` inclusive. Default: `350`. """ ... @@ -940,6 +950,8 @@ def get(resource_name: str, :param pulumi.Input[str] protocol: Protocol for connections from clients to the load balancer. For Application Load Balancers, valid values are `HTTP` and `HTTPS`, with a default of `HTTP`. For Network Load Balancers, valid values are `TCP`, `TLS`, `UDP`, and `TCP_UDP`. Not valid to use `UDP` or `TCP_UDP` if dual-stack mode is enabled. Not valid for Gateway Load Balancers. :param pulumi.Input[str] ssl_policy: Name of the SSL Policy for the listener. Required if `protocol` is `HTTPS` or `TLS`. Default is `ELBSecurityPolicy-2016-08`. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + + > **Note::** When a `Name` key is specified in the map, the AWS Console maps the value to the `Name Tag` column value inside the `Listener Rules` table within a specific load balancer listener page. Otherwise, the value resolves to `Default`. :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[int] tcp_idle_timeout_seconds: TCP idle timeout value in seconds. Can only be set if protocol is `TCP` on Network Load Balancer, or with a Gateway Load Balancer. Not supported for Application Load Balancers. Valid values are between `60` and `6000` inclusive. Default: `350`. """ @@ -1040,6 +1052,8 @@ def ssl_policy(self) -> pulumi.Output[str]: def tags(self) -> pulumi.Output[Optional[Mapping[str, str]]]: """ A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + + > **Note::** When a `Name` key is specified in the map, the AWS Console maps the value to the `Name Tag` column value inside the `Listener Rules` table within a specific load balancer listener page. Otherwise, the value resolves to `Default`. """ return pulumi.get(self, "tags") diff --git a/sdk/python/pulumi_aws/apigateway/_inputs.py b/sdk/python/pulumi_aws/apigateway/_inputs.py index fa9d3cbe20c..3858e170878 100644 --- a/sdk/python/pulumi_aws/apigateway/_inputs.py +++ b/sdk/python/pulumi_aws/apigateway/_inputs.py @@ -284,7 +284,7 @@ def status_code(self, value: Optional[pulumi.Input[str]]): class DomainNameEndpointConfigurationArgsDict(TypedDict): types: pulumi.Input[str] """ - List of endpoint types. This resource currently only supports managing a single value. Valid values: `EDGE` or `REGIONAL`. If unspecified, defaults to `EDGE`. Must be declared as `REGIONAL` in non-Commercial partitions. Refer to the [documentation](https://docs.aws.amazon.com/apigateway/latest/developerguide/create-regional-api.html) for more information on the difference between edge-optimized and regional APIs. + A list of endpoint types of an API or its custom domain name. For an edge-optimized API and its custom domain name, the endpoint type is `EDGE`. For a regional API and its custom domain name, the endpoint type is `REGIONAL`. For a private API, the endpoint type is `PRIVATE`. """ elif False: DomainNameEndpointConfigurationArgsDict: TypeAlias = Mapping[str, Any] @@ -294,7 +294,7 @@ class DomainNameEndpointConfigurationArgs: def __init__(__self__, *, types: pulumi.Input[str]): """ - :param pulumi.Input[str] types: List of endpoint types. This resource currently only supports managing a single value. Valid values: `EDGE` or `REGIONAL`. If unspecified, defaults to `EDGE`. Must be declared as `REGIONAL` in non-Commercial partitions. Refer to the [documentation](https://docs.aws.amazon.com/apigateway/latest/developerguide/create-regional-api.html) for more information on the difference between edge-optimized and regional APIs. + :param pulumi.Input[str] types: A list of endpoint types of an API or its custom domain name. For an edge-optimized API and its custom domain name, the endpoint type is `EDGE`. For a regional API and its custom domain name, the endpoint type is `REGIONAL`. For a private API, the endpoint type is `PRIVATE`. """ pulumi.set(__self__, "types", types) @@ -302,7 +302,7 @@ def __init__(__self__, *, @pulumi.getter def types(self) -> pulumi.Input[str]: """ - List of endpoint types. This resource currently only supports managing a single value. Valid values: `EDGE` or `REGIONAL`. If unspecified, defaults to `EDGE`. Must be declared as `REGIONAL` in non-Commercial partitions. Refer to the [documentation](https://docs.aws.amazon.com/apigateway/latest/developerguide/create-regional-api.html) for more information on the difference between edge-optimized and regional APIs. + A list of endpoint types of an API or its custom domain name. For an edge-optimized API and its custom domain name, the endpoint type is `EDGE`. For a regional API and its custom domain name, the endpoint type is `REGIONAL`. For a private API, the endpoint type is `PRIVATE`. """ return pulumi.get(self, "types") diff --git a/sdk/python/pulumi_aws/apigateway/base_path_mapping.py b/sdk/python/pulumi_aws/apigateway/base_path_mapping.py index 2f5cc74f60f..3702bcf5593 100644 --- a/sdk/python/pulumi_aws/apigateway/base_path_mapping.py +++ b/sdk/python/pulumi_aws/apigateway/base_path_mapping.py @@ -22,18 +22,22 @@ def __init__(__self__, *, domain_name: pulumi.Input[str], rest_api: pulumi.Input[str], base_path: Optional[pulumi.Input[str]] = None, + domain_name_id: Optional[pulumi.Input[str]] = None, stage_name: Optional[pulumi.Input[str]] = None): """ The set of arguments for constructing a BasePathMapping resource. :param pulumi.Input[str] domain_name: Already-registered domain name to connect the API to. :param pulumi.Input[str] rest_api: ID of the API to connect. :param pulumi.Input[str] base_path: Path segment that must be prepended to the path when accessing the API via this mapping. If omitted, the API is exposed at the root of the given domain. + :param pulumi.Input[str] domain_name_id: The identifier for the domain name resource. Supported only for private custom domain names. :param pulumi.Input[str] stage_name: Name of a specific deployment stage to expose at the given path. If omitted, callers may select any stage by including its name as a path element after the base path. """ pulumi.set(__self__, "domain_name", domain_name) pulumi.set(__self__, "rest_api", rest_api) if base_path is not None: pulumi.set(__self__, "base_path", base_path) + if domain_name_id is not None: + pulumi.set(__self__, "domain_name_id", domain_name_id) if stage_name is not None: pulumi.set(__self__, "stage_name", stage_name) @@ -73,6 +77,18 @@ def base_path(self) -> Optional[pulumi.Input[str]]: def base_path(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "base_path", value) + @property + @pulumi.getter(name="domainNameId") + def domain_name_id(self) -> Optional[pulumi.Input[str]]: + """ + The identifier for the domain name resource. Supported only for private custom domain names. + """ + return pulumi.get(self, "domain_name_id") + + @domain_name_id.setter + def domain_name_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "domain_name_id", value) + @property @pulumi.getter(name="stageName") def stage_name(self) -> Optional[pulumi.Input[str]]: @@ -91,12 +107,14 @@ class _BasePathMappingState: def __init__(__self__, *, base_path: Optional[pulumi.Input[str]] = None, domain_name: Optional[pulumi.Input[str]] = None, + domain_name_id: Optional[pulumi.Input[str]] = None, rest_api: Optional[pulumi.Input[str]] = None, stage_name: Optional[pulumi.Input[str]] = None): """ Input properties used for looking up and filtering BasePathMapping resources. :param pulumi.Input[str] base_path: Path segment that must be prepended to the path when accessing the API via this mapping. If omitted, the API is exposed at the root of the given domain. :param pulumi.Input[str] domain_name: Already-registered domain name to connect the API to. + :param pulumi.Input[str] domain_name_id: The identifier for the domain name resource. Supported only for private custom domain names. :param pulumi.Input[str] rest_api: ID of the API to connect. :param pulumi.Input[str] stage_name: Name of a specific deployment stage to expose at the given path. If omitted, callers may select any stage by including its name as a path element after the base path. """ @@ -104,6 +122,8 @@ def __init__(__self__, *, pulumi.set(__self__, "base_path", base_path) if domain_name is not None: pulumi.set(__self__, "domain_name", domain_name) + if domain_name_id is not None: + pulumi.set(__self__, "domain_name_id", domain_name_id) if rest_api is not None: pulumi.set(__self__, "rest_api", rest_api) if stage_name is not None: @@ -133,6 +153,18 @@ def domain_name(self) -> Optional[pulumi.Input[str]]: def domain_name(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "domain_name", value) + @property + @pulumi.getter(name="domainNameId") + def domain_name_id(self) -> Optional[pulumi.Input[str]]: + """ + The identifier for the domain name resource. Supported only for private custom domain names. + """ + return pulumi.get(self, "domain_name_id") + + @domain_name_id.setter + def domain_name_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "domain_name_id", value) + @property @pulumi.getter(name="restApi") def rest_api(self) -> Optional[pulumi.Input[str]]: @@ -165,6 +197,7 @@ def __init__(__self__, opts: Optional[pulumi.ResourceOptions] = None, base_path: Optional[pulumi.Input[str]] = None, domain_name: Optional[pulumi.Input[str]] = None, + domain_name_id: Optional[pulumi.Input[str]] = None, rest_api: Optional[pulumi.Input[str]] = None, stage_name: Optional[pulumi.Input[str]] = None, __props__=None): @@ -177,7 +210,9 @@ def __init__(__self__, For a non-root `base_path`: - Using `pulumi import`, import `aws_api_gateway_base_path_mapping` using the domain name and base path. For example: + For a non-root `base_path` and a private custom domain name: + + Using `pulumi import`, import `aws_api_gateway_base_path_mapping` using the domain name and base path or domain name, base path and domain name ID (for private custom domain names). For example: For an empty `base_path` or, in other words, a root path (`/`): @@ -189,11 +224,17 @@ def __init__(__self__, ```sh $ pulumi import aws:apigateway/basePathMapping:BasePathMapping example example.com/base-path ``` + For a non-root `base_path` and a private custom domain name: + + ```sh + $ pulumi import aws:apigateway/basePathMapping:BasePathMapping example api.internal.example.com/base-path/abcde12345 + ``` :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] base_path: Path segment that must be prepended to the path when accessing the API via this mapping. If omitted, the API is exposed at the root of the given domain. :param pulumi.Input[str] domain_name: Already-registered domain name to connect the API to. + :param pulumi.Input[str] domain_name_id: The identifier for the domain name resource. Supported only for private custom domain names. :param pulumi.Input[str] rest_api: ID of the API to connect. :param pulumi.Input[str] stage_name: Name of a specific deployment stage to expose at the given path. If omitted, callers may select any stage by including its name as a path element after the base path. """ @@ -212,7 +253,9 @@ def __init__(__self__, For a non-root `base_path`: - Using `pulumi import`, import `aws_api_gateway_base_path_mapping` using the domain name and base path. For example: + For a non-root `base_path` and a private custom domain name: + + Using `pulumi import`, import `aws_api_gateway_base_path_mapping` using the domain name and base path or domain name, base path and domain name ID (for private custom domain names). For example: For an empty `base_path` or, in other words, a root path (`/`): @@ -224,6 +267,11 @@ def __init__(__self__, ```sh $ pulumi import aws:apigateway/basePathMapping:BasePathMapping example example.com/base-path ``` + For a non-root `base_path` and a private custom domain name: + + ```sh + $ pulumi import aws:apigateway/basePathMapping:BasePathMapping example api.internal.example.com/base-path/abcde12345 + ``` :param str resource_name: The name of the resource. :param BasePathMappingArgs args: The arguments to use to populate this resource's properties. @@ -242,6 +290,7 @@ def _internal_init(__self__, opts: Optional[pulumi.ResourceOptions] = None, base_path: Optional[pulumi.Input[str]] = None, domain_name: Optional[pulumi.Input[str]] = None, + domain_name_id: Optional[pulumi.Input[str]] = None, rest_api: Optional[pulumi.Input[str]] = None, stage_name: Optional[pulumi.Input[str]] = None, __props__=None): @@ -257,6 +306,7 @@ def _internal_init(__self__, if domain_name is None and not opts.urn: raise TypeError("Missing required property 'domain_name'") __props__.__dict__["domain_name"] = domain_name + __props__.__dict__["domain_name_id"] = domain_name_id if rest_api is None and not opts.urn: raise TypeError("Missing required property 'rest_api'") __props__.__dict__["rest_api"] = rest_api @@ -273,6 +323,7 @@ def get(resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, base_path: Optional[pulumi.Input[str]] = None, domain_name: Optional[pulumi.Input[str]] = None, + domain_name_id: Optional[pulumi.Input[str]] = None, rest_api: Optional[pulumi.Input[str]] = None, stage_name: Optional[pulumi.Input[str]] = None) -> 'BasePathMapping': """ @@ -284,6 +335,7 @@ def get(resource_name: str, :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] base_path: Path segment that must be prepended to the path when accessing the API via this mapping. If omitted, the API is exposed at the root of the given domain. :param pulumi.Input[str] domain_name: Already-registered domain name to connect the API to. + :param pulumi.Input[str] domain_name_id: The identifier for the domain name resource. Supported only for private custom domain names. :param pulumi.Input[str] rest_api: ID of the API to connect. :param pulumi.Input[str] stage_name: Name of a specific deployment stage to expose at the given path. If omitted, callers may select any stage by including its name as a path element after the base path. """ @@ -293,6 +345,7 @@ def get(resource_name: str, __props__.__dict__["base_path"] = base_path __props__.__dict__["domain_name"] = domain_name + __props__.__dict__["domain_name_id"] = domain_name_id __props__.__dict__["rest_api"] = rest_api __props__.__dict__["stage_name"] = stage_name return BasePathMapping(resource_name, opts=opts, __props__=__props__) @@ -313,6 +366,14 @@ def domain_name(self) -> pulumi.Output[str]: """ return pulumi.get(self, "domain_name") + @property + @pulumi.getter(name="domainNameId") + def domain_name_id(self) -> pulumi.Output[Optional[str]]: + """ + The identifier for the domain name resource. Supported only for private custom domain names. + """ + return pulumi.get(self, "domain_name_id") + @property @pulumi.getter(name="restApi") def rest_api(self) -> pulumi.Output[str]: diff --git a/sdk/python/pulumi_aws/apigateway/domain_name.py b/sdk/python/pulumi_aws/apigateway/domain_name.py index 161287ffffd..694073051bb 100644 --- a/sdk/python/pulumi_aws/apigateway/domain_name.py +++ b/sdk/python/pulumi_aws/apigateway/domain_name.py @@ -30,6 +30,7 @@ def __init__(__self__, *, endpoint_configuration: Optional[pulumi.Input['DomainNameEndpointConfigurationArgs']] = None, mutual_tls_authentication: Optional[pulumi.Input['DomainNameMutualTlsAuthenticationArgs']] = None, ownership_verification_certificate_arn: Optional[pulumi.Input[str]] = None, + policy: Optional[pulumi.Input[str]] = None, regional_certificate_arn: Optional[pulumi.Input[str]] = None, regional_certificate_name: Optional[pulumi.Input[str]] = None, security_policy: Optional[pulumi.Input[str]] = None, @@ -45,6 +46,7 @@ def __init__(__self__, *, :param pulumi.Input['DomainNameEndpointConfigurationArgs'] endpoint_configuration: Configuration block defining API endpoint information including type. See below. :param pulumi.Input['DomainNameMutualTlsAuthenticationArgs'] mutual_tls_authentication: Mutual TLS authentication configuration for the domain name. See below. :param pulumi.Input[str] ownership_verification_certificate_arn: ARN of the AWS-issued certificate used to validate custom domain ownership (when `certificate_arn` is issued via an ACM Private CA or `mutual_tls_authentication` is configured with an ACM-imported certificate.) + :param pulumi.Input[str] policy: A stringified JSON policy document that applies to the execute-api service for this DomainName regardless of the caller and Method configuration. Supported only for private custom domain names. :param pulumi.Input[str] regional_certificate_arn: ARN for an AWS-managed certificate. AWS Certificate Manager is the only supported source. Used when a regional domain name is desired. Conflicts with `certificate_arn`, `certificate_name`, `certificate_body`, `certificate_chain`, and `certificate_private_key`. When uploading a certificate, the following arguments are supported: @@ -71,6 +73,8 @@ def __init__(__self__, *, pulumi.set(__self__, "mutual_tls_authentication", mutual_tls_authentication) if ownership_verification_certificate_arn is not None: pulumi.set(__self__, "ownership_verification_certificate_arn", ownership_verification_certificate_arn) + if policy is not None: + pulumi.set(__self__, "policy", policy) if regional_certificate_arn is not None: pulumi.set(__self__, "regional_certificate_arn", regional_certificate_arn) if regional_certificate_name is not None: @@ -188,6 +192,18 @@ def ownership_verification_certificate_arn(self) -> Optional[pulumi.Input[str]]: def ownership_verification_certificate_arn(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "ownership_verification_certificate_arn", value) + @property + @pulumi.getter + def policy(self) -> Optional[pulumi.Input[str]]: + """ + A stringified JSON policy document that applies to the execute-api service for this DomainName regardless of the caller and Method configuration. Supported only for private custom domain names. + """ + return pulumi.get(self, "policy") + + @policy.setter + def policy(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "policy", value) + @property @pulumi.getter(name="regionalCertificateArn") def regional_certificate_arn(self) -> Optional[pulumi.Input[str]]: @@ -254,9 +270,11 @@ def __init__(__self__, *, cloudfront_domain_name: Optional[pulumi.Input[str]] = None, cloudfront_zone_id: Optional[pulumi.Input[str]] = None, domain_name: Optional[pulumi.Input[str]] = None, + domain_name_id: Optional[pulumi.Input[str]] = None, endpoint_configuration: Optional[pulumi.Input['DomainNameEndpointConfigurationArgs']] = None, mutual_tls_authentication: Optional[pulumi.Input['DomainNameMutualTlsAuthenticationArgs']] = None, ownership_verification_certificate_arn: Optional[pulumi.Input[str]] = None, + policy: Optional[pulumi.Input[str]] = None, regional_certificate_arn: Optional[pulumi.Input[str]] = None, regional_certificate_name: Optional[pulumi.Input[str]] = None, regional_domain_name: Optional[pulumi.Input[str]] = None, @@ -276,9 +294,11 @@ def __init__(__self__, *, :param pulumi.Input[str] cloudfront_domain_name: Hostname created by Cloudfront to represent the distribution that implements this domain name mapping. :param pulumi.Input[str] cloudfront_zone_id: For convenience, the hosted zone ID (`Z2FDTNDATAQYW2`) that can be used to create a Route53 alias record for the distribution. :param pulumi.Input[str] domain_name: Fully-qualified domain name to register. + :param pulumi.Input[str] domain_name_id: The identifier for the domain name resource. Supported only for private custom domain names. :param pulumi.Input['DomainNameEndpointConfigurationArgs'] endpoint_configuration: Configuration block defining API endpoint information including type. See below. :param pulumi.Input['DomainNameMutualTlsAuthenticationArgs'] mutual_tls_authentication: Mutual TLS authentication configuration for the domain name. See below. :param pulumi.Input[str] ownership_verification_certificate_arn: ARN of the AWS-issued certificate used to validate custom domain ownership (when `certificate_arn` is issued via an ACM Private CA or `mutual_tls_authentication` is configured with an ACM-imported certificate.) + :param pulumi.Input[str] policy: A stringified JSON policy document that applies to the execute-api service for this DomainName regardless of the caller and Method configuration. Supported only for private custom domain names. :param pulumi.Input[str] regional_certificate_arn: ARN for an AWS-managed certificate. AWS Certificate Manager is the only supported source. Used when a regional domain name is desired. Conflicts with `certificate_arn`, `certificate_name`, `certificate_body`, `certificate_chain`, and `certificate_private_key`. When uploading a certificate, the following arguments are supported: @@ -311,12 +331,16 @@ def __init__(__self__, *, pulumi.set(__self__, "cloudfront_zone_id", cloudfront_zone_id) if domain_name is not None: pulumi.set(__self__, "domain_name", domain_name) + if domain_name_id is not None: + pulumi.set(__self__, "domain_name_id", domain_name_id) if endpoint_configuration is not None: pulumi.set(__self__, "endpoint_configuration", endpoint_configuration) if mutual_tls_authentication is not None: pulumi.set(__self__, "mutual_tls_authentication", mutual_tls_authentication) if ownership_verification_certificate_arn is not None: pulumi.set(__self__, "ownership_verification_certificate_arn", ownership_verification_certificate_arn) + if policy is not None: + pulumi.set(__self__, "policy", policy) if regional_certificate_arn is not None: pulumi.set(__self__, "regional_certificate_arn", regional_certificate_arn) if regional_certificate_name is not None: @@ -455,6 +479,18 @@ def domain_name(self) -> Optional[pulumi.Input[str]]: def domain_name(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "domain_name", value) + @property + @pulumi.getter(name="domainNameId") + def domain_name_id(self) -> Optional[pulumi.Input[str]]: + """ + The identifier for the domain name resource. Supported only for private custom domain names. + """ + return pulumi.get(self, "domain_name_id") + + @domain_name_id.setter + def domain_name_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "domain_name_id", value) + @property @pulumi.getter(name="endpointConfiguration") def endpoint_configuration(self) -> Optional[pulumi.Input['DomainNameEndpointConfigurationArgs']]: @@ -491,6 +527,18 @@ def ownership_verification_certificate_arn(self) -> Optional[pulumi.Input[str]]: def ownership_verification_certificate_arn(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "ownership_verification_certificate_arn", value) + @property + @pulumi.getter + def policy(self) -> Optional[pulumi.Input[str]]: + """ + A stringified JSON policy document that applies to the execute-api service for this DomainName regardless of the caller and Method configuration. Supported only for private custom domain names. + """ + return pulumi.get(self, "policy") + + @policy.setter + def policy(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "policy", value) + @property @pulumi.getter(name="regionalCertificateArn") def regional_certificate_arn(self) -> Optional[pulumi.Input[str]]: @@ -595,6 +643,7 @@ def __init__(__self__, endpoint_configuration: Optional[pulumi.Input[Union['DomainNameEndpointConfigurationArgs', 'DomainNameEndpointConfigurationArgsDict']]] = None, mutual_tls_authentication: Optional[pulumi.Input[Union['DomainNameMutualTlsAuthenticationArgs', 'DomainNameMutualTlsAuthenticationArgsDict']]] = None, ownership_verification_certificate_arn: Optional[pulumi.Input[str]] = None, + policy: Optional[pulumi.Input[str]] = None, regional_certificate_arn: Optional[pulumi.Input[str]] = None, regional_certificate_name: Optional[pulumi.Input[str]] = None, security_policy: Optional[pulumi.Input[str]] = None, @@ -679,11 +728,18 @@ def __init__(__self__, ## Import - Using `pulumi import`, import API Gateway domain names using their `name`. For example: + For a private custom domain name: + + Using `pulumi import`, import API Gateway domain names using their `name` or `name` and `domain_name_id` (for private custom domain names). For example: ```sh $ pulumi import aws:apigateway/domainName:DomainName example dev.example.com ``` + For a private custom domain name: + + ```sh + $ pulumi import aws:apigateway/domainName:DomainName example dev.api.internal.example.com/abcde12345 + ``` :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. @@ -696,6 +752,7 @@ def __init__(__self__, :param pulumi.Input[Union['DomainNameEndpointConfigurationArgs', 'DomainNameEndpointConfigurationArgsDict']] endpoint_configuration: Configuration block defining API endpoint information including type. See below. :param pulumi.Input[Union['DomainNameMutualTlsAuthenticationArgs', 'DomainNameMutualTlsAuthenticationArgsDict']] mutual_tls_authentication: Mutual TLS authentication configuration for the domain name. See below. :param pulumi.Input[str] ownership_verification_certificate_arn: ARN of the AWS-issued certificate used to validate custom domain ownership (when `certificate_arn` is issued via an ACM Private CA or `mutual_tls_authentication` is configured with an ACM-imported certificate.) + :param pulumi.Input[str] policy: A stringified JSON policy document that applies to the execute-api service for this DomainName regardless of the caller and Method configuration. Supported only for private custom domain names. :param pulumi.Input[str] regional_certificate_arn: ARN for an AWS-managed certificate. AWS Certificate Manager is the only supported source. Used when a regional domain name is desired. Conflicts with `certificate_arn`, `certificate_name`, `certificate_body`, `certificate_chain`, and `certificate_private_key`. When uploading a certificate, the following arguments are supported: @@ -790,11 +847,18 @@ def __init__(__self__, ## Import - Using `pulumi import`, import API Gateway domain names using their `name`. For example: + For a private custom domain name: + + Using `pulumi import`, import API Gateway domain names using their `name` or `name` and `domain_name_id` (for private custom domain names). For example: ```sh $ pulumi import aws:apigateway/domainName:DomainName example dev.example.com ``` + For a private custom domain name: + + ```sh + $ pulumi import aws:apigateway/domainName:DomainName example dev.api.internal.example.com/abcde12345 + ``` :param str resource_name: The name of the resource. :param DomainNameArgs args: The arguments to use to populate this resource's properties. @@ -820,6 +884,7 @@ def _internal_init(__self__, endpoint_configuration: Optional[pulumi.Input[Union['DomainNameEndpointConfigurationArgs', 'DomainNameEndpointConfigurationArgsDict']]] = None, mutual_tls_authentication: Optional[pulumi.Input[Union['DomainNameMutualTlsAuthenticationArgs', 'DomainNameMutualTlsAuthenticationArgsDict']]] = None, ownership_verification_certificate_arn: Optional[pulumi.Input[str]] = None, + policy: Optional[pulumi.Input[str]] = None, regional_certificate_arn: Optional[pulumi.Input[str]] = None, regional_certificate_name: Optional[pulumi.Input[str]] = None, security_policy: Optional[pulumi.Input[str]] = None, @@ -844,6 +909,7 @@ def _internal_init(__self__, __props__.__dict__["endpoint_configuration"] = endpoint_configuration __props__.__dict__["mutual_tls_authentication"] = mutual_tls_authentication __props__.__dict__["ownership_verification_certificate_arn"] = ownership_verification_certificate_arn + __props__.__dict__["policy"] = policy __props__.__dict__["regional_certificate_arn"] = regional_certificate_arn __props__.__dict__["regional_certificate_name"] = regional_certificate_name __props__.__dict__["security_policy"] = security_policy @@ -852,6 +918,7 @@ def _internal_init(__self__, __props__.__dict__["certificate_upload_date"] = None __props__.__dict__["cloudfront_domain_name"] = None __props__.__dict__["cloudfront_zone_id"] = None + __props__.__dict__["domain_name_id"] = None __props__.__dict__["regional_domain_name"] = None __props__.__dict__["regional_zone_id"] = None __props__.__dict__["tags_all"] = None @@ -877,9 +944,11 @@ def get(resource_name: str, cloudfront_domain_name: Optional[pulumi.Input[str]] = None, cloudfront_zone_id: Optional[pulumi.Input[str]] = None, domain_name: Optional[pulumi.Input[str]] = None, + domain_name_id: Optional[pulumi.Input[str]] = None, endpoint_configuration: Optional[pulumi.Input[Union['DomainNameEndpointConfigurationArgs', 'DomainNameEndpointConfigurationArgsDict']]] = None, mutual_tls_authentication: Optional[pulumi.Input[Union['DomainNameMutualTlsAuthenticationArgs', 'DomainNameMutualTlsAuthenticationArgsDict']]] = None, ownership_verification_certificate_arn: Optional[pulumi.Input[str]] = None, + policy: Optional[pulumi.Input[str]] = None, regional_certificate_arn: Optional[pulumi.Input[str]] = None, regional_certificate_name: Optional[pulumi.Input[str]] = None, regional_domain_name: Optional[pulumi.Input[str]] = None, @@ -904,9 +973,11 @@ def get(resource_name: str, :param pulumi.Input[str] cloudfront_domain_name: Hostname created by Cloudfront to represent the distribution that implements this domain name mapping. :param pulumi.Input[str] cloudfront_zone_id: For convenience, the hosted zone ID (`Z2FDTNDATAQYW2`) that can be used to create a Route53 alias record for the distribution. :param pulumi.Input[str] domain_name: Fully-qualified domain name to register. + :param pulumi.Input[str] domain_name_id: The identifier for the domain name resource. Supported only for private custom domain names. :param pulumi.Input[Union['DomainNameEndpointConfigurationArgs', 'DomainNameEndpointConfigurationArgsDict']] endpoint_configuration: Configuration block defining API endpoint information including type. See below. :param pulumi.Input[Union['DomainNameMutualTlsAuthenticationArgs', 'DomainNameMutualTlsAuthenticationArgsDict']] mutual_tls_authentication: Mutual TLS authentication configuration for the domain name. See below. :param pulumi.Input[str] ownership_verification_certificate_arn: ARN of the AWS-issued certificate used to validate custom domain ownership (when `certificate_arn` is issued via an ACM Private CA or `mutual_tls_authentication` is configured with an ACM-imported certificate.) + :param pulumi.Input[str] policy: A stringified JSON policy document that applies to the execute-api service for this DomainName regardless of the caller and Method configuration. Supported only for private custom domain names. :param pulumi.Input[str] regional_certificate_arn: ARN for an AWS-managed certificate. AWS Certificate Manager is the only supported source. Used when a regional domain name is desired. Conflicts with `certificate_arn`, `certificate_name`, `certificate_body`, `certificate_chain`, and `certificate_private_key`. When uploading a certificate, the following arguments are supported: @@ -933,9 +1004,11 @@ def get(resource_name: str, __props__.__dict__["cloudfront_domain_name"] = cloudfront_domain_name __props__.__dict__["cloudfront_zone_id"] = cloudfront_zone_id __props__.__dict__["domain_name"] = domain_name + __props__.__dict__["domain_name_id"] = domain_name_id __props__.__dict__["endpoint_configuration"] = endpoint_configuration __props__.__dict__["mutual_tls_authentication"] = mutual_tls_authentication __props__.__dict__["ownership_verification_certificate_arn"] = ownership_verification_certificate_arn + __props__.__dict__["policy"] = policy __props__.__dict__["regional_certificate_arn"] = regional_certificate_arn __props__.__dict__["regional_certificate_name"] = regional_certificate_name __props__.__dict__["regional_domain_name"] = regional_domain_name @@ -1025,6 +1098,14 @@ def domain_name(self) -> pulumi.Output[str]: """ return pulumi.get(self, "domain_name") + @property + @pulumi.getter(name="domainNameId") + def domain_name_id(self) -> pulumi.Output[str]: + """ + The identifier for the domain name resource. Supported only for private custom domain names. + """ + return pulumi.get(self, "domain_name_id") + @property @pulumi.getter(name="endpointConfiguration") def endpoint_configuration(self) -> pulumi.Output['outputs.DomainNameEndpointConfiguration']: @@ -1049,6 +1130,14 @@ def ownership_verification_certificate_arn(self) -> pulumi.Output[str]: """ return pulumi.get(self, "ownership_verification_certificate_arn") + @property + @pulumi.getter + def policy(self) -> pulumi.Output[Optional[str]]: + """ + A stringified JSON policy document that applies to the execute-api service for this DomainName regardless of the caller and Method configuration. Supported only for private custom domain names. + """ + return pulumi.get(self, "policy") + @property @pulumi.getter(name="regionalCertificateArn") def regional_certificate_arn(self) -> pulumi.Output[Optional[str]]: diff --git a/sdk/python/pulumi_aws/apigateway/get_domain_name.py b/sdk/python/pulumi_aws/apigateway/get_domain_name.py index 0a43f604cfd..148232d86cd 100644 --- a/sdk/python/pulumi_aws/apigateway/get_domain_name.py +++ b/sdk/python/pulumi_aws/apigateway/get_domain_name.py @@ -27,7 +27,7 @@ class GetDomainNameResult: """ A collection of values returned by getDomainName. """ - def __init__(__self__, arn=None, certificate_arn=None, certificate_name=None, certificate_upload_date=None, cloudfront_domain_name=None, cloudfront_zone_id=None, domain_name=None, endpoint_configurations=None, id=None, regional_certificate_arn=None, regional_certificate_name=None, regional_domain_name=None, regional_zone_id=None, security_policy=None, tags=None): + def __init__(__self__, arn=None, certificate_arn=None, certificate_name=None, certificate_upload_date=None, cloudfront_domain_name=None, cloudfront_zone_id=None, domain_name=None, domain_name_id=None, endpoint_configurations=None, id=None, policy=None, regional_certificate_arn=None, regional_certificate_name=None, regional_domain_name=None, regional_zone_id=None, security_policy=None, tags=None): if arn and not isinstance(arn, str): raise TypeError("Expected argument 'arn' to be a str") pulumi.set(__self__, "arn", arn) @@ -49,12 +49,18 @@ def __init__(__self__, arn=None, certificate_arn=None, certificate_name=None, ce if domain_name and not isinstance(domain_name, str): raise TypeError("Expected argument 'domain_name' to be a str") pulumi.set(__self__, "domain_name", domain_name) + if domain_name_id and not isinstance(domain_name_id, str): + raise TypeError("Expected argument 'domain_name_id' to be a str") + pulumi.set(__self__, "domain_name_id", domain_name_id) if endpoint_configurations and not isinstance(endpoint_configurations, list): raise TypeError("Expected argument 'endpoint_configurations' to be a list") pulumi.set(__self__, "endpoint_configurations", endpoint_configurations) if id and not isinstance(id, str): raise TypeError("Expected argument 'id' to be a str") pulumi.set(__self__, "id", id) + if policy and not isinstance(policy, str): + raise TypeError("Expected argument 'policy' to be a str") + pulumi.set(__self__, "policy", policy) if regional_certificate_arn and not isinstance(regional_certificate_arn, str): raise TypeError("Expected argument 'regional_certificate_arn' to be a str") pulumi.set(__self__, "regional_certificate_arn", regional_certificate_arn) @@ -127,6 +133,11 @@ def cloudfront_zone_id(self) -> str: def domain_name(self) -> str: return pulumi.get(self, "domain_name") + @property + @pulumi.getter(name="domainNameId") + def domain_name_id(self) -> str: + return pulumi.get(self, "domain_name_id") + @property @pulumi.getter(name="endpointConfigurations") def endpoint_configurations(self) -> Sequence['outputs.GetDomainNameEndpointConfigurationResult']: @@ -143,6 +154,14 @@ def id(self) -> str: """ return pulumi.get(self, "id") + @property + @pulumi.getter + def policy(self) -> str: + """ + A stringified JSON policy document that applies to the execute-api service for this DomainName regardless of the caller and Method configuration. Supported only for private custom domain names. + """ + return pulumi.get(self, "policy") + @property @pulumi.getter(name="regionalCertificateArn") def regional_certificate_arn(self) -> str: @@ -205,8 +224,10 @@ def __await__(self): cloudfront_domain_name=self.cloudfront_domain_name, cloudfront_zone_id=self.cloudfront_zone_id, domain_name=self.domain_name, + domain_name_id=self.domain_name_id, endpoint_configurations=self.endpoint_configurations, id=self.id, + policy=self.policy, regional_certificate_arn=self.regional_certificate_arn, regional_certificate_name=self.regional_certificate_name, regional_domain_name=self.regional_domain_name, @@ -216,6 +237,7 @@ def __await__(self): def get_domain_name(domain_name: Optional[str] = None, + domain_name_id: Optional[str] = None, tags: Optional[Mapping[str, str]] = None, opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetDomainNameResult: """ @@ -232,10 +254,12 @@ def get_domain_name(domain_name: Optional[str] = None, :param str domain_name: Fully-qualified domain name to look up. If no domain name is found, an error will be returned. + :param str domain_name_id: The identifier for the domain name resource. Supported only for private custom domain names. :param Mapping[str, str] tags: Key-value map of tags for the resource. """ __args__ = dict() __args__['domainName'] = domain_name + __args__['domainNameId'] = domain_name_id __args__['tags'] = tags opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke('aws:apigateway/getDomainName:getDomainName', __args__, opts=opts, typ=GetDomainNameResult).value @@ -248,8 +272,10 @@ def get_domain_name(domain_name: Optional[str] = None, cloudfront_domain_name=pulumi.get(__ret__, 'cloudfront_domain_name'), cloudfront_zone_id=pulumi.get(__ret__, 'cloudfront_zone_id'), domain_name=pulumi.get(__ret__, 'domain_name'), + domain_name_id=pulumi.get(__ret__, 'domain_name_id'), endpoint_configurations=pulumi.get(__ret__, 'endpoint_configurations'), id=pulumi.get(__ret__, 'id'), + policy=pulumi.get(__ret__, 'policy'), regional_certificate_arn=pulumi.get(__ret__, 'regional_certificate_arn'), regional_certificate_name=pulumi.get(__ret__, 'regional_certificate_name'), regional_domain_name=pulumi.get(__ret__, 'regional_domain_name'), @@ -257,6 +283,7 @@ def get_domain_name(domain_name: Optional[str] = None, security_policy=pulumi.get(__ret__, 'security_policy'), tags=pulumi.get(__ret__, 'tags')) def get_domain_name_output(domain_name: Optional[pulumi.Input[str]] = None, + domain_name_id: Optional[pulumi.Input[Optional[str]]] = None, tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetDomainNameResult]: """ @@ -273,10 +300,12 @@ def get_domain_name_output(domain_name: Optional[pulumi.Input[str]] = None, :param str domain_name: Fully-qualified domain name to look up. If no domain name is found, an error will be returned. + :param str domain_name_id: The identifier for the domain name resource. Supported only for private custom domain names. :param Mapping[str, str] tags: Key-value map of tags for the resource. """ __args__ = dict() __args__['domainName'] = domain_name + __args__['domainNameId'] = domain_name_id __args__['tags'] = tags opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws:apigateway/getDomainName:getDomainName', __args__, opts=opts, typ=GetDomainNameResult) @@ -288,8 +317,10 @@ def get_domain_name_output(domain_name: Optional[pulumi.Input[str]] = None, cloudfront_domain_name=pulumi.get(__response__, 'cloudfront_domain_name'), cloudfront_zone_id=pulumi.get(__response__, 'cloudfront_zone_id'), domain_name=pulumi.get(__response__, 'domain_name'), + domain_name_id=pulumi.get(__response__, 'domain_name_id'), endpoint_configurations=pulumi.get(__response__, 'endpoint_configurations'), id=pulumi.get(__response__, 'id'), + policy=pulumi.get(__response__, 'policy'), regional_certificate_arn=pulumi.get(__response__, 'regional_certificate_arn'), regional_certificate_name=pulumi.get(__response__, 'regional_certificate_name'), regional_domain_name=pulumi.get(__response__, 'regional_domain_name'), diff --git a/sdk/python/pulumi_aws/apigateway/outputs.py b/sdk/python/pulumi_aws/apigateway/outputs.py index 6903a7e5dd2..e763713dcb3 100644 --- a/sdk/python/pulumi_aws/apigateway/outputs.py +++ b/sdk/python/pulumi_aws/apigateway/outputs.py @@ -234,7 +234,7 @@ class DomainNameEndpointConfiguration(dict): def __init__(__self__, *, types: str): """ - :param str types: List of endpoint types. This resource currently only supports managing a single value. Valid values: `EDGE` or `REGIONAL`. If unspecified, defaults to `EDGE`. Must be declared as `REGIONAL` in non-Commercial partitions. Refer to the [documentation](https://docs.aws.amazon.com/apigateway/latest/developerguide/create-regional-api.html) for more information on the difference between edge-optimized and regional APIs. + :param str types: A list of endpoint types of an API or its custom domain name. For an edge-optimized API and its custom domain name, the endpoint type is `EDGE`. For a regional API and its custom domain name, the endpoint type is `REGIONAL`. For a private API, the endpoint type is `PRIVATE`. """ pulumi.set(__self__, "types", types) @@ -242,7 +242,7 @@ def __init__(__self__, *, @pulumi.getter def types(self) -> str: """ - List of endpoint types. This resource currently only supports managing a single value. Valid values: `EDGE` or `REGIONAL`. If unspecified, defaults to `EDGE`. Must be declared as `REGIONAL` in non-Commercial partitions. Refer to the [documentation](https://docs.aws.amazon.com/apigateway/latest/developerguide/create-regional-api.html) for more information on the difference between edge-optimized and regional APIs. + A list of endpoint types of an API or its custom domain name. For an edge-optimized API and its custom domain name, the endpoint type is `EDGE`. For a regional API and its custom domain name, the endpoint type is `REGIONAL`. For a private API, the endpoint type is `PRIVATE`. """ return pulumi.get(self, "types") diff --git a/sdk/python/pulumi_aws/bedrock/__init__.py b/sdk/python/pulumi_aws/bedrock/__init__.py index 81f42a16705..c5494a6d141 100644 --- a/sdk/python/pulumi_aws/bedrock/__init__.py +++ b/sdk/python/pulumi_aws/bedrock/__init__.py @@ -19,6 +19,7 @@ from .get_inference_profiles import * from .guardrail import * from .guardrail_version import * +from .inference_profile import * from .provisioned_model_throughput import * from ._inputs import * from . import outputs diff --git a/sdk/python/pulumi_aws/bedrock/_inputs.py b/sdk/python/pulumi_aws/bedrock/_inputs.py index 4fb5f1eb90e..7ef1c9ae229 100644 --- a/sdk/python/pulumi_aws/bedrock/_inputs.py +++ b/sdk/python/pulumi_aws/bedrock/_inputs.py @@ -153,6 +153,12 @@ 'GuardrailWordPolicyConfigManagedWordListsConfigArgsDict', 'GuardrailWordPolicyConfigWordsConfigArgs', 'GuardrailWordPolicyConfigWordsConfigArgsDict', + 'InferenceProfileModelArgs', + 'InferenceProfileModelArgsDict', + 'InferenceProfileModelSourceArgs', + 'InferenceProfileModelSourceArgsDict', + 'InferenceProfileTimeoutsArgs', + 'InferenceProfileTimeoutsArgsDict', 'ProvisionedModelThroughputTimeoutsArgs', 'ProvisionedModelThroughputTimeoutsArgsDict', 'GetAgentAgentVersionsAgentVersionSummaryArgs', @@ -4064,6 +4070,140 @@ def text(self, value: pulumi.Input[str]): pulumi.set(self, "text", value) +if not MYPY: + class InferenceProfileModelArgsDict(TypedDict): + model_arn: pulumi.Input[str] + """ + The Amazon Resource Name (ARN) of the model. + """ +elif False: + InferenceProfileModelArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class InferenceProfileModelArgs: + def __init__(__self__, *, + model_arn: pulumi.Input[str]): + """ + :param pulumi.Input[str] model_arn: The Amazon Resource Name (ARN) of the model. + """ + pulumi.set(__self__, "model_arn", model_arn) + + @property + @pulumi.getter(name="modelArn") + def model_arn(self) -> pulumi.Input[str]: + """ + The Amazon Resource Name (ARN) of the model. + """ + return pulumi.get(self, "model_arn") + + @model_arn.setter + def model_arn(self, value: pulumi.Input[str]): + pulumi.set(self, "model_arn", value) + + +if not MYPY: + class InferenceProfileModelSourceArgsDict(TypedDict): + copy_from: pulumi.Input[str] + """ + The Amazon Resource Name (ARN) of the model. + """ +elif False: + InferenceProfileModelSourceArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class InferenceProfileModelSourceArgs: + def __init__(__self__, *, + copy_from: pulumi.Input[str]): + """ + :param pulumi.Input[str] copy_from: The Amazon Resource Name (ARN) of the model. + """ + pulumi.set(__self__, "copy_from", copy_from) + + @property + @pulumi.getter(name="copyFrom") + def copy_from(self) -> pulumi.Input[str]: + """ + The Amazon Resource Name (ARN) of the model. + """ + return pulumi.get(self, "copy_from") + + @copy_from.setter + def copy_from(self, value: pulumi.Input[str]): + pulumi.set(self, "copy_from", value) + + +if not MYPY: + class InferenceProfileTimeoutsArgsDict(TypedDict): + create: NotRequired[pulumi.Input[str]] + """ + A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + """ + delete: NotRequired[pulumi.Input[str]] + """ + A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. + """ + update: NotRequired[pulumi.Input[str]] + """ + A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + """ +elif False: + InferenceProfileTimeoutsArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class InferenceProfileTimeoutsArgs: + def __init__(__self__, *, + create: Optional[pulumi.Input[str]] = None, + delete: Optional[pulumi.Input[str]] = None, + update: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[str] create: A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + :param pulumi.Input[str] delete: A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. + :param pulumi.Input[str] update: A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + """ + if create is not None: + pulumi.set(__self__, "create", create) + if delete is not None: + pulumi.set(__self__, "delete", delete) + if update is not None: + pulumi.set(__self__, "update", update) + + @property + @pulumi.getter + def create(self) -> Optional[pulumi.Input[str]]: + """ + A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + """ + return pulumi.get(self, "create") + + @create.setter + def create(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "create", value) + + @property + @pulumi.getter + def delete(self) -> Optional[pulumi.Input[str]]: + """ + A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. + """ + return pulumi.get(self, "delete") + + @delete.setter + def delete(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "delete", value) + + @property + @pulumi.getter + def update(self) -> Optional[pulumi.Input[str]]: + """ + A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + """ + return pulumi.get(self, "update") + + @update.setter + def update(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "update", value) + + if not MYPY: class ProvisionedModelThroughputTimeoutsArgsDict(TypedDict): create: NotRequired[pulumi.Input[str]] diff --git a/sdk/python/pulumi_aws/bedrock/get_inference_profile.py b/sdk/python/pulumi_aws/bedrock/get_inference_profile.py index 8fb6111b6c9..e3e6799b814 100644 --- a/sdk/python/pulumi_aws/bedrock/get_inference_profile.py +++ b/sdk/python/pulumi_aws/bedrock/get_inference_profile.py @@ -124,7 +124,7 @@ def status(self) -> str: @pulumi.getter def type(self) -> str: """ - The type of the inference profile. `SYSTEM_DEFINED` means that the inference profile is defined by Amazon Bedrock. + The type of the inference profile. `SYSTEM_DEFINED` means that the inference profile is defined by Amazon Bedrock. `APPLICATION` means that the inference profile is defined by the user. """ return pulumi.get(self, "type") diff --git a/sdk/python/pulumi_aws/bedrock/inference_profile.py b/sdk/python/pulumi_aws/bedrock/inference_profile.py new file mode 100644 index 00000000000..37e1f7fe24f --- /dev/null +++ b/sdk/python/pulumi_aws/bedrock/inference_profile.py @@ -0,0 +1,590 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import sys +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias +from .. import _utilities +from . import outputs +from ._inputs import * + +__all__ = ['InferenceProfileArgs', 'InferenceProfile'] + +@pulumi.input_type +class InferenceProfileArgs: + def __init__(__self__, *, + description: Optional[pulumi.Input[str]] = None, + model_source: Optional[pulumi.Input['InferenceProfileModelSourceArgs']] = None, + name: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + timeouts: Optional[pulumi.Input['InferenceProfileTimeoutsArgs']] = None): + """ + The set of arguments for constructing a InferenceProfile resource. + :param pulumi.Input[str] description: The description of the inference profile. + :param pulumi.Input['InferenceProfileModelSourceArgs'] model_source: The source of the model this inference profile will track metrics and cost for. See `model_source`. + + The following arguments are optional: + :param pulumi.Input[str] name: The name of the inference profile. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Key-value mapping of resource tags for the inference profile. + """ + if description is not None: + pulumi.set(__self__, "description", description) + if model_source is not None: + pulumi.set(__self__, "model_source", model_source) + if name is not None: + pulumi.set(__self__, "name", name) + if tags is not None: + pulumi.set(__self__, "tags", tags) + if timeouts is not None: + pulumi.set(__self__, "timeouts", timeouts) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + The description of the inference profile. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter(name="modelSource") + def model_source(self) -> Optional[pulumi.Input['InferenceProfileModelSourceArgs']]: + """ + The source of the model this inference profile will track metrics and cost for. See `model_source`. + + The following arguments are optional: + """ + return pulumi.get(self, "model_source") + + @model_source.setter + def model_source(self, value: Optional[pulumi.Input['InferenceProfileModelSourceArgs']]): + pulumi.set(self, "model_source", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + The name of the inference profile. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + Key-value mapping of resource tags for the inference profile. + """ + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags", value) + + @property + @pulumi.getter + def timeouts(self) -> Optional[pulumi.Input['InferenceProfileTimeoutsArgs']]: + return pulumi.get(self, "timeouts") + + @timeouts.setter + def timeouts(self, value: Optional[pulumi.Input['InferenceProfileTimeoutsArgs']]): + pulumi.set(self, "timeouts", value) + + +@pulumi.input_type +class _InferenceProfileState: + def __init__(__self__, *, + arn: Optional[pulumi.Input[str]] = None, + created_at: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + model_source: Optional[pulumi.Input['InferenceProfileModelSourceArgs']] = None, + models: Optional[pulumi.Input[Sequence[pulumi.Input['InferenceProfileModelArgs']]]] = None, + name: Optional[pulumi.Input[str]] = None, + status: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + timeouts: Optional[pulumi.Input['InferenceProfileTimeoutsArgs']] = None, + type: Optional[pulumi.Input[str]] = None, + updated_at: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering InferenceProfile resources. + :param pulumi.Input[str] arn: The Amazon Resource Name (ARN) of the inference profile. + :param pulumi.Input[str] created_at: The time at which the inference profile was created. + :param pulumi.Input[str] description: The description of the inference profile. + :param pulumi.Input['InferenceProfileModelSourceArgs'] model_source: The source of the model this inference profile will track metrics and cost for. See `model_source`. + + The following arguments are optional: + :param pulumi.Input[Sequence[pulumi.Input['InferenceProfileModelArgs']]] models: A list of information about each model in the inference profile. See `models`. + :param pulumi.Input[str] name: The name of the inference profile. + :param pulumi.Input[str] status: The status of the inference profile. `ACTIVE` means that the inference profile is available to use. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Key-value mapping of resource tags for the inference profile. + :param pulumi.Input[str] type: The type of the inference profile. `SYSTEM_DEFINED` means that the inference profile is defined by Amazon Bedrock. `APPLICATION` means that the inference profile is defined by the user. + :param pulumi.Input[str] updated_at: The time at which the inference profile was last updated. + """ + if arn is not None: + pulumi.set(__self__, "arn", arn) + if created_at is not None: + pulumi.set(__self__, "created_at", created_at) + if description is not None: + pulumi.set(__self__, "description", description) + if model_source is not None: + pulumi.set(__self__, "model_source", model_source) + if models is not None: + pulumi.set(__self__, "models", models) + if name is not None: + pulumi.set(__self__, "name", name) + if status is not None: + pulumi.set(__self__, "status", status) + if tags is not None: + pulumi.set(__self__, "tags", tags) + if tags_all is not None: + warnings.warn("""Please use `tags` instead.""", DeprecationWarning) + pulumi.log.warn("""tags_all is deprecated: Please use `tags` instead.""") + if tags_all is not None: + pulumi.set(__self__, "tags_all", tags_all) + if timeouts is not None: + pulumi.set(__self__, "timeouts", timeouts) + if type is not None: + pulumi.set(__self__, "type", type) + if updated_at is not None: + pulumi.set(__self__, "updated_at", updated_at) + + @property + @pulumi.getter + def arn(self) -> Optional[pulumi.Input[str]]: + """ + The Amazon Resource Name (ARN) of the inference profile. + """ + return pulumi.get(self, "arn") + + @arn.setter + def arn(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "arn", value) + + @property + @pulumi.getter(name="createdAt") + def created_at(self) -> Optional[pulumi.Input[str]]: + """ + The time at which the inference profile was created. + """ + return pulumi.get(self, "created_at") + + @created_at.setter + def created_at(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "created_at", value) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + The description of the inference profile. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter(name="modelSource") + def model_source(self) -> Optional[pulumi.Input['InferenceProfileModelSourceArgs']]: + """ + The source of the model this inference profile will track metrics and cost for. See `model_source`. + + The following arguments are optional: + """ + return pulumi.get(self, "model_source") + + @model_source.setter + def model_source(self, value: Optional[pulumi.Input['InferenceProfileModelSourceArgs']]): + pulumi.set(self, "model_source", value) + + @property + @pulumi.getter + def models(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['InferenceProfileModelArgs']]]]: + """ + A list of information about each model in the inference profile. See `models`. + """ + return pulumi.get(self, "models") + + @models.setter + def models(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['InferenceProfileModelArgs']]]]): + pulumi.set(self, "models", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + The name of the inference profile. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def status(self) -> Optional[pulumi.Input[str]]: + """ + The status of the inference profile. `ACTIVE` means that the inference profile is available to use. + """ + return pulumi.get(self, "status") + + @status.setter + def status(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "status", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + Key-value mapping of resource tags for the inference profile. + """ + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags", value) + + @property + @pulumi.getter(name="tagsAll") + @_utilities.deprecated("""Please use `tags` instead.""") + def tags_all(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + return pulumi.get(self, "tags_all") + + @tags_all.setter + def tags_all(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags_all", value) + + @property + @pulumi.getter + def timeouts(self) -> Optional[pulumi.Input['InferenceProfileTimeoutsArgs']]: + return pulumi.get(self, "timeouts") + + @timeouts.setter + def timeouts(self, value: Optional[pulumi.Input['InferenceProfileTimeoutsArgs']]): + pulumi.set(self, "timeouts", value) + + @property + @pulumi.getter + def type(self) -> Optional[pulumi.Input[str]]: + """ + The type of the inference profile. `SYSTEM_DEFINED` means that the inference profile is defined by Amazon Bedrock. `APPLICATION` means that the inference profile is defined by the user. + """ + return pulumi.get(self, "type") + + @type.setter + def type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "type", value) + + @property + @pulumi.getter(name="updatedAt") + def updated_at(self) -> Optional[pulumi.Input[str]]: + """ + The time at which the inference profile was last updated. + """ + return pulumi.get(self, "updated_at") + + @updated_at.setter + def updated_at(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "updated_at", value) + + +class InferenceProfile(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + description: Optional[pulumi.Input[str]] = None, + model_source: Optional[pulumi.Input[Union['InferenceProfileModelSourceArgs', 'InferenceProfileModelSourceArgsDict']]] = None, + name: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + timeouts: Optional[pulumi.Input[Union['InferenceProfileTimeoutsArgs', 'InferenceProfileTimeoutsArgsDict']]] = None, + __props__=None): + """ + Resource for managing an AWS Bedrock Inference Profile. + + ## Example Usage + + ### Basic Usage + + ```python + import pulumi + import pulumi_aws as aws + + current = aws.get_caller_identity() + example = aws.bedrock.InferenceProfile("example", + name="Claude Sonnet for Project 123", + description="Profile with tag for cost allocation tracking", + model_source={ + "copy_from": "arn:aws:bedrock:us-west-2::foundation-model/anthropic.claude-3-5-sonnet-20241022-v2:0", + }, + tags={ + "ProjectID": "123", + }) + ``` + + ## Import + + Using `pulumi import`, import Bedrock Inference Profile using the `example_id_arg`. For example: + + ```sh + $ pulumi import aws:bedrock/inferenceProfile:InferenceProfile example inference_profile-id-12345678 + ``` + + :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 inference profile. + :param pulumi.Input[Union['InferenceProfileModelSourceArgs', 'InferenceProfileModelSourceArgsDict']] model_source: The source of the model this inference profile will track metrics and cost for. See `model_source`. + + The following arguments are optional: + :param pulumi.Input[str] name: The name of the inference profile. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Key-value mapping of resource tags for the inference profile. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: Optional[InferenceProfileArgs] = None, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Resource for managing an AWS Bedrock Inference Profile. + + ## Example Usage + + ### Basic Usage + + ```python + import pulumi + import pulumi_aws as aws + + current = aws.get_caller_identity() + example = aws.bedrock.InferenceProfile("example", + name="Claude Sonnet for Project 123", + description="Profile with tag for cost allocation tracking", + model_source={ + "copy_from": "arn:aws:bedrock:us-west-2::foundation-model/anthropic.claude-3-5-sonnet-20241022-v2:0", + }, + tags={ + "ProjectID": "123", + }) + ``` + + ## Import + + Using `pulumi import`, import Bedrock Inference Profile using the `example_id_arg`. For example: + + ```sh + $ pulumi import aws:bedrock/inferenceProfile:InferenceProfile example inference_profile-id-12345678 + ``` + + :param str resource_name: The name of the resource. + :param InferenceProfileArgs 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(InferenceProfileArgs, 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, + model_source: Optional[pulumi.Input[Union['InferenceProfileModelSourceArgs', 'InferenceProfileModelSourceArgsDict']]] = None, + name: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + timeouts: Optional[pulumi.Input[Union['InferenceProfileTimeoutsArgs', 'InferenceProfileTimeoutsArgsDict']]] = 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__ = InferenceProfileArgs.__new__(InferenceProfileArgs) + + __props__.__dict__["description"] = description + __props__.__dict__["model_source"] = model_source + __props__.__dict__["name"] = name + __props__.__dict__["tags"] = tags + __props__.__dict__["timeouts"] = timeouts + __props__.__dict__["arn"] = None + __props__.__dict__["created_at"] = None + __props__.__dict__["models"] = None + __props__.__dict__["status"] = None + __props__.__dict__["tags_all"] = None + __props__.__dict__["type"] = None + __props__.__dict__["updated_at"] = None + super(InferenceProfile, __self__).__init__( + 'aws:bedrock/inferenceProfile:InferenceProfile', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + arn: Optional[pulumi.Input[str]] = None, + created_at: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + model_source: Optional[pulumi.Input[Union['InferenceProfileModelSourceArgs', 'InferenceProfileModelSourceArgsDict']]] = None, + models: Optional[pulumi.Input[Sequence[pulumi.Input[Union['InferenceProfileModelArgs', 'InferenceProfileModelArgsDict']]]]] = None, + name: Optional[pulumi.Input[str]] = None, + status: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + timeouts: Optional[pulumi.Input[Union['InferenceProfileTimeoutsArgs', 'InferenceProfileTimeoutsArgsDict']]] = None, + type: Optional[pulumi.Input[str]] = None, + updated_at: Optional[pulumi.Input[str]] = None) -> 'InferenceProfile': + """ + Get an existing InferenceProfile resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] arn: The Amazon Resource Name (ARN) of the inference profile. + :param pulumi.Input[str] created_at: The time at which the inference profile was created. + :param pulumi.Input[str] description: The description of the inference profile. + :param pulumi.Input[Union['InferenceProfileModelSourceArgs', 'InferenceProfileModelSourceArgsDict']] model_source: The source of the model this inference profile will track metrics and cost for. See `model_source`. + + The following arguments are optional: + :param pulumi.Input[Sequence[pulumi.Input[Union['InferenceProfileModelArgs', 'InferenceProfileModelArgsDict']]]] models: A list of information about each model in the inference profile. See `models`. + :param pulumi.Input[str] name: The name of the inference profile. + :param pulumi.Input[str] status: The status of the inference profile. `ACTIVE` means that the inference profile is available to use. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Key-value mapping of resource tags for the inference profile. + :param pulumi.Input[str] type: The type of the inference profile. `SYSTEM_DEFINED` means that the inference profile is defined by Amazon Bedrock. `APPLICATION` means that the inference profile is defined by the user. + :param pulumi.Input[str] updated_at: The time at which the inference profile was last updated. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _InferenceProfileState.__new__(_InferenceProfileState) + + __props__.__dict__["arn"] = arn + __props__.__dict__["created_at"] = created_at + __props__.__dict__["description"] = description + __props__.__dict__["model_source"] = model_source + __props__.__dict__["models"] = models + __props__.__dict__["name"] = name + __props__.__dict__["status"] = status + __props__.__dict__["tags"] = tags + __props__.__dict__["tags_all"] = tags_all + __props__.__dict__["timeouts"] = timeouts + __props__.__dict__["type"] = type + __props__.__dict__["updated_at"] = updated_at + return InferenceProfile(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter + def arn(self) -> pulumi.Output[str]: + """ + The Amazon Resource Name (ARN) of the inference profile. + """ + return pulumi.get(self, "arn") + + @property + @pulumi.getter(name="createdAt") + def created_at(self) -> pulumi.Output[str]: + """ + The time at which the inference profile was created. + """ + return pulumi.get(self, "created_at") + + @property + @pulumi.getter + def description(self) -> pulumi.Output[Optional[str]]: + """ + The description of the inference profile. + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter(name="modelSource") + def model_source(self) -> pulumi.Output[Optional['outputs.InferenceProfileModelSource']]: + """ + The source of the model this inference profile will track metrics and cost for. See `model_source`. + + The following arguments are optional: + """ + return pulumi.get(self, "model_source") + + @property + @pulumi.getter + def models(self) -> pulumi.Output[Sequence['outputs.InferenceProfileModel']]: + """ + A list of information about each model in the inference profile. See `models`. + """ + return pulumi.get(self, "models") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + The name of the inference profile. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def status(self) -> pulumi.Output[str]: + """ + The status of the inference profile. `ACTIVE` means that the inference profile is available to use. + """ + return pulumi.get(self, "status") + + @property + @pulumi.getter + def tags(self) -> pulumi.Output[Optional[Mapping[str, str]]]: + """ + Key-value mapping of resource tags for the inference profile. + """ + return pulumi.get(self, "tags") + + @property + @pulumi.getter(name="tagsAll") + @_utilities.deprecated("""Please use `tags` instead.""") + def tags_all(self) -> pulumi.Output[Mapping[str, str]]: + return pulumi.get(self, "tags_all") + + @property + @pulumi.getter + def timeouts(self) -> pulumi.Output[Optional['outputs.InferenceProfileTimeouts']]: + return pulumi.get(self, "timeouts") + + @property + @pulumi.getter + def type(self) -> pulumi.Output[str]: + """ + The type of the inference profile. `SYSTEM_DEFINED` means that the inference profile is defined by Amazon Bedrock. `APPLICATION` means that the inference profile is defined by the user. + """ + return pulumi.get(self, "type") + + @property + @pulumi.getter(name="updatedAt") + def updated_at(self) -> pulumi.Output[str]: + """ + The time at which the inference profile was last updated. + """ + return pulumi.get(self, "updated_at") + diff --git a/sdk/python/pulumi_aws/bedrock/outputs.py b/sdk/python/pulumi_aws/bedrock/outputs.py index 4a54fb5ad4a..baa1bc2593e 100644 --- a/sdk/python/pulumi_aws/bedrock/outputs.py +++ b/sdk/python/pulumi_aws/bedrock/outputs.py @@ -85,6 +85,9 @@ 'GuardrailWordPolicyConfig', 'GuardrailWordPolicyConfigManagedWordListsConfig', 'GuardrailWordPolicyConfigWordsConfig', + 'InferenceProfileModel', + 'InferenceProfileModelSource', + 'InferenceProfileTimeouts', 'ProvisionedModelThroughputTimeouts', 'GetAgentAgentVersionsAgentVersionSummaryResult', 'GetAgentAgentVersionsAgentVersionSummaryGuardrailConfigurationResult', @@ -3335,6 +3338,119 @@ def text(self) -> str: return pulumi.get(self, "text") +@pulumi.output_type +class InferenceProfileModel(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "modelArn": + suggest = "model_arn" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in InferenceProfileModel. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + InferenceProfileModel.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + InferenceProfileModel.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + model_arn: str): + """ + :param str model_arn: The Amazon Resource Name (ARN) of the model. + """ + pulumi.set(__self__, "model_arn", model_arn) + + @property + @pulumi.getter(name="modelArn") + def model_arn(self) -> str: + """ + The Amazon Resource Name (ARN) of the model. + """ + return pulumi.get(self, "model_arn") + + +@pulumi.output_type +class InferenceProfileModelSource(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "copyFrom": + suggest = "copy_from" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in InferenceProfileModelSource. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + InferenceProfileModelSource.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + InferenceProfileModelSource.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + copy_from: str): + """ + :param str copy_from: The Amazon Resource Name (ARN) of the model. + """ + pulumi.set(__self__, "copy_from", copy_from) + + @property + @pulumi.getter(name="copyFrom") + def copy_from(self) -> str: + """ + The Amazon Resource Name (ARN) of the model. + """ + return pulumi.get(self, "copy_from") + + +@pulumi.output_type +class InferenceProfileTimeouts(dict): + def __init__(__self__, *, + create: Optional[str] = None, + delete: Optional[str] = None, + update: Optional[str] = None): + """ + :param str create: A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + :param str delete: A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. + :param str update: A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + """ + if create is not None: + pulumi.set(__self__, "create", create) + if delete is not None: + pulumi.set(__self__, "delete", delete) + if update is not None: + pulumi.set(__self__, "update", update) + + @property + @pulumi.getter + def create(self) -> Optional[str]: + """ + A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + """ + return pulumi.get(self, "create") + + @property + @pulumi.getter + def delete(self) -> Optional[str]: + """ + A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. + """ + return pulumi.get(self, "delete") + + @property + @pulumi.getter + def update(self) -> Optional[str]: + """ + A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + """ + return pulumi.get(self, "update") + + @pulumi.output_type class ProvisionedModelThroughputTimeouts(dict): def __init__(__self__, *, diff --git a/sdk/python/pulumi_aws/cloudwatch/__init__.py b/sdk/python/pulumi_aws/cloudwatch/__init__.py index ce3e38c4ee8..517789c57ad 100644 --- a/sdk/python/pulumi_aws/cloudwatch/__init__.py +++ b/sdk/python/pulumi_aws/cloudwatch/__init__.py @@ -24,6 +24,7 @@ from .get_log_groups import * from .internet_monitor import * from .log_account_policy import * +from .log_anomaly_detector import * from .log_data_protection_policy import * from .log_destination import * from .log_destination_policy import * diff --git a/sdk/python/pulumi_aws/cloudwatch/log_anomaly_detector.py b/sdk/python/pulumi_aws/cloudwatch/log_anomaly_detector.py new file mode 100644 index 00000000000..9508e39ae3b --- /dev/null +++ b/sdk/python/pulumi_aws/cloudwatch/log_anomaly_detector.py @@ -0,0 +1,576 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import sys +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias +from .. import _utilities + +__all__ = ['LogAnomalyDetectorArgs', 'LogAnomalyDetector'] + +@pulumi.input_type +class LogAnomalyDetectorArgs: + def __init__(__self__, *, + enabled: pulumi.Input[bool], + log_group_arn_lists: pulumi.Input[Sequence[pulumi.Input[str]]], + anomaly_visibility_time: Optional[pulumi.Input[int]] = None, + detector_name: Optional[pulumi.Input[str]] = None, + evaluation_frequency: Optional[pulumi.Input[str]] = None, + filter_pattern: Optional[pulumi.Input[str]] = None, + kms_key_id: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): + """ + The set of arguments for constructing a LogAnomalyDetector resource. + :param pulumi.Input[Sequence[pulumi.Input[str]]] log_group_arn_lists: Array containing the ARN of the log group that this anomaly detector will watch. You can specify only one log group ARN. + + The following arguments are optional: + :param pulumi.Input[int] anomaly_visibility_time: Number of days to have visibility on an anomaly. After this time period has elapsed for an anomaly, it will be automatically baselined and the anomaly detector will treat new occurrences of a similar anomaly as normal. Therefore, if you do not correct the cause of an anomaly during the time period specified in `anomaly_visibility_time`, it will be considered normal going forward and will not be detected as an anomaly. Valid Range: Minimum value of 7. Maximum value of 90. + :param pulumi.Input[str] detector_name: Name for this anomaly detector. + :param pulumi.Input[str] evaluation_frequency: Specifies how often the anomaly detector is to run and look for anomalies. Set this value according to the frequency that the log group receives new logs. For example, if the log group receives new log events every 10 minutes, then 15 minutes might be a good setting for `evaluation_frequency`. Valid Values: `ONE_MIN | FIVE_MIN | TEN_MIN | FIFTEEN_MIN | THIRTY_MIN | ONE_HOUR`. + :param pulumi.Input[str] filter_pattern: You can use this parameter to limit the anomaly detection model to examine only log events that match the pattern you specify here. For more information, see [Filter and Pattern Syntax](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/FilterAndPatternSyntax.html). + :param pulumi.Input[str] kms_key_id: Optionally assigns a AWS KMS key to secure this anomaly detector and its findings. If a key is assigned, the anomalies found and the model used by this detector are encrypted at rest with the key. If a key is assigned to an anomaly detector, a user must have permissions for both this key and for the anomaly detector to retrieve information about the anomalies that it finds. + """ + pulumi.set(__self__, "enabled", enabled) + pulumi.set(__self__, "log_group_arn_lists", log_group_arn_lists) + if anomaly_visibility_time is not None: + pulumi.set(__self__, "anomaly_visibility_time", anomaly_visibility_time) + if detector_name is not None: + pulumi.set(__self__, "detector_name", detector_name) + if evaluation_frequency is not None: + pulumi.set(__self__, "evaluation_frequency", evaluation_frequency) + if filter_pattern is not None: + pulumi.set(__self__, "filter_pattern", filter_pattern) + if kms_key_id is not None: + pulumi.set(__self__, "kms_key_id", kms_key_id) + if tags is not None: + pulumi.set(__self__, "tags", tags) + + @property + @pulumi.getter + def enabled(self) -> pulumi.Input[bool]: + return pulumi.get(self, "enabled") + + @enabled.setter + def enabled(self, value: pulumi.Input[bool]): + pulumi.set(self, "enabled", value) + + @property + @pulumi.getter(name="logGroupArnLists") + def log_group_arn_lists(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: + """ + Array containing the ARN of the log group that this anomaly detector will watch. You can specify only one log group ARN. + + The following arguments are optional: + """ + return pulumi.get(self, "log_group_arn_lists") + + @log_group_arn_lists.setter + def log_group_arn_lists(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): + pulumi.set(self, "log_group_arn_lists", value) + + @property + @pulumi.getter(name="anomalyVisibilityTime") + def anomaly_visibility_time(self) -> Optional[pulumi.Input[int]]: + """ + Number of days to have visibility on an anomaly. After this time period has elapsed for an anomaly, it will be automatically baselined and the anomaly detector will treat new occurrences of a similar anomaly as normal. Therefore, if you do not correct the cause of an anomaly during the time period specified in `anomaly_visibility_time`, it will be considered normal going forward and will not be detected as an anomaly. Valid Range: Minimum value of 7. Maximum value of 90. + """ + return pulumi.get(self, "anomaly_visibility_time") + + @anomaly_visibility_time.setter + def anomaly_visibility_time(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "anomaly_visibility_time", value) + + @property + @pulumi.getter(name="detectorName") + def detector_name(self) -> Optional[pulumi.Input[str]]: + """ + Name for this anomaly detector. + """ + return pulumi.get(self, "detector_name") + + @detector_name.setter + def detector_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "detector_name", value) + + @property + @pulumi.getter(name="evaluationFrequency") + def evaluation_frequency(self) -> Optional[pulumi.Input[str]]: + """ + Specifies how often the anomaly detector is to run and look for anomalies. Set this value according to the frequency that the log group receives new logs. For example, if the log group receives new log events every 10 minutes, then 15 minutes might be a good setting for `evaluation_frequency`. Valid Values: `ONE_MIN | FIVE_MIN | TEN_MIN | FIFTEEN_MIN | THIRTY_MIN | ONE_HOUR`. + """ + return pulumi.get(self, "evaluation_frequency") + + @evaluation_frequency.setter + def evaluation_frequency(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "evaluation_frequency", value) + + @property + @pulumi.getter(name="filterPattern") + def filter_pattern(self) -> Optional[pulumi.Input[str]]: + """ + You can use this parameter to limit the anomaly detection model to examine only log events that match the pattern you specify here. For more information, see [Filter and Pattern Syntax](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/FilterAndPatternSyntax.html). + """ + return pulumi.get(self, "filter_pattern") + + @filter_pattern.setter + def filter_pattern(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "filter_pattern", value) + + @property + @pulumi.getter(name="kmsKeyId") + def kms_key_id(self) -> Optional[pulumi.Input[str]]: + """ + Optionally assigns a AWS KMS key to secure this anomaly detector and its findings. If a key is assigned, the anomalies found and the model used by this detector are encrypted at rest with the key. If a key is assigned to an anomaly detector, a user must have permissions for both this key and for the anomaly detector to retrieve information about the anomalies that it finds. + """ + return pulumi.get(self, "kms_key_id") + + @kms_key_id.setter + def kms_key_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "kms_key_id", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags", value) + + +@pulumi.input_type +class _LogAnomalyDetectorState: + def __init__(__self__, *, + anomaly_visibility_time: Optional[pulumi.Input[int]] = None, + arn: Optional[pulumi.Input[str]] = None, + detector_name: Optional[pulumi.Input[str]] = None, + enabled: Optional[pulumi.Input[bool]] = None, + evaluation_frequency: Optional[pulumi.Input[str]] = None, + filter_pattern: Optional[pulumi.Input[str]] = None, + kms_key_id: Optional[pulumi.Input[str]] = None, + log_group_arn_lists: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): + """ + Input properties used for looking up and filtering LogAnomalyDetector resources. + :param pulumi.Input[int] anomaly_visibility_time: Number of days to have visibility on an anomaly. After this time period has elapsed for an anomaly, it will be automatically baselined and the anomaly detector will treat new occurrences of a similar anomaly as normal. Therefore, if you do not correct the cause of an anomaly during the time period specified in `anomaly_visibility_time`, it will be considered normal going forward and will not be detected as an anomaly. Valid Range: Minimum value of 7. Maximum value of 90. + :param pulumi.Input[str] arn: ARN of the log anomaly detector that you just created. + :param pulumi.Input[str] detector_name: Name for this anomaly detector. + :param pulumi.Input[str] evaluation_frequency: Specifies how often the anomaly detector is to run and look for anomalies. Set this value according to the frequency that the log group receives new logs. For example, if the log group receives new log events every 10 minutes, then 15 minutes might be a good setting for `evaluation_frequency`. Valid Values: `ONE_MIN | FIVE_MIN | TEN_MIN | FIFTEEN_MIN | THIRTY_MIN | ONE_HOUR`. + :param pulumi.Input[str] filter_pattern: You can use this parameter to limit the anomaly detection model to examine only log events that match the pattern you specify here. For more information, see [Filter and Pattern Syntax](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/FilterAndPatternSyntax.html). + :param pulumi.Input[str] kms_key_id: Optionally assigns a AWS KMS key to secure this anomaly detector and its findings. If a key is assigned, the anomalies found and the model used by this detector are encrypted at rest with the key. If a key is assigned to an anomaly detector, a user must have permissions for both this key and for the anomaly detector to retrieve information about the anomalies that it finds. + :param pulumi.Input[Sequence[pulumi.Input[str]]] log_group_arn_lists: Array containing the ARN of the log group that this anomaly detector will watch. You can specify only one log group ARN. + + The following arguments are optional: + """ + if anomaly_visibility_time is not None: + pulumi.set(__self__, "anomaly_visibility_time", anomaly_visibility_time) + if arn is not None: + pulumi.set(__self__, "arn", arn) + if detector_name is not None: + pulumi.set(__self__, "detector_name", detector_name) + if enabled is not None: + pulumi.set(__self__, "enabled", enabled) + if evaluation_frequency is not None: + pulumi.set(__self__, "evaluation_frequency", evaluation_frequency) + if filter_pattern is not None: + pulumi.set(__self__, "filter_pattern", filter_pattern) + if kms_key_id is not None: + pulumi.set(__self__, "kms_key_id", kms_key_id) + if log_group_arn_lists is not None: + pulumi.set(__self__, "log_group_arn_lists", log_group_arn_lists) + if tags is not None: + pulumi.set(__self__, "tags", tags) + if tags_all is not None: + warnings.warn("""Please use `tags` instead.""", DeprecationWarning) + pulumi.log.warn("""tags_all is deprecated: Please use `tags` instead.""") + if tags_all is not None: + pulumi.set(__self__, "tags_all", tags_all) + + @property + @pulumi.getter(name="anomalyVisibilityTime") + def anomaly_visibility_time(self) -> Optional[pulumi.Input[int]]: + """ + Number of days to have visibility on an anomaly. After this time period has elapsed for an anomaly, it will be automatically baselined and the anomaly detector will treat new occurrences of a similar anomaly as normal. Therefore, if you do not correct the cause of an anomaly during the time period specified in `anomaly_visibility_time`, it will be considered normal going forward and will not be detected as an anomaly. Valid Range: Minimum value of 7. Maximum value of 90. + """ + return pulumi.get(self, "anomaly_visibility_time") + + @anomaly_visibility_time.setter + def anomaly_visibility_time(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "anomaly_visibility_time", value) + + @property + @pulumi.getter + def arn(self) -> Optional[pulumi.Input[str]]: + """ + ARN of the log anomaly detector that you just created. + """ + return pulumi.get(self, "arn") + + @arn.setter + def arn(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "arn", value) + + @property + @pulumi.getter(name="detectorName") + def detector_name(self) -> Optional[pulumi.Input[str]]: + """ + Name for this anomaly detector. + """ + return pulumi.get(self, "detector_name") + + @detector_name.setter + def detector_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "detector_name", value) + + @property + @pulumi.getter + def enabled(self) -> Optional[pulumi.Input[bool]]: + return pulumi.get(self, "enabled") + + @enabled.setter + def enabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enabled", value) + + @property + @pulumi.getter(name="evaluationFrequency") + def evaluation_frequency(self) -> Optional[pulumi.Input[str]]: + """ + Specifies how often the anomaly detector is to run and look for anomalies. Set this value according to the frequency that the log group receives new logs. For example, if the log group receives new log events every 10 minutes, then 15 minutes might be a good setting for `evaluation_frequency`. Valid Values: `ONE_MIN | FIVE_MIN | TEN_MIN | FIFTEEN_MIN | THIRTY_MIN | ONE_HOUR`. + """ + return pulumi.get(self, "evaluation_frequency") + + @evaluation_frequency.setter + def evaluation_frequency(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "evaluation_frequency", value) + + @property + @pulumi.getter(name="filterPattern") + def filter_pattern(self) -> Optional[pulumi.Input[str]]: + """ + You can use this parameter to limit the anomaly detection model to examine only log events that match the pattern you specify here. For more information, see [Filter and Pattern Syntax](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/FilterAndPatternSyntax.html). + """ + return pulumi.get(self, "filter_pattern") + + @filter_pattern.setter + def filter_pattern(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "filter_pattern", value) + + @property + @pulumi.getter(name="kmsKeyId") + def kms_key_id(self) -> Optional[pulumi.Input[str]]: + """ + Optionally assigns a AWS KMS key to secure this anomaly detector and its findings. If a key is assigned, the anomalies found and the model used by this detector are encrypted at rest with the key. If a key is assigned to an anomaly detector, a user must have permissions for both this key and for the anomaly detector to retrieve information about the anomalies that it finds. + """ + return pulumi.get(self, "kms_key_id") + + @kms_key_id.setter + def kms_key_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "kms_key_id", value) + + @property + @pulumi.getter(name="logGroupArnLists") + def log_group_arn_lists(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Array containing the ARN of the log group that this anomaly detector will watch. You can specify only one log group ARN. + + The following arguments are optional: + """ + return pulumi.get(self, "log_group_arn_lists") + + @log_group_arn_lists.setter + def log_group_arn_lists(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "log_group_arn_lists", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags", value) + + @property + @pulumi.getter(name="tagsAll") + @_utilities.deprecated("""Please use `tags` instead.""") + def tags_all(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + return pulumi.get(self, "tags_all") + + @tags_all.setter + def tags_all(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags_all", value) + + +class LogAnomalyDetector(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + anomaly_visibility_time: Optional[pulumi.Input[int]] = None, + detector_name: Optional[pulumi.Input[str]] = None, + enabled: Optional[pulumi.Input[bool]] = None, + evaluation_frequency: Optional[pulumi.Input[str]] = None, + filter_pattern: Optional[pulumi.Input[str]] = None, + kms_key_id: Optional[pulumi.Input[str]] = None, + log_group_arn_lists: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + __props__=None): + """ + Resource for managing an AWS CloudWatch Logs Log Anomaly Detector. + + ## Example Usage + + ### Basic Usage + + ```python + import pulumi + import pulumi_aws as aws + + test = [] + for range in [{"value": i} for i in range(0, 2)]: + test.append(aws.cloudwatch.LogGroup(f"test-{range['value']}", name=f"testing-{range['value']}")) + test_log_anomaly_detector = aws.cloudwatch.LogAnomalyDetector("test", + detector_name="testing", + log_group_arn_lists=[test[0].arn], + anomaly_visibility_time=7, + evaluation_frequency="TEN_MIN", + enabled=False) + ``` + + ## Import + + Using `pulumi import`, import CloudWatch Log Anomaly Detector using the `example_id_arg`. For example: + + ```sh + $ pulumi import aws:cloudwatch/logAnomalyDetector:LogAnomalyDetector example log_anomaly_detector-arn-12345678 + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[int] anomaly_visibility_time: Number of days to have visibility on an anomaly. After this time period has elapsed for an anomaly, it will be automatically baselined and the anomaly detector will treat new occurrences of a similar anomaly as normal. Therefore, if you do not correct the cause of an anomaly during the time period specified in `anomaly_visibility_time`, it will be considered normal going forward and will not be detected as an anomaly. Valid Range: Minimum value of 7. Maximum value of 90. + :param pulumi.Input[str] detector_name: Name for this anomaly detector. + :param pulumi.Input[str] evaluation_frequency: Specifies how often the anomaly detector is to run and look for anomalies. Set this value according to the frequency that the log group receives new logs. For example, if the log group receives new log events every 10 minutes, then 15 minutes might be a good setting for `evaluation_frequency`. Valid Values: `ONE_MIN | FIVE_MIN | TEN_MIN | FIFTEEN_MIN | THIRTY_MIN | ONE_HOUR`. + :param pulumi.Input[str] filter_pattern: You can use this parameter to limit the anomaly detection model to examine only log events that match the pattern you specify here. For more information, see [Filter and Pattern Syntax](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/FilterAndPatternSyntax.html). + :param pulumi.Input[str] kms_key_id: Optionally assigns a AWS KMS key to secure this anomaly detector and its findings. If a key is assigned, the anomalies found and the model used by this detector are encrypted at rest with the key. If a key is assigned to an anomaly detector, a user must have permissions for both this key and for the anomaly detector to retrieve information about the anomalies that it finds. + :param pulumi.Input[Sequence[pulumi.Input[str]]] log_group_arn_lists: Array containing the ARN of the log group that this anomaly detector will watch. You can specify only one log group ARN. + + The following arguments are optional: + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: LogAnomalyDetectorArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Resource for managing an AWS CloudWatch Logs Log Anomaly Detector. + + ## Example Usage + + ### Basic Usage + + ```python + import pulumi + import pulumi_aws as aws + + test = [] + for range in [{"value": i} for i in range(0, 2)]: + test.append(aws.cloudwatch.LogGroup(f"test-{range['value']}", name=f"testing-{range['value']}")) + test_log_anomaly_detector = aws.cloudwatch.LogAnomalyDetector("test", + detector_name="testing", + log_group_arn_lists=[test[0].arn], + anomaly_visibility_time=7, + evaluation_frequency="TEN_MIN", + enabled=False) + ``` + + ## Import + + Using `pulumi import`, import CloudWatch Log Anomaly Detector using the `example_id_arg`. For example: + + ```sh + $ pulumi import aws:cloudwatch/logAnomalyDetector:LogAnomalyDetector example log_anomaly_detector-arn-12345678 + ``` + + :param str resource_name: The name of the resource. + :param LogAnomalyDetectorArgs 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(LogAnomalyDetectorArgs, 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, + anomaly_visibility_time: Optional[pulumi.Input[int]] = None, + detector_name: Optional[pulumi.Input[str]] = None, + enabled: Optional[pulumi.Input[bool]] = None, + evaluation_frequency: Optional[pulumi.Input[str]] = None, + filter_pattern: Optional[pulumi.Input[str]] = None, + kms_key_id: Optional[pulumi.Input[str]] = None, + log_group_arn_lists: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + 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__ = LogAnomalyDetectorArgs.__new__(LogAnomalyDetectorArgs) + + __props__.__dict__["anomaly_visibility_time"] = anomaly_visibility_time + __props__.__dict__["detector_name"] = detector_name + if enabled is None and not opts.urn: + raise TypeError("Missing required property 'enabled'") + __props__.__dict__["enabled"] = enabled + __props__.__dict__["evaluation_frequency"] = evaluation_frequency + __props__.__dict__["filter_pattern"] = filter_pattern + __props__.__dict__["kms_key_id"] = kms_key_id + if log_group_arn_lists is None and not opts.urn: + raise TypeError("Missing required property 'log_group_arn_lists'") + __props__.__dict__["log_group_arn_lists"] = log_group_arn_lists + __props__.__dict__["tags"] = tags + __props__.__dict__["arn"] = None + __props__.__dict__["tags_all"] = None + super(LogAnomalyDetector, __self__).__init__( + 'aws:cloudwatch/logAnomalyDetector:LogAnomalyDetector', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + anomaly_visibility_time: Optional[pulumi.Input[int]] = None, + arn: Optional[pulumi.Input[str]] = None, + detector_name: Optional[pulumi.Input[str]] = None, + enabled: Optional[pulumi.Input[bool]] = None, + evaluation_frequency: Optional[pulumi.Input[str]] = None, + filter_pattern: Optional[pulumi.Input[str]] = None, + kms_key_id: Optional[pulumi.Input[str]] = None, + log_group_arn_lists: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None) -> 'LogAnomalyDetector': + """ + Get an existing LogAnomalyDetector 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[int] anomaly_visibility_time: Number of days to have visibility on an anomaly. After this time period has elapsed for an anomaly, it will be automatically baselined and the anomaly detector will treat new occurrences of a similar anomaly as normal. Therefore, if you do not correct the cause of an anomaly during the time period specified in `anomaly_visibility_time`, it will be considered normal going forward and will not be detected as an anomaly. Valid Range: Minimum value of 7. Maximum value of 90. + :param pulumi.Input[str] arn: ARN of the log anomaly detector that you just created. + :param pulumi.Input[str] detector_name: Name for this anomaly detector. + :param pulumi.Input[str] evaluation_frequency: Specifies how often the anomaly detector is to run and look for anomalies. Set this value according to the frequency that the log group receives new logs. For example, if the log group receives new log events every 10 minutes, then 15 minutes might be a good setting for `evaluation_frequency`. Valid Values: `ONE_MIN | FIVE_MIN | TEN_MIN | FIFTEEN_MIN | THIRTY_MIN | ONE_HOUR`. + :param pulumi.Input[str] filter_pattern: You can use this parameter to limit the anomaly detection model to examine only log events that match the pattern you specify here. For more information, see [Filter and Pattern Syntax](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/FilterAndPatternSyntax.html). + :param pulumi.Input[str] kms_key_id: Optionally assigns a AWS KMS key to secure this anomaly detector and its findings. If a key is assigned, the anomalies found and the model used by this detector are encrypted at rest with the key. If a key is assigned to an anomaly detector, a user must have permissions for both this key and for the anomaly detector to retrieve information about the anomalies that it finds. + :param pulumi.Input[Sequence[pulumi.Input[str]]] log_group_arn_lists: Array containing the ARN of the log group that this anomaly detector will watch. You can specify only one log group ARN. + + The following arguments are optional: + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _LogAnomalyDetectorState.__new__(_LogAnomalyDetectorState) + + __props__.__dict__["anomaly_visibility_time"] = anomaly_visibility_time + __props__.__dict__["arn"] = arn + __props__.__dict__["detector_name"] = detector_name + __props__.__dict__["enabled"] = enabled + __props__.__dict__["evaluation_frequency"] = evaluation_frequency + __props__.__dict__["filter_pattern"] = filter_pattern + __props__.__dict__["kms_key_id"] = kms_key_id + __props__.__dict__["log_group_arn_lists"] = log_group_arn_lists + __props__.__dict__["tags"] = tags + __props__.__dict__["tags_all"] = tags_all + return LogAnomalyDetector(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="anomalyVisibilityTime") + def anomaly_visibility_time(self) -> pulumi.Output[int]: + """ + Number of days to have visibility on an anomaly. After this time period has elapsed for an anomaly, it will be automatically baselined and the anomaly detector will treat new occurrences of a similar anomaly as normal. Therefore, if you do not correct the cause of an anomaly during the time period specified in `anomaly_visibility_time`, it will be considered normal going forward and will not be detected as an anomaly. Valid Range: Minimum value of 7. Maximum value of 90. + """ + return pulumi.get(self, "anomaly_visibility_time") + + @property + @pulumi.getter + def arn(self) -> pulumi.Output[str]: + """ + ARN of the log anomaly detector that you just created. + """ + return pulumi.get(self, "arn") + + @property + @pulumi.getter(name="detectorName") + def detector_name(self) -> pulumi.Output[Optional[str]]: + """ + Name for this anomaly detector. + """ + return pulumi.get(self, "detector_name") + + @property + @pulumi.getter + def enabled(self) -> pulumi.Output[bool]: + return pulumi.get(self, "enabled") + + @property + @pulumi.getter(name="evaluationFrequency") + def evaluation_frequency(self) -> pulumi.Output[Optional[str]]: + """ + Specifies how often the anomaly detector is to run and look for anomalies. Set this value according to the frequency that the log group receives new logs. For example, if the log group receives new log events every 10 minutes, then 15 minutes might be a good setting for `evaluation_frequency`. Valid Values: `ONE_MIN | FIVE_MIN | TEN_MIN | FIFTEEN_MIN | THIRTY_MIN | ONE_HOUR`. + """ + return pulumi.get(self, "evaluation_frequency") + + @property + @pulumi.getter(name="filterPattern") + def filter_pattern(self) -> pulumi.Output[Optional[str]]: + """ + You can use this parameter to limit the anomaly detection model to examine only log events that match the pattern you specify here. For more information, see [Filter and Pattern Syntax](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/FilterAndPatternSyntax.html). + """ + return pulumi.get(self, "filter_pattern") + + @property + @pulumi.getter(name="kmsKeyId") + def kms_key_id(self) -> pulumi.Output[Optional[str]]: + """ + Optionally assigns a AWS KMS key to secure this anomaly detector and its findings. If a key is assigned, the anomalies found and the model used by this detector are encrypted at rest with the key. If a key is assigned to an anomaly detector, a user must have permissions for both this key and for the anomaly detector to retrieve information about the anomalies that it finds. + """ + return pulumi.get(self, "kms_key_id") + + @property + @pulumi.getter(name="logGroupArnLists") + def log_group_arn_lists(self) -> pulumi.Output[Sequence[str]]: + """ + Array containing the ARN of the log group that this anomaly detector will watch. You can specify only one log group ARN. + + The following arguments are optional: + """ + return pulumi.get(self, "log_group_arn_lists") + + @property + @pulumi.getter + def tags(self) -> pulumi.Output[Optional[Mapping[str, str]]]: + return pulumi.get(self, "tags") + + @property + @pulumi.getter(name="tagsAll") + @_utilities.deprecated("""Please use `tags` instead.""") + def tags_all(self) -> pulumi.Output[Mapping[str, str]]: + return pulumi.get(self, "tags_all") + diff --git a/sdk/python/pulumi_aws/cognito/user_pool_domain.py b/sdk/python/pulumi_aws/cognito/user_pool_domain.py index 5cfbab57f23..04cbb585aad 100644 --- a/sdk/python/pulumi_aws/cognito/user_pool_domain.py +++ b/sdk/python/pulumi_aws/cognito/user_pool_domain.py @@ -256,7 +256,7 @@ def __init__(__self__, example_user_pool = aws.cognito.UserPool("example", name="example-pool") main = aws.cognito.UserPoolDomain("main", - domain="example-domain", + domain="auth.example.com", certificate_arn=cert["arn"], user_pool_id=example_user_pool.id) example = aws.route53.get_zone(name="example.com") @@ -316,7 +316,7 @@ def __init__(__self__, example_user_pool = aws.cognito.UserPool("example", name="example-pool") main = aws.cognito.UserPoolDomain("main", - domain="example-domain", + domain="auth.example.com", certificate_arn=cert["arn"], user_pool_id=example_user_pool.id) example = aws.route53.get_zone(name="example.com") diff --git a/sdk/python/pulumi_aws/ebs/snapshot_copy.py b/sdk/python/pulumi_aws/ebs/snapshot_copy.py index fca60d6ddc5..eb58a490fff 100644 --- a/sdk/python/pulumi_aws/ebs/snapshot_copy.py +++ b/sdk/python/pulumi_aws/ebs/snapshot_copy.py @@ -21,6 +21,7 @@ class SnapshotCopyArgs: def __init__(__self__, *, source_region: pulumi.Input[str], source_snapshot_id: pulumi.Input[str], + completion_duration_minutes: Optional[pulumi.Input[int]] = None, description: Optional[pulumi.Input[str]] = None, encrypted: Optional[pulumi.Input[bool]] = None, kms_key_id: Optional[pulumi.Input[str]] = None, @@ -32,6 +33,7 @@ def __init__(__self__, *, The set of arguments for constructing a SnapshotCopy resource. :param pulumi.Input[str] source_region: The region of the source snapshot. :param pulumi.Input[str] source_snapshot_id: The ARN for the snapshot to be copied. + :param pulumi.Input[int] completion_duration_minutes: Specifies a completion duration to initiate a time-based snapshot copy. Time-based snapshot copy operations complete within the specified duration. Value must be between 15 and 2880 minutes, in 15 minute increments only. :param pulumi.Input[str] description: A description of what the snapshot is. :param pulumi.Input[bool] encrypted: Whether the snapshot is encrypted. :param pulumi.Input[str] kms_key_id: The ARN for the KMS encryption key. @@ -42,6 +44,8 @@ def __init__(__self__, *, """ pulumi.set(__self__, "source_region", source_region) pulumi.set(__self__, "source_snapshot_id", source_snapshot_id) + if completion_duration_minutes is not None: + pulumi.set(__self__, "completion_duration_minutes", completion_duration_minutes) if description is not None: pulumi.set(__self__, "description", description) if encrypted is not None: @@ -81,6 +85,18 @@ def source_snapshot_id(self) -> pulumi.Input[str]: def source_snapshot_id(self, value: pulumi.Input[str]): pulumi.set(self, "source_snapshot_id", value) + @property + @pulumi.getter(name="completionDurationMinutes") + def completion_duration_minutes(self) -> Optional[pulumi.Input[int]]: + """ + Specifies a completion duration to initiate a time-based snapshot copy. Time-based snapshot copy operations complete within the specified duration. Value must be between 15 and 2880 minutes, in 15 minute increments only. + """ + return pulumi.get(self, "completion_duration_minutes") + + @completion_duration_minutes.setter + def completion_duration_minutes(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "completion_duration_minutes", value) + @property @pulumi.getter def description(self) -> Optional[pulumi.Input[str]]: @@ -170,6 +186,7 @@ def temporary_restore_days(self, value: Optional[pulumi.Input[int]]): class _SnapshotCopyState: def __init__(__self__, *, arn: Optional[pulumi.Input[str]] = None, + completion_duration_minutes: Optional[pulumi.Input[int]] = None, data_encryption_key_id: Optional[pulumi.Input[str]] = None, description: Optional[pulumi.Input[str]] = None, encrypted: Optional[pulumi.Input[bool]] = None, @@ -189,6 +206,7 @@ def __init__(__self__, *, """ Input properties used for looking up and filtering SnapshotCopy resources. :param pulumi.Input[str] arn: Amazon Resource Name (ARN) of the EBS Snapshot. + :param pulumi.Input[int] completion_duration_minutes: Specifies a completion duration to initiate a time-based snapshot copy. Time-based snapshot copy operations complete within the specified duration. Value must be between 15 and 2880 minutes, in 15 minute increments only. :param pulumi.Input[str] data_encryption_key_id: The data encryption key identifier for the snapshot. :param pulumi.Input[str] description: A description of what the snapshot is. :param pulumi.Input[bool] encrypted: Whether the snapshot is encrypted. @@ -206,6 +224,8 @@ def __init__(__self__, *, """ if arn is not None: pulumi.set(__self__, "arn", arn) + if completion_duration_minutes is not None: + pulumi.set(__self__, "completion_duration_minutes", completion_duration_minutes) if data_encryption_key_id is not None: pulumi.set(__self__, "data_encryption_key_id", data_encryption_key_id) if description is not None: @@ -254,6 +274,18 @@ def arn(self) -> Optional[pulumi.Input[str]]: def arn(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "arn", value) + @property + @pulumi.getter(name="completionDurationMinutes") + def completion_duration_minutes(self) -> Optional[pulumi.Input[int]]: + """ + Specifies a completion duration to initiate a time-based snapshot copy. Time-based snapshot copy operations complete within the specified duration. Value must be between 15 and 2880 minutes, in 15 minute increments only. + """ + return pulumi.get(self, "completion_duration_minutes") + + @completion_duration_minutes.setter + def completion_duration_minutes(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "completion_duration_minutes", value) + @property @pulumi.getter(name="dataEncryptionKeyId") def data_encryption_key_id(self) -> Optional[pulumi.Input[str]]: @@ -447,6 +479,7 @@ class SnapshotCopy(pulumi.CustomResource): def __init__(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, + completion_duration_minutes: Optional[pulumi.Input[int]] = None, description: Optional[pulumi.Input[str]] = None, encrypted: Optional[pulumi.Input[bool]] = None, kms_key_id: Optional[pulumi.Input[str]] = None, @@ -487,6 +520,7 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[int] completion_duration_minutes: Specifies a completion duration to initiate a time-based snapshot copy. Time-based snapshot copy operations complete within the specified duration. Value must be between 15 and 2880 minutes, in 15 minute increments only. :param pulumi.Input[str] description: A description of what the snapshot is. :param pulumi.Input[bool] encrypted: Whether the snapshot is encrypted. :param pulumi.Input[str] kms_key_id: The ARN for the KMS encryption key. @@ -546,6 +580,7 @@ def __init__(__self__, resource_name: str, *args, **kwargs): def _internal_init(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, + completion_duration_minutes: Optional[pulumi.Input[int]] = None, description: Optional[pulumi.Input[str]] = None, encrypted: Optional[pulumi.Input[bool]] = None, kms_key_id: Optional[pulumi.Input[str]] = None, @@ -564,6 +599,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__ = SnapshotCopyArgs.__new__(SnapshotCopyArgs) + __props__.__dict__["completion_duration_minutes"] = completion_duration_minutes __props__.__dict__["description"] = description __props__.__dict__["encrypted"] = encrypted __props__.__dict__["kms_key_id"] = kms_key_id @@ -596,6 +632,7 @@ def get(resource_name: str, id: pulumi.Input[str], opts: Optional[pulumi.ResourceOptions] = None, arn: Optional[pulumi.Input[str]] = None, + completion_duration_minutes: Optional[pulumi.Input[int]] = None, data_encryption_key_id: Optional[pulumi.Input[str]] = None, description: Optional[pulumi.Input[str]] = None, encrypted: Optional[pulumi.Input[bool]] = None, @@ -620,6 +657,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] arn: Amazon Resource Name (ARN) of the EBS Snapshot. + :param pulumi.Input[int] completion_duration_minutes: Specifies a completion duration to initiate a time-based snapshot copy. Time-based snapshot copy operations complete within the specified duration. Value must be between 15 and 2880 minutes, in 15 minute increments only. :param pulumi.Input[str] data_encryption_key_id: The data encryption key identifier for the snapshot. :param pulumi.Input[str] description: A description of what the snapshot is. :param pulumi.Input[bool] encrypted: Whether the snapshot is encrypted. @@ -640,6 +678,7 @@ def get(resource_name: str, __props__ = _SnapshotCopyState.__new__(_SnapshotCopyState) __props__.__dict__["arn"] = arn + __props__.__dict__["completion_duration_minutes"] = completion_duration_minutes __props__.__dict__["data_encryption_key_id"] = data_encryption_key_id __props__.__dict__["description"] = description __props__.__dict__["encrypted"] = encrypted @@ -666,6 +705,14 @@ def arn(self) -> pulumi.Output[str]: """ return pulumi.get(self, "arn") + @property + @pulumi.getter(name="completionDurationMinutes") + def completion_duration_minutes(self) -> pulumi.Output[Optional[int]]: + """ + Specifies a completion duration to initiate a time-based snapshot copy. Time-based snapshot copy operations complete within the specified duration. Value must be between 15 and 2880 minutes, in 15 minute increments only. + """ + return pulumi.get(self, "completion_duration_minutes") + @property @pulumi.getter(name="dataEncryptionKeyId") def data_encryption_key_id(self) -> pulumi.Output[str]: diff --git a/sdk/python/pulumi_aws/ec2/_inputs.py b/sdk/python/pulumi_aws/ec2/_inputs.py index 0b0a061d72d..bc9830de407 100644 --- a/sdk/python/pulumi_aws/ec2/_inputs.py +++ b/sdk/python/pulumi_aws/ec2/_inputs.py @@ -8303,14 +8303,11 @@ def enabled(self, value: Optional[pulumi.Input[bool]]): class LaunchTemplateNetworkInterfaceArgsDict(TypedDict): associate_carrier_ip_address: NotRequired[pulumi.Input[str]] """ - Associate a Carrier IP address with `eth0` for a new network interface. - Use this option when you launch an instance in a Wavelength Zone and want to associate a Carrier IP address with the network interface. - Boolean value, can be left unset. + Associate a Carrier IP address with `eth0` for a new network interface. Use this option when you launch an instance in a Wavelength Zone and want to associate a Carrier IP address with the network interface. Boolean value, can be left unset. """ associate_public_ip_address: NotRequired[pulumi.Input[str]] """ - Associate a public ip address with the network interface. - Boolean value, can be left unset. + Associate a public ip address with the network interface. Boolean value, can be left unset. """ delete_on_termination: NotRequired[pulumi.Input[str]] """ @@ -8411,11 +8408,8 @@ def __init__(__self__, *, security_groups: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, subnet_id: Optional[pulumi.Input[str]] = None): """ - :param pulumi.Input[str] associate_carrier_ip_address: Associate a Carrier IP address with `eth0` for a new network interface. - Use this option when you launch an instance in a Wavelength Zone and want to associate a Carrier IP address with the network interface. - Boolean value, can be left unset. - :param pulumi.Input[str] associate_public_ip_address: Associate a public ip address with the network interface. - Boolean value, can be left unset. + :param pulumi.Input[str] associate_carrier_ip_address: Associate a Carrier IP address with `eth0` for a new network interface. Use this option when you launch an instance in a Wavelength Zone and want to associate a Carrier IP address with the network interface. Boolean value, can be left unset. + :param pulumi.Input[str] associate_public_ip_address: Associate a public ip address with the network interface. Boolean value, can be left unset. :param pulumi.Input[str] delete_on_termination: Whether the network interface should be destroyed on instance termination. :param pulumi.Input[str] description: Description of the network interface. :param pulumi.Input[int] device_index: The integer index of the network interface attachment. @@ -8480,9 +8474,7 @@ def __init__(__self__, *, @pulumi.getter(name="associateCarrierIpAddress") def associate_carrier_ip_address(self) -> Optional[pulumi.Input[str]]: """ - Associate a Carrier IP address with `eth0` for a new network interface. - Use this option when you launch an instance in a Wavelength Zone and want to associate a Carrier IP address with the network interface. - Boolean value, can be left unset. + Associate a Carrier IP address with `eth0` for a new network interface. Use this option when you launch an instance in a Wavelength Zone and want to associate a Carrier IP address with the network interface. Boolean value, can be left unset. """ return pulumi.get(self, "associate_carrier_ip_address") @@ -8494,8 +8486,7 @@ def associate_carrier_ip_address(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="associatePublicIpAddress") def associate_public_ip_address(self) -> Optional[pulumi.Input[str]]: """ - Associate a public ip address with the network interface. - Boolean value, can be left unset. + Associate a public ip address with the network interface. Boolean value, can be left unset. """ return pulumi.get(self, "associate_public_ip_address") diff --git a/sdk/python/pulumi_aws/ec2/instance.py b/sdk/python/pulumi_aws/ec2/instance.py index a197b14493c..0cd5b6c05a7 100644 --- a/sdk/python/pulumi_aws/ec2/instance.py +++ b/sdk/python/pulumi_aws/ec2/instance.py @@ -34,6 +34,7 @@ def __init__(__self__, *, disable_api_termination: Optional[pulumi.Input[bool]] = None, ebs_block_devices: Optional[pulumi.Input[Sequence[pulumi.Input['InstanceEbsBlockDeviceArgs']]]] = None, ebs_optimized: Optional[pulumi.Input[bool]] = None, + enable_primary_ipv6: Optional[pulumi.Input[bool]] = None, enclave_options: Optional[pulumi.Input['InstanceEnclaveOptionsArgs']] = None, ephemeral_block_devices: Optional[pulumi.Input[Sequence[pulumi.Input['InstanceEphemeralBlockDeviceArgs']]]] = None, get_password_data: Optional[pulumi.Input[bool]] = None, @@ -84,6 +85,7 @@ def __init__(__self__, *, :param pulumi.Input[bool] disable_api_termination: If true, enables [EC2 Instance Termination Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/terminating-instances.html#Using_ChangingDisableAPITermination). :param pulumi.Input[Sequence[pulumi.Input['InstanceEbsBlockDeviceArgs']]] ebs_block_devices: One or more configuration blocks with additional EBS block devices to attach to the instance. Block device configurations only apply on resource creation. See Block Devices below for details on attributes and drift detection. When accessing this as an attribute reference, it is a set of objects. :param pulumi.Input[bool] ebs_optimized: If true, the launched EC2 instance will be EBS-optimized. Note that if this is not set on an instance type that is optimized by default then this will show as disabled but if the instance type is optimized by default then there is no need to set this and there is no effect to disabling it. See the [EBS Optimized section](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSOptimized.html) of the AWS User Guide for more information. + :param pulumi.Input[bool] enable_primary_ipv6: Whether to assign a primary IPv6 Global Unicast Address (GUA) to the instance when launched in a dual-stack or IPv6-only subnet. A primary IPv6 address ensures a consistent IPv6 address for the instance and is automatically assigned by AWS to the ENI. Once enabled, the first IPv6 GUA becomes the primary IPv6 address and cannot be disabled. The primary IPv6 address remains until the instance is terminated or the ENI is detached. Disabling `enable_primary_ipv6` after it has been enabled forces recreation of the instance. :param pulumi.Input['InstanceEnclaveOptionsArgs'] enclave_options: Enable Nitro Enclaves on launched instances. See Enclave Options below for more details. :param pulumi.Input[Sequence[pulumi.Input['InstanceEphemeralBlockDeviceArgs']]] ephemeral_block_devices: One or more configuration blocks to customize Ephemeral (also known as "Instance Store") volumes on the instance. See Block Devices below for details. When accessing this as an attribute reference, it is a set of objects. :param pulumi.Input[bool] get_password_data: If true, wait for password data to become available and retrieve it. Useful for getting the administrator password for instances running Microsoft Windows. The password data is exported to the `password_data` attribute. See [GetPasswordData](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetPasswordData.html) for more information. @@ -153,6 +155,8 @@ def __init__(__self__, *, pulumi.set(__self__, "ebs_block_devices", ebs_block_devices) if ebs_optimized is not None: pulumi.set(__self__, "ebs_optimized", ebs_optimized) + if enable_primary_ipv6 is not None: + pulumi.set(__self__, "enable_primary_ipv6", enable_primary_ipv6) if enclave_options is not None: pulumi.set(__self__, "enclave_options", enclave_options) if ephemeral_block_devices is not None: @@ -373,6 +377,18 @@ def ebs_optimized(self) -> Optional[pulumi.Input[bool]]: def ebs_optimized(self, value: Optional[pulumi.Input[bool]]): pulumi.set(self, "ebs_optimized", value) + @property + @pulumi.getter(name="enablePrimaryIpv6") + def enable_primary_ipv6(self) -> Optional[pulumi.Input[bool]]: + """ + Whether to assign a primary IPv6 Global Unicast Address (GUA) to the instance when launched in a dual-stack or IPv6-only subnet. A primary IPv6 address ensures a consistent IPv6 address for the instance and is automatically assigned by AWS to the ENI. Once enabled, the first IPv6 GUA becomes the primary IPv6 address and cannot be disabled. The primary IPv6 address remains until the instance is terminated or the ENI is detached. Disabling `enable_primary_ipv6` after it has been enabled forces recreation of the instance. + """ + return pulumi.get(self, "enable_primary_ipv6") + + @enable_primary_ipv6.setter + def enable_primary_ipv6(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enable_primary_ipv6", value) + @property @pulumi.getter(name="enclaveOptions") def enclave_options(self) -> Optional[pulumi.Input['InstanceEnclaveOptionsArgs']]: @@ -803,6 +819,7 @@ def __init__(__self__, *, disable_api_termination: Optional[pulumi.Input[bool]] = None, ebs_block_devices: Optional[pulumi.Input[Sequence[pulumi.Input['InstanceEbsBlockDeviceArgs']]]] = None, ebs_optimized: Optional[pulumi.Input[bool]] = None, + enable_primary_ipv6: Optional[pulumi.Input[bool]] = None, enclave_options: Optional[pulumi.Input['InstanceEnclaveOptionsArgs']] = None, ephemeral_block_devices: Optional[pulumi.Input[Sequence[pulumi.Input['InstanceEphemeralBlockDeviceArgs']]]] = None, get_password_data: Optional[pulumi.Input[bool]] = None, @@ -864,6 +881,7 @@ def __init__(__self__, *, :param pulumi.Input[bool] disable_api_termination: If true, enables [EC2 Instance Termination Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/terminating-instances.html#Using_ChangingDisableAPITermination). :param pulumi.Input[Sequence[pulumi.Input['InstanceEbsBlockDeviceArgs']]] ebs_block_devices: One or more configuration blocks with additional EBS block devices to attach to the instance. Block device configurations only apply on resource creation. See Block Devices below for details on attributes and drift detection. When accessing this as an attribute reference, it is a set of objects. :param pulumi.Input[bool] ebs_optimized: If true, the launched EC2 instance will be EBS-optimized. Note that if this is not set on an instance type that is optimized by default then this will show as disabled but if the instance type is optimized by default then there is no need to set this and there is no effect to disabling it. See the [EBS Optimized section](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSOptimized.html) of the AWS User Guide for more information. + :param pulumi.Input[bool] enable_primary_ipv6: Whether to assign a primary IPv6 Global Unicast Address (GUA) to the instance when launched in a dual-stack or IPv6-only subnet. A primary IPv6 address ensures a consistent IPv6 address for the instance and is automatically assigned by AWS to the ENI. Once enabled, the first IPv6 GUA becomes the primary IPv6 address and cannot be disabled. The primary IPv6 address remains until the instance is terminated or the ENI is detached. Disabling `enable_primary_ipv6` after it has been enabled forces recreation of the instance. :param pulumi.Input['InstanceEnclaveOptionsArgs'] enclave_options: Enable Nitro Enclaves on launched instances. See Enclave Options below for more details. :param pulumi.Input[Sequence[pulumi.Input['InstanceEphemeralBlockDeviceArgs']]] ephemeral_block_devices: One or more configuration blocks to customize Ephemeral (also known as "Instance Store") volumes on the instance. See Block Devices below for details. When accessing this as an attribute reference, it is a set of objects. :param pulumi.Input[bool] get_password_data: If true, wait for password data to become available and retrieve it. Useful for getting the administrator password for instances running Microsoft Windows. The password data is exported to the `password_data` attribute. See [GetPasswordData](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetPasswordData.html) for more information. @@ -945,6 +963,8 @@ def __init__(__self__, *, pulumi.set(__self__, "ebs_block_devices", ebs_block_devices) if ebs_optimized is not None: pulumi.set(__self__, "ebs_optimized", ebs_optimized) + if enable_primary_ipv6 is not None: + pulumi.set(__self__, "enable_primary_ipv6", enable_primary_ipv6) if enclave_options is not None: pulumi.set(__self__, "enclave_options", enclave_options) if ephemeral_block_devices is not None: @@ -1200,6 +1220,18 @@ def ebs_optimized(self) -> Optional[pulumi.Input[bool]]: def ebs_optimized(self, value: Optional[pulumi.Input[bool]]): pulumi.set(self, "ebs_optimized", value) + @property + @pulumi.getter(name="enablePrimaryIpv6") + def enable_primary_ipv6(self) -> Optional[pulumi.Input[bool]]: + """ + Whether to assign a primary IPv6 Global Unicast Address (GUA) to the instance when launched in a dual-stack or IPv6-only subnet. A primary IPv6 address ensures a consistent IPv6 address for the instance and is automatically assigned by AWS to the ENI. Once enabled, the first IPv6 GUA becomes the primary IPv6 address and cannot be disabled. The primary IPv6 address remains until the instance is terminated or the ENI is detached. Disabling `enable_primary_ipv6` after it has been enabled forces recreation of the instance. + """ + return pulumi.get(self, "enable_primary_ipv6") + + @enable_primary_ipv6.setter + def enable_primary_ipv6(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enable_primary_ipv6", value) + @property @pulumi.getter(name="enclaveOptions") def enclave_options(self) -> Optional[pulumi.Input['InstanceEnclaveOptionsArgs']]: @@ -1752,6 +1784,7 @@ def __init__(__self__, disable_api_termination: Optional[pulumi.Input[bool]] = None, ebs_block_devices: Optional[pulumi.Input[Sequence[pulumi.Input[Union['InstanceEbsBlockDeviceArgs', 'InstanceEbsBlockDeviceArgsDict']]]]] = None, ebs_optimized: Optional[pulumi.Input[bool]] = None, + enable_primary_ipv6: Optional[pulumi.Input[bool]] = None, enclave_options: Optional[pulumi.Input[Union['InstanceEnclaveOptionsArgs', 'InstanceEnclaveOptionsArgsDict']]] = None, ephemeral_block_devices: Optional[pulumi.Input[Sequence[pulumi.Input[Union['InstanceEphemeralBlockDeviceArgs', 'InstanceEphemeralBlockDeviceArgsDict']]]]] = None, get_password_data: Optional[pulumi.Input[bool]] = None, @@ -1976,6 +2009,7 @@ def __init__(__self__, :param pulumi.Input[bool] disable_api_termination: If true, enables [EC2 Instance Termination Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/terminating-instances.html#Using_ChangingDisableAPITermination). :param pulumi.Input[Sequence[pulumi.Input[Union['InstanceEbsBlockDeviceArgs', 'InstanceEbsBlockDeviceArgsDict']]]] ebs_block_devices: One or more configuration blocks with additional EBS block devices to attach to the instance. Block device configurations only apply on resource creation. See Block Devices below for details on attributes and drift detection. When accessing this as an attribute reference, it is a set of objects. :param pulumi.Input[bool] ebs_optimized: If true, the launched EC2 instance will be EBS-optimized. Note that if this is not set on an instance type that is optimized by default then this will show as disabled but if the instance type is optimized by default then there is no need to set this and there is no effect to disabling it. See the [EBS Optimized section](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSOptimized.html) of the AWS User Guide for more information. + :param pulumi.Input[bool] enable_primary_ipv6: Whether to assign a primary IPv6 Global Unicast Address (GUA) to the instance when launched in a dual-stack or IPv6-only subnet. A primary IPv6 address ensures a consistent IPv6 address for the instance and is automatically assigned by AWS to the ENI. Once enabled, the first IPv6 GUA becomes the primary IPv6 address and cannot be disabled. The primary IPv6 address remains until the instance is terminated or the ENI is detached. Disabling `enable_primary_ipv6` after it has been enabled forces recreation of the instance. :param pulumi.Input[Union['InstanceEnclaveOptionsArgs', 'InstanceEnclaveOptionsArgsDict']] enclave_options: Enable Nitro Enclaves on launched instances. See Enclave Options below for more details. :param pulumi.Input[Sequence[pulumi.Input[Union['InstanceEphemeralBlockDeviceArgs', 'InstanceEphemeralBlockDeviceArgsDict']]]] ephemeral_block_devices: One or more configuration blocks to customize Ephemeral (also known as "Instance Store") volumes on the instance. See Block Devices below for details. When accessing this as an attribute reference, it is a set of objects. :param pulumi.Input[bool] get_password_data: If true, wait for password data to become available and retrieve it. Useful for getting the administrator password for instances running Microsoft Windows. The password data is exported to the `password_data` attribute. See [GetPasswordData](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetPasswordData.html) for more information. @@ -2221,6 +2255,7 @@ def _internal_init(__self__, disable_api_termination: Optional[pulumi.Input[bool]] = None, ebs_block_devices: Optional[pulumi.Input[Sequence[pulumi.Input[Union['InstanceEbsBlockDeviceArgs', 'InstanceEbsBlockDeviceArgsDict']]]]] = None, ebs_optimized: Optional[pulumi.Input[bool]] = None, + enable_primary_ipv6: Optional[pulumi.Input[bool]] = None, enclave_options: Optional[pulumi.Input[Union['InstanceEnclaveOptionsArgs', 'InstanceEnclaveOptionsArgsDict']]] = None, ephemeral_block_devices: Optional[pulumi.Input[Sequence[pulumi.Input[Union['InstanceEphemeralBlockDeviceArgs', 'InstanceEphemeralBlockDeviceArgsDict']]]]] = None, get_password_data: Optional[pulumi.Input[bool]] = None, @@ -2276,6 +2311,7 @@ def _internal_init(__self__, __props__.__dict__["disable_api_termination"] = disable_api_termination __props__.__dict__["ebs_block_devices"] = ebs_block_devices __props__.__dict__["ebs_optimized"] = ebs_optimized + __props__.__dict__["enable_primary_ipv6"] = enable_primary_ipv6 __props__.__dict__["enclave_options"] = enclave_options __props__.__dict__["ephemeral_block_devices"] = ephemeral_block_devices __props__.__dict__["get_password_data"] = get_password_data @@ -2344,6 +2380,7 @@ def get(resource_name: str, disable_api_termination: Optional[pulumi.Input[bool]] = None, ebs_block_devices: Optional[pulumi.Input[Sequence[pulumi.Input[Union['InstanceEbsBlockDeviceArgs', 'InstanceEbsBlockDeviceArgsDict']]]]] = None, ebs_optimized: Optional[pulumi.Input[bool]] = None, + enable_primary_ipv6: Optional[pulumi.Input[bool]] = None, enclave_options: Optional[pulumi.Input[Union['InstanceEnclaveOptionsArgs', 'InstanceEnclaveOptionsArgsDict']]] = None, ephemeral_block_devices: Optional[pulumi.Input[Sequence[pulumi.Input[Union['InstanceEphemeralBlockDeviceArgs', 'InstanceEphemeralBlockDeviceArgsDict']]]]] = None, get_password_data: Optional[pulumi.Input[bool]] = None, @@ -2410,6 +2447,7 @@ def get(resource_name: str, :param pulumi.Input[bool] disable_api_termination: If true, enables [EC2 Instance Termination Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/terminating-instances.html#Using_ChangingDisableAPITermination). :param pulumi.Input[Sequence[pulumi.Input[Union['InstanceEbsBlockDeviceArgs', 'InstanceEbsBlockDeviceArgsDict']]]] ebs_block_devices: One or more configuration blocks with additional EBS block devices to attach to the instance. Block device configurations only apply on resource creation. See Block Devices below for details on attributes and drift detection. When accessing this as an attribute reference, it is a set of objects. :param pulumi.Input[bool] ebs_optimized: If true, the launched EC2 instance will be EBS-optimized. Note that if this is not set on an instance type that is optimized by default then this will show as disabled but if the instance type is optimized by default then there is no need to set this and there is no effect to disabling it. See the [EBS Optimized section](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSOptimized.html) of the AWS User Guide for more information. + :param pulumi.Input[bool] enable_primary_ipv6: Whether to assign a primary IPv6 Global Unicast Address (GUA) to the instance when launched in a dual-stack or IPv6-only subnet. A primary IPv6 address ensures a consistent IPv6 address for the instance and is automatically assigned by AWS to the ENI. Once enabled, the first IPv6 GUA becomes the primary IPv6 address and cannot be disabled. The primary IPv6 address remains until the instance is terminated or the ENI is detached. Disabling `enable_primary_ipv6` after it has been enabled forces recreation of the instance. :param pulumi.Input[Union['InstanceEnclaveOptionsArgs', 'InstanceEnclaveOptionsArgsDict']] enclave_options: Enable Nitro Enclaves on launched instances. See Enclave Options below for more details. :param pulumi.Input[Sequence[pulumi.Input[Union['InstanceEphemeralBlockDeviceArgs', 'InstanceEphemeralBlockDeviceArgsDict']]]] ephemeral_block_devices: One or more configuration blocks to customize Ephemeral (also known as "Instance Store") volumes on the instance. See Block Devices below for details. When accessing this as an attribute reference, it is a set of objects. :param pulumi.Input[bool] get_password_data: If true, wait for password data to become available and retrieve it. Useful for getting the administrator password for instances running Microsoft Windows. The password data is exported to the `password_data` attribute. See [GetPasswordData](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetPasswordData.html) for more information. @@ -2476,6 +2514,7 @@ def get(resource_name: str, __props__.__dict__["disable_api_termination"] = disable_api_termination __props__.__dict__["ebs_block_devices"] = ebs_block_devices __props__.__dict__["ebs_optimized"] = ebs_optimized + __props__.__dict__["enable_primary_ipv6"] = enable_primary_ipv6 __props__.__dict__["enclave_options"] = enclave_options __props__.__dict__["ephemeral_block_devices"] = ephemeral_block_devices __props__.__dict__["get_password_data"] = get_password_data @@ -2630,6 +2669,14 @@ def ebs_optimized(self) -> pulumi.Output[bool]: """ return pulumi.get(self, "ebs_optimized") + @property + @pulumi.getter(name="enablePrimaryIpv6") + def enable_primary_ipv6(self) -> pulumi.Output[bool]: + """ + Whether to assign a primary IPv6 Global Unicast Address (GUA) to the instance when launched in a dual-stack or IPv6-only subnet. A primary IPv6 address ensures a consistent IPv6 address for the instance and is automatically assigned by AWS to the ENI. Once enabled, the first IPv6 GUA becomes the primary IPv6 address and cannot be disabled. The primary IPv6 address remains until the instance is terminated or the ENI is detached. Disabling `enable_primary_ipv6` after it has been enabled forces recreation of the instance. + """ + return pulumi.get(self, "enable_primary_ipv6") + @property @pulumi.getter(name="enclaveOptions") def enclave_options(self) -> pulumi.Output['outputs.InstanceEnclaveOptions']: diff --git a/sdk/python/pulumi_aws/ec2/network_interface.py b/sdk/python/pulumi_aws/ec2/network_interface.py index d9bdd76c2b4..62b316275f9 100644 --- a/sdk/python/pulumi_aws/ec2/network_interface.py +++ b/sdk/python/pulumi_aws/ec2/network_interface.py @@ -24,6 +24,7 @@ def __init__(__self__, *, subnet_id: pulumi.Input[str], attachments: Optional[pulumi.Input[Sequence[pulumi.Input['NetworkInterfaceAttachmentArgs']]]] = None, description: Optional[pulumi.Input[str]] = None, + enable_primary_ipv6: Optional[pulumi.Input[bool]] = None, interface_type: Optional[pulumi.Input[str]] = None, ipv4_prefix_count: Optional[pulumi.Input[int]] = None, ipv4_prefixes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, @@ -48,16 +49,17 @@ def __init__(__self__, *, The following arguments are optional: :param pulumi.Input[Sequence[pulumi.Input['NetworkInterfaceAttachmentArgs']]] attachments: Configuration block to define the attachment of the ENI. See Attachment below for more details! :param pulumi.Input[str] description: Description for the network interface. + :param pulumi.Input[bool] enable_primary_ipv6: Enables assigning a primary IPv6 Global Unicast Address (GUA) to the network interface (ENI) in dual-stack or IPv6-only subnets. This ensures the instance attached to the ENI retains a consistent IPv6 address. Once enabled, the first IPv6 GUA becomes the primary IPv6 address and cannot be disabled. The primary IPv6 address remains assigned until the instance is terminated or the ENI is detached. Enabling and subsequent disabling forces recreation of the ENI. :param pulumi.Input[str] interface_type: Type of network interface to create. Set to `efa` for Elastic Fabric Adapter. Changing `interface_type` will cause the resource to be destroyed and re-created. :param pulumi.Input[int] ipv4_prefix_count: Number of IPv4 prefixes that AWS automatically assigns to the network interface. :param pulumi.Input[Sequence[pulumi.Input[str]]] ipv4_prefixes: One or more IPv4 prefixes assigned to the network interface. :param pulumi.Input[int] ipv6_address_count: Number of IPv6 addresses to assign to a network interface. You can't use this option if specifying specific `ipv6_addresses`. If your subnet has the AssignIpv6AddressOnCreation attribute set to `true`, you can specify `0` to override this setting. - :param pulumi.Input[bool] ipv6_address_list_enabled: Whether `ipv6_address_list` is allowed and controls the IPs to assign to the ENI and `ipv6_addresses` and `ipv6_address_count` become read-only. Default false. + :param pulumi.Input[bool] ipv6_address_list_enabled: Whether `ipv6_address_list` is allowed and controls the IPs to assign to the ENI and `ipv6_addresses` and `ipv6_address_count` become read-only. Default is `false`. :param pulumi.Input[Sequence[pulumi.Input[str]]] ipv6_address_lists: List of private IPs to assign to the ENI in sequential order. :param pulumi.Input[Sequence[pulumi.Input[str]]] ipv6_addresses: One or more specific IPv6 addresses from the IPv6 CIDR block range of your subnet. Addresses are assigned without regard to order. You can't use this option if you're specifying `ipv6_address_count`. :param pulumi.Input[int] ipv6_prefix_count: Number of IPv6 prefixes that AWS automatically assigns to the network interface. :param pulumi.Input[Sequence[pulumi.Input[str]]] ipv6_prefixes: One or more IPv6 prefixes assigned to the network interface. - :param pulumi.Input[bool] private_ip_list_enabled: Whether `private_ip_list` is allowed and controls the IPs to assign to the ENI and `private_ips` and `private_ips_count` become read-only. Default false. + :param pulumi.Input[bool] private_ip_list_enabled: Whether `private_ip_list` is allowed and controls the IPs to assign to the ENI and `private_ips` and `private_ips_count` become read-only. Default is `false`. :param pulumi.Input[Sequence[pulumi.Input[str]]] private_ip_lists: List of private IPs to assign to the ENI in sequential order. Requires setting `private_ip_list_enabled` to `true`. :param pulumi.Input[Sequence[pulumi.Input[str]]] private_ips: List of private IPs to assign to the ENI without regard to order. :param pulumi.Input[int] private_ips_count: Number of secondary private IPs to assign to the ENI. The total number of private IPs will be 1 + `private_ips_count`, as a primary private IP will be assiged to an ENI by default. @@ -70,6 +72,8 @@ def __init__(__self__, *, pulumi.set(__self__, "attachments", attachments) if description is not None: pulumi.set(__self__, "description", description) + if enable_primary_ipv6 is not None: + pulumi.set(__self__, "enable_primary_ipv6", enable_primary_ipv6) if interface_type is not None: pulumi.set(__self__, "interface_type", interface_type) if ipv4_prefix_count is not None: @@ -143,6 +147,18 @@ def description(self) -> Optional[pulumi.Input[str]]: def description(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "description", value) + @property + @pulumi.getter(name="enablePrimaryIpv6") + def enable_primary_ipv6(self) -> Optional[pulumi.Input[bool]]: + """ + Enables assigning a primary IPv6 Global Unicast Address (GUA) to the network interface (ENI) in dual-stack or IPv6-only subnets. This ensures the instance attached to the ENI retains a consistent IPv6 address. Once enabled, the first IPv6 GUA becomes the primary IPv6 address and cannot be disabled. The primary IPv6 address remains assigned until the instance is terminated or the ENI is detached. Enabling and subsequent disabling forces recreation of the ENI. + """ + return pulumi.get(self, "enable_primary_ipv6") + + @enable_primary_ipv6.setter + def enable_primary_ipv6(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enable_primary_ipv6", value) + @property @pulumi.getter(name="interfaceType") def interface_type(self) -> Optional[pulumi.Input[str]]: @@ -195,7 +211,7 @@ def ipv6_address_count(self, value: Optional[pulumi.Input[int]]): @pulumi.getter(name="ipv6AddressListEnabled") def ipv6_address_list_enabled(self) -> Optional[pulumi.Input[bool]]: """ - Whether `ipv6_address_list` is allowed and controls the IPs to assign to the ENI and `ipv6_addresses` and `ipv6_address_count` become read-only. Default false. + Whether `ipv6_address_list` is allowed and controls the IPs to assign to the ENI and `ipv6_addresses` and `ipv6_address_count` become read-only. Default is `false`. """ return pulumi.get(self, "ipv6_address_list_enabled") @@ -264,7 +280,7 @@ def private_ip(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="privateIpListEnabled") def private_ip_list_enabled(self) -> Optional[pulumi.Input[bool]]: """ - Whether `private_ip_list` is allowed and controls the IPs to assign to the ENI and `private_ips` and `private_ips_count` become read-only. Default false. + Whether `private_ip_list` is allowed and controls the IPs to assign to the ENI and `private_ips` and `private_ips_count` become read-only. Default is `false`. """ return pulumi.get(self, "private_ip_list_enabled") @@ -351,6 +367,7 @@ def __init__(__self__, *, arn: Optional[pulumi.Input[str]] = None, attachments: Optional[pulumi.Input[Sequence[pulumi.Input['NetworkInterfaceAttachmentArgs']]]] = None, description: Optional[pulumi.Input[str]] = None, + enable_primary_ipv6: Optional[pulumi.Input[bool]] = None, interface_type: Optional[pulumi.Input[str]] = None, ipv4_prefix_count: Optional[pulumi.Input[int]] = None, ipv4_prefixes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, @@ -379,11 +396,12 @@ def __init__(__self__, *, :param pulumi.Input[str] arn: ARN of the network interface. :param pulumi.Input[Sequence[pulumi.Input['NetworkInterfaceAttachmentArgs']]] attachments: Configuration block to define the attachment of the ENI. See Attachment below for more details! :param pulumi.Input[str] description: Description for the network interface. + :param pulumi.Input[bool] enable_primary_ipv6: Enables assigning a primary IPv6 Global Unicast Address (GUA) to the network interface (ENI) in dual-stack or IPv6-only subnets. This ensures the instance attached to the ENI retains a consistent IPv6 address. Once enabled, the first IPv6 GUA becomes the primary IPv6 address and cannot be disabled. The primary IPv6 address remains assigned until the instance is terminated or the ENI is detached. Enabling and subsequent disabling forces recreation of the ENI. :param pulumi.Input[str] interface_type: Type of network interface to create. Set to `efa` for Elastic Fabric Adapter. Changing `interface_type` will cause the resource to be destroyed and re-created. :param pulumi.Input[int] ipv4_prefix_count: Number of IPv4 prefixes that AWS automatically assigns to the network interface. :param pulumi.Input[Sequence[pulumi.Input[str]]] ipv4_prefixes: One or more IPv4 prefixes assigned to the network interface. :param pulumi.Input[int] ipv6_address_count: Number of IPv6 addresses to assign to a network interface. You can't use this option if specifying specific `ipv6_addresses`. If your subnet has the AssignIpv6AddressOnCreation attribute set to `true`, you can specify `0` to override this setting. - :param pulumi.Input[bool] ipv6_address_list_enabled: Whether `ipv6_address_list` is allowed and controls the IPs to assign to the ENI and `ipv6_addresses` and `ipv6_address_count` become read-only. Default false. + :param pulumi.Input[bool] ipv6_address_list_enabled: Whether `ipv6_address_list` is allowed and controls the IPs to assign to the ENI and `ipv6_addresses` and `ipv6_address_count` become read-only. Default is `false`. :param pulumi.Input[Sequence[pulumi.Input[str]]] ipv6_address_lists: List of private IPs to assign to the ENI in sequential order. :param pulumi.Input[Sequence[pulumi.Input[str]]] ipv6_addresses: One or more specific IPv6 addresses from the IPv6 CIDR block range of your subnet. Addresses are assigned without regard to order. You can't use this option if you're specifying `ipv6_address_count`. :param pulumi.Input[int] ipv6_prefix_count: Number of IPv6 prefixes that AWS automatically assigns to the network interface. @@ -391,7 +409,7 @@ def __init__(__self__, *, :param pulumi.Input[str] mac_address: MAC address of the network interface. :param pulumi.Input[str] owner_id: AWS account ID of the owner of the network interface. :param pulumi.Input[str] private_dns_name: Private DNS name of the network interface (IPv4). - :param pulumi.Input[bool] private_ip_list_enabled: Whether `private_ip_list` is allowed and controls the IPs to assign to the ENI and `private_ips` and `private_ips_count` become read-only. Default false. + :param pulumi.Input[bool] private_ip_list_enabled: Whether `private_ip_list` is allowed and controls the IPs to assign to the ENI and `private_ips` and `private_ips_count` become read-only. Default is `false`. :param pulumi.Input[Sequence[pulumi.Input[str]]] private_ip_lists: List of private IPs to assign to the ENI in sequential order. Requires setting `private_ip_list_enabled` to `true`. :param pulumi.Input[Sequence[pulumi.Input[str]]] private_ips: List of private IPs to assign to the ENI without regard to order. :param pulumi.Input[int] private_ips_count: Number of secondary private IPs to assign to the ENI. The total number of private IPs will be 1 + `private_ips_count`, as a primary private IP will be assiged to an ENI by default. @@ -409,6 +427,8 @@ def __init__(__self__, *, pulumi.set(__self__, "attachments", attachments) if description is not None: pulumi.set(__self__, "description", description) + if enable_primary_ipv6 is not None: + pulumi.set(__self__, "enable_primary_ipv6", enable_primary_ipv6) if interface_type is not None: pulumi.set(__self__, "interface_type", interface_type) if ipv4_prefix_count is not None: @@ -495,6 +515,18 @@ def description(self) -> Optional[pulumi.Input[str]]: def description(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "description", value) + @property + @pulumi.getter(name="enablePrimaryIpv6") + def enable_primary_ipv6(self) -> Optional[pulumi.Input[bool]]: + """ + Enables assigning a primary IPv6 Global Unicast Address (GUA) to the network interface (ENI) in dual-stack or IPv6-only subnets. This ensures the instance attached to the ENI retains a consistent IPv6 address. Once enabled, the first IPv6 GUA becomes the primary IPv6 address and cannot be disabled. The primary IPv6 address remains assigned until the instance is terminated or the ENI is detached. Enabling and subsequent disabling forces recreation of the ENI. + """ + return pulumi.get(self, "enable_primary_ipv6") + + @enable_primary_ipv6.setter + def enable_primary_ipv6(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enable_primary_ipv6", value) + @property @pulumi.getter(name="interfaceType") def interface_type(self) -> Optional[pulumi.Input[str]]: @@ -547,7 +579,7 @@ def ipv6_address_count(self, value: Optional[pulumi.Input[int]]): @pulumi.getter(name="ipv6AddressListEnabled") def ipv6_address_list_enabled(self) -> Optional[pulumi.Input[bool]]: """ - Whether `ipv6_address_list` is allowed and controls the IPs to assign to the ENI and `ipv6_addresses` and `ipv6_address_count` become read-only. Default false. + Whether `ipv6_address_list` is allowed and controls the IPs to assign to the ENI and `ipv6_addresses` and `ipv6_address_count` become read-only. Default is `false`. """ return pulumi.get(self, "ipv6_address_list_enabled") @@ -661,7 +693,7 @@ def private_ip(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="privateIpListEnabled") def private_ip_list_enabled(self) -> Optional[pulumi.Input[bool]]: """ - Whether `private_ip_list` is allowed and controls the IPs to assign to the ENI and `private_ips` and `private_ips_count` become read-only. Default false. + Whether `private_ip_list` is allowed and controls the IPs to assign to the ENI and `private_ips` and `private_ips_count` become read-only. Default is `false`. """ return pulumi.get(self, "private_ip_list_enabled") @@ -776,6 +808,7 @@ def __init__(__self__, opts: Optional[pulumi.ResourceOptions] = None, attachments: Optional[pulumi.Input[Sequence[pulumi.Input[Union['NetworkInterfaceAttachmentArgs', 'NetworkInterfaceAttachmentArgsDict']]]]] = None, description: Optional[pulumi.Input[str]] = None, + enable_primary_ipv6: Optional[pulumi.Input[bool]] = None, interface_type: Optional[pulumi.Input[str]] = None, ipv4_prefix_count: Optional[pulumi.Input[int]] = None, ipv4_prefixes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, @@ -843,16 +876,17 @@ def __init__(__self__, :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[Sequence[pulumi.Input[Union['NetworkInterfaceAttachmentArgs', 'NetworkInterfaceAttachmentArgsDict']]]] attachments: Configuration block to define the attachment of the ENI. See Attachment below for more details! :param pulumi.Input[str] description: Description for the network interface. + :param pulumi.Input[bool] enable_primary_ipv6: Enables assigning a primary IPv6 Global Unicast Address (GUA) to the network interface (ENI) in dual-stack or IPv6-only subnets. This ensures the instance attached to the ENI retains a consistent IPv6 address. Once enabled, the first IPv6 GUA becomes the primary IPv6 address and cannot be disabled. The primary IPv6 address remains assigned until the instance is terminated or the ENI is detached. Enabling and subsequent disabling forces recreation of the ENI. :param pulumi.Input[str] interface_type: Type of network interface to create. Set to `efa` for Elastic Fabric Adapter. Changing `interface_type` will cause the resource to be destroyed and re-created. :param pulumi.Input[int] ipv4_prefix_count: Number of IPv4 prefixes that AWS automatically assigns to the network interface. :param pulumi.Input[Sequence[pulumi.Input[str]]] ipv4_prefixes: One or more IPv4 prefixes assigned to the network interface. :param pulumi.Input[int] ipv6_address_count: Number of IPv6 addresses to assign to a network interface. You can't use this option if specifying specific `ipv6_addresses`. If your subnet has the AssignIpv6AddressOnCreation attribute set to `true`, you can specify `0` to override this setting. - :param pulumi.Input[bool] ipv6_address_list_enabled: Whether `ipv6_address_list` is allowed and controls the IPs to assign to the ENI and `ipv6_addresses` and `ipv6_address_count` become read-only. Default false. + :param pulumi.Input[bool] ipv6_address_list_enabled: Whether `ipv6_address_list` is allowed and controls the IPs to assign to the ENI and `ipv6_addresses` and `ipv6_address_count` become read-only. Default is `false`. :param pulumi.Input[Sequence[pulumi.Input[str]]] ipv6_address_lists: List of private IPs to assign to the ENI in sequential order. :param pulumi.Input[Sequence[pulumi.Input[str]]] ipv6_addresses: One or more specific IPv6 addresses from the IPv6 CIDR block range of your subnet. Addresses are assigned without regard to order. You can't use this option if you're specifying `ipv6_address_count`. :param pulumi.Input[int] ipv6_prefix_count: Number of IPv6 prefixes that AWS automatically assigns to the network interface. :param pulumi.Input[Sequence[pulumi.Input[str]]] ipv6_prefixes: One or more IPv6 prefixes assigned to the network interface. - :param pulumi.Input[bool] private_ip_list_enabled: Whether `private_ip_list` is allowed and controls the IPs to assign to the ENI and `private_ips` and `private_ips_count` become read-only. Default false. + :param pulumi.Input[bool] private_ip_list_enabled: Whether `private_ip_list` is allowed and controls the IPs to assign to the ENI and `private_ips` and `private_ips_count` become read-only. Default is `false`. :param pulumi.Input[Sequence[pulumi.Input[str]]] private_ip_lists: List of private IPs to assign to the ENI in sequential order. Requires setting `private_ip_list_enabled` to `true`. :param pulumi.Input[Sequence[pulumi.Input[str]]] private_ips: List of private IPs to assign to the ENI without regard to order. :param pulumi.Input[int] private_ips_count: Number of secondary private IPs to assign to the ENI. The total number of private IPs will be 1 + `private_ips_count`, as a primary private IP will be assiged to an ENI by default. @@ -930,6 +964,7 @@ def _internal_init(__self__, opts: Optional[pulumi.ResourceOptions] = None, attachments: Optional[pulumi.Input[Sequence[pulumi.Input[Union['NetworkInterfaceAttachmentArgs', 'NetworkInterfaceAttachmentArgsDict']]]]] = None, description: Optional[pulumi.Input[str]] = None, + enable_primary_ipv6: Optional[pulumi.Input[bool]] = None, interface_type: Optional[pulumi.Input[str]] = None, ipv4_prefix_count: Optional[pulumi.Input[int]] = None, ipv4_prefixes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, @@ -959,6 +994,7 @@ def _internal_init(__self__, __props__.__dict__["attachments"] = attachments __props__.__dict__["description"] = description + __props__.__dict__["enable_primary_ipv6"] = enable_primary_ipv6 __props__.__dict__["interface_type"] = interface_type __props__.__dict__["ipv4_prefix_count"] = ipv4_prefix_count __props__.__dict__["ipv4_prefixes"] = ipv4_prefixes @@ -998,6 +1034,7 @@ def get(resource_name: str, arn: Optional[pulumi.Input[str]] = None, attachments: Optional[pulumi.Input[Sequence[pulumi.Input[Union['NetworkInterfaceAttachmentArgs', 'NetworkInterfaceAttachmentArgsDict']]]]] = None, description: Optional[pulumi.Input[str]] = None, + enable_primary_ipv6: Optional[pulumi.Input[bool]] = None, interface_type: Optional[pulumi.Input[str]] = None, ipv4_prefix_count: Optional[pulumi.Input[int]] = None, ipv4_prefixes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, @@ -1031,11 +1068,12 @@ def get(resource_name: str, :param pulumi.Input[str] arn: ARN of the network interface. :param pulumi.Input[Sequence[pulumi.Input[Union['NetworkInterfaceAttachmentArgs', 'NetworkInterfaceAttachmentArgsDict']]]] attachments: Configuration block to define the attachment of the ENI. See Attachment below for more details! :param pulumi.Input[str] description: Description for the network interface. + :param pulumi.Input[bool] enable_primary_ipv6: Enables assigning a primary IPv6 Global Unicast Address (GUA) to the network interface (ENI) in dual-stack or IPv6-only subnets. This ensures the instance attached to the ENI retains a consistent IPv6 address. Once enabled, the first IPv6 GUA becomes the primary IPv6 address and cannot be disabled. The primary IPv6 address remains assigned until the instance is terminated or the ENI is detached. Enabling and subsequent disabling forces recreation of the ENI. :param pulumi.Input[str] interface_type: Type of network interface to create. Set to `efa` for Elastic Fabric Adapter. Changing `interface_type` will cause the resource to be destroyed and re-created. :param pulumi.Input[int] ipv4_prefix_count: Number of IPv4 prefixes that AWS automatically assigns to the network interface. :param pulumi.Input[Sequence[pulumi.Input[str]]] ipv4_prefixes: One or more IPv4 prefixes assigned to the network interface. :param pulumi.Input[int] ipv6_address_count: Number of IPv6 addresses to assign to a network interface. You can't use this option if specifying specific `ipv6_addresses`. If your subnet has the AssignIpv6AddressOnCreation attribute set to `true`, you can specify `0` to override this setting. - :param pulumi.Input[bool] ipv6_address_list_enabled: Whether `ipv6_address_list` is allowed and controls the IPs to assign to the ENI and `ipv6_addresses` and `ipv6_address_count` become read-only. Default false. + :param pulumi.Input[bool] ipv6_address_list_enabled: Whether `ipv6_address_list` is allowed and controls the IPs to assign to the ENI and `ipv6_addresses` and `ipv6_address_count` become read-only. Default is `false`. :param pulumi.Input[Sequence[pulumi.Input[str]]] ipv6_address_lists: List of private IPs to assign to the ENI in sequential order. :param pulumi.Input[Sequence[pulumi.Input[str]]] ipv6_addresses: One or more specific IPv6 addresses from the IPv6 CIDR block range of your subnet. Addresses are assigned without regard to order. You can't use this option if you're specifying `ipv6_address_count`. :param pulumi.Input[int] ipv6_prefix_count: Number of IPv6 prefixes that AWS automatically assigns to the network interface. @@ -1043,7 +1081,7 @@ def get(resource_name: str, :param pulumi.Input[str] mac_address: MAC address of the network interface. :param pulumi.Input[str] owner_id: AWS account ID of the owner of the network interface. :param pulumi.Input[str] private_dns_name: Private DNS name of the network interface (IPv4). - :param pulumi.Input[bool] private_ip_list_enabled: Whether `private_ip_list` is allowed and controls the IPs to assign to the ENI and `private_ips` and `private_ips_count` become read-only. Default false. + :param pulumi.Input[bool] private_ip_list_enabled: Whether `private_ip_list` is allowed and controls the IPs to assign to the ENI and `private_ips` and `private_ips_count` become read-only. Default is `false`. :param pulumi.Input[Sequence[pulumi.Input[str]]] private_ip_lists: List of private IPs to assign to the ENI in sequential order. Requires setting `private_ip_list_enabled` to `true`. :param pulumi.Input[Sequence[pulumi.Input[str]]] private_ips: List of private IPs to assign to the ENI without regard to order. :param pulumi.Input[int] private_ips_count: Number of secondary private IPs to assign to the ENI. The total number of private IPs will be 1 + `private_ips_count`, as a primary private IP will be assiged to an ENI by default. @@ -1062,6 +1100,7 @@ def get(resource_name: str, __props__.__dict__["arn"] = arn __props__.__dict__["attachments"] = attachments __props__.__dict__["description"] = description + __props__.__dict__["enable_primary_ipv6"] = enable_primary_ipv6 __props__.__dict__["interface_type"] = interface_type __props__.__dict__["ipv4_prefix_count"] = ipv4_prefix_count __props__.__dict__["ipv4_prefixes"] = ipv4_prefixes @@ -1111,6 +1150,14 @@ def description(self) -> pulumi.Output[Optional[str]]: """ return pulumi.get(self, "description") + @property + @pulumi.getter(name="enablePrimaryIpv6") + def enable_primary_ipv6(self) -> pulumi.Output[bool]: + """ + Enables assigning a primary IPv6 Global Unicast Address (GUA) to the network interface (ENI) in dual-stack or IPv6-only subnets. This ensures the instance attached to the ENI retains a consistent IPv6 address. Once enabled, the first IPv6 GUA becomes the primary IPv6 address and cannot be disabled. The primary IPv6 address remains assigned until the instance is terminated or the ENI is detached. Enabling and subsequent disabling forces recreation of the ENI. + """ + return pulumi.get(self, "enable_primary_ipv6") + @property @pulumi.getter(name="interfaceType") def interface_type(self) -> pulumi.Output[str]: @@ -1147,7 +1194,7 @@ def ipv6_address_count(self) -> pulumi.Output[int]: @pulumi.getter(name="ipv6AddressListEnabled") def ipv6_address_list_enabled(self) -> pulumi.Output[Optional[bool]]: """ - Whether `ipv6_address_list` is allowed and controls the IPs to assign to the ENI and `ipv6_addresses` and `ipv6_address_count` become read-only. Default false. + Whether `ipv6_address_list` is allowed and controls the IPs to assign to the ENI and `ipv6_addresses` and `ipv6_address_count` become read-only. Default is `false`. """ return pulumi.get(self, "ipv6_address_list_enabled") @@ -1221,7 +1268,7 @@ def private_ip(self) -> pulumi.Output[str]: @pulumi.getter(name="privateIpListEnabled") def private_ip_list_enabled(self) -> pulumi.Output[Optional[bool]]: """ - Whether `private_ip_list` is allowed and controls the IPs to assign to the ENI and `private_ips` and `private_ips_count` become read-only. Default false. + Whether `private_ip_list` is allowed and controls the IPs to assign to the ENI and `private_ips` and `private_ips_count` become read-only. Default is `false`. """ return pulumi.get(self, "private_ip_list_enabled") diff --git a/sdk/python/pulumi_aws/ec2/outputs.py b/sdk/python/pulumi_aws/ec2/outputs.py index 35930f7dbae..5ac7e49bbe8 100644 --- a/sdk/python/pulumi_aws/ec2/outputs.py +++ b/sdk/python/pulumi_aws/ec2/outputs.py @@ -6397,11 +6397,8 @@ def __init__(__self__, *, security_groups: Optional[Sequence[str]] = None, subnet_id: Optional[str] = None): """ - :param str associate_carrier_ip_address: Associate a Carrier IP address with `eth0` for a new network interface. - Use this option when you launch an instance in a Wavelength Zone and want to associate a Carrier IP address with the network interface. - Boolean value, can be left unset. - :param str associate_public_ip_address: Associate a public ip address with the network interface. - Boolean value, can be left unset. + :param str associate_carrier_ip_address: Associate a Carrier IP address with `eth0` for a new network interface. Use this option when you launch an instance in a Wavelength Zone and want to associate a Carrier IP address with the network interface. Boolean value, can be left unset. + :param str associate_public_ip_address: Associate a public ip address with the network interface. Boolean value, can be left unset. :param str delete_on_termination: Whether the network interface should be destroyed on instance termination. :param str description: Description of the network interface. :param int device_index: The integer index of the network interface attachment. @@ -6466,9 +6463,7 @@ def __init__(__self__, *, @pulumi.getter(name="associateCarrierIpAddress") def associate_carrier_ip_address(self) -> Optional[str]: """ - Associate a Carrier IP address with `eth0` for a new network interface. - Use this option when you launch an instance in a Wavelength Zone and want to associate a Carrier IP address with the network interface. - Boolean value, can be left unset. + Associate a Carrier IP address with `eth0` for a new network interface. Use this option when you launch an instance in a Wavelength Zone and want to associate a Carrier IP address with the network interface. Boolean value, can be left unset. """ return pulumi.get(self, "associate_carrier_ip_address") @@ -6476,8 +6471,7 @@ def associate_carrier_ip_address(self) -> Optional[str]: @pulumi.getter(name="associatePublicIpAddress") def associate_public_ip_address(self) -> Optional[str]: """ - Associate a public ip address with the network interface. - Boolean value, can be left unset. + Associate a public ip address with the network interface. Boolean value, can be left unset. """ return pulumi.get(self, "associate_public_ip_address") diff --git a/sdk/python/pulumi_aws/ec2/spot_instance_request.py b/sdk/python/pulumi_aws/ec2/spot_instance_request.py index 01abf5dbcf6..93420b33630 100644 --- a/sdk/python/pulumi_aws/ec2/spot_instance_request.py +++ b/sdk/python/pulumi_aws/ec2/spot_instance_request.py @@ -34,6 +34,7 @@ def __init__(__self__, *, disable_api_termination: Optional[pulumi.Input[bool]] = None, ebs_block_devices: Optional[pulumi.Input[Sequence[pulumi.Input['SpotInstanceRequestEbsBlockDeviceArgs']]]] = None, ebs_optimized: Optional[pulumi.Input[bool]] = None, + enable_primary_ipv6: Optional[pulumi.Input[bool]] = None, enclave_options: Optional[pulumi.Input['SpotInstanceRequestEnclaveOptionsArgs']] = None, ephemeral_block_devices: Optional[pulumi.Input[Sequence[pulumi.Input['SpotInstanceRequestEphemeralBlockDeviceArgs']]]] = None, get_password_data: Optional[pulumi.Input[bool]] = None, @@ -93,6 +94,7 @@ def __init__(__self__, *, :param pulumi.Input[bool] disable_api_termination: If true, enables [EC2 Instance Termination Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/terminating-instances.html#Using_ChangingDisableAPITermination). :param pulumi.Input[Sequence[pulumi.Input['SpotInstanceRequestEbsBlockDeviceArgs']]] ebs_block_devices: One or more configuration blocks with additional EBS block devices to attach to the instance. Block device configurations only apply on resource creation. See Block Devices below for details on attributes and drift detection. When accessing this as an attribute reference, it is a set of objects. :param pulumi.Input[bool] ebs_optimized: If true, the launched EC2 instance will be EBS-optimized. Note that if this is not set on an instance type that is optimized by default then this will show as disabled but if the instance type is optimized by default then there is no need to set this and there is no effect to disabling it. See the [EBS Optimized section](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSOptimized.html) of the AWS User Guide for more information. + :param pulumi.Input[bool] enable_primary_ipv6: Whether to assign a primary IPv6 Global Unicast Address (GUA) to the instance when launched in a dual-stack or IPv6-only subnet. A primary IPv6 address ensures a consistent IPv6 address for the instance and is automatically assigned by AWS to the ENI. Once enabled, the first IPv6 GUA becomes the primary IPv6 address and cannot be disabled. The primary IPv6 address remains until the instance is terminated or the ENI is detached. Disabling `enable_primary_ipv6` after it has been enabled forces recreation of the instance. :param pulumi.Input['SpotInstanceRequestEnclaveOptionsArgs'] enclave_options: Enable Nitro Enclaves on launched instances. See Enclave Options below for more details. :param pulumi.Input[Sequence[pulumi.Input['SpotInstanceRequestEphemeralBlockDeviceArgs']]] ephemeral_block_devices: One or more configuration blocks to customize Ephemeral (also known as "Instance Store") volumes on the instance. See Block Devices below for details. When accessing this as an attribute reference, it is a set of objects. :param pulumi.Input[bool] get_password_data: If true, wait for password data to become available and retrieve it. Useful for getting the administrator password for instances running Microsoft Windows. The password data is exported to the `password_data` attribute. See [GetPasswordData](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetPasswordData.html) for more information. @@ -174,6 +176,8 @@ def __init__(__self__, *, pulumi.set(__self__, "ebs_block_devices", ebs_block_devices) if ebs_optimized is not None: pulumi.set(__self__, "ebs_optimized", ebs_optimized) + if enable_primary_ipv6 is not None: + pulumi.set(__self__, "enable_primary_ipv6", enable_primary_ipv6) if enclave_options is not None: pulumi.set(__self__, "enclave_options", enclave_options) if ephemeral_block_devices is not None: @@ -417,6 +421,18 @@ def ebs_optimized(self) -> Optional[pulumi.Input[bool]]: def ebs_optimized(self, value: Optional[pulumi.Input[bool]]): pulumi.set(self, "ebs_optimized", value) + @property + @pulumi.getter(name="enablePrimaryIpv6") + def enable_primary_ipv6(self) -> Optional[pulumi.Input[bool]]: + """ + Whether to assign a primary IPv6 Global Unicast Address (GUA) to the instance when launched in a dual-stack or IPv6-only subnet. A primary IPv6 address ensures a consistent IPv6 address for the instance and is automatically assigned by AWS to the ENI. Once enabled, the first IPv6 GUA becomes the primary IPv6 address and cannot be disabled. The primary IPv6 address remains until the instance is terminated or the ENI is detached. Disabling `enable_primary_ipv6` after it has been enabled forces recreation of the instance. + """ + return pulumi.get(self, "enable_primary_ipv6") + + @enable_primary_ipv6.setter + def enable_primary_ipv6(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enable_primary_ipv6", value) + @property @pulumi.getter(name="enclaveOptions") def enclave_options(self) -> Optional[pulumi.Input['SpotInstanceRequestEnclaveOptionsArgs']]: @@ -923,6 +939,7 @@ def __init__(__self__, *, disable_api_termination: Optional[pulumi.Input[bool]] = None, ebs_block_devices: Optional[pulumi.Input[Sequence[pulumi.Input['SpotInstanceRequestEbsBlockDeviceArgs']]]] = None, ebs_optimized: Optional[pulumi.Input[bool]] = None, + enable_primary_ipv6: Optional[pulumi.Input[bool]] = None, enclave_options: Optional[pulumi.Input['SpotInstanceRequestEnclaveOptionsArgs']] = None, ephemeral_block_devices: Optional[pulumi.Input[Sequence[pulumi.Input['SpotInstanceRequestEphemeralBlockDeviceArgs']]]] = None, get_password_data: Optional[pulumi.Input[bool]] = None, @@ -993,6 +1010,7 @@ def __init__(__self__, *, :param pulumi.Input[bool] disable_api_termination: If true, enables [EC2 Instance Termination Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/terminating-instances.html#Using_ChangingDisableAPITermination). :param pulumi.Input[Sequence[pulumi.Input['SpotInstanceRequestEbsBlockDeviceArgs']]] ebs_block_devices: One or more configuration blocks with additional EBS block devices to attach to the instance. Block device configurations only apply on resource creation. See Block Devices below for details on attributes and drift detection. When accessing this as an attribute reference, it is a set of objects. :param pulumi.Input[bool] ebs_optimized: If true, the launched EC2 instance will be EBS-optimized. Note that if this is not set on an instance type that is optimized by default then this will show as disabled but if the instance type is optimized by default then there is no need to set this and there is no effect to disabling it. See the [EBS Optimized section](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSOptimized.html) of the AWS User Guide for more information. + :param pulumi.Input[bool] enable_primary_ipv6: Whether to assign a primary IPv6 Global Unicast Address (GUA) to the instance when launched in a dual-stack or IPv6-only subnet. A primary IPv6 address ensures a consistent IPv6 address for the instance and is automatically assigned by AWS to the ENI. Once enabled, the first IPv6 GUA becomes the primary IPv6 address and cannot be disabled. The primary IPv6 address remains until the instance is terminated or the ENI is detached. Disabling `enable_primary_ipv6` after it has been enabled forces recreation of the instance. :param pulumi.Input['SpotInstanceRequestEnclaveOptionsArgs'] enclave_options: Enable Nitro Enclaves on launched instances. See Enclave Options below for more details. :param pulumi.Input[Sequence[pulumi.Input['SpotInstanceRequestEphemeralBlockDeviceArgs']]] ephemeral_block_devices: One or more configuration blocks to customize Ephemeral (also known as "Instance Store") volumes on the instance. See Block Devices below for details. When accessing this as an attribute reference, it is a set of objects. :param pulumi.Input[bool] get_password_data: If true, wait for password data to become available and retrieve it. Useful for getting the administrator password for instances running Microsoft Windows. The password data is exported to the `password_data` attribute. See [GetPasswordData](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetPasswordData.html) for more information. @@ -1091,6 +1109,8 @@ def __init__(__self__, *, pulumi.set(__self__, "ebs_block_devices", ebs_block_devices) if ebs_optimized is not None: pulumi.set(__self__, "ebs_optimized", ebs_optimized) + if enable_primary_ipv6 is not None: + pulumi.set(__self__, "enable_primary_ipv6", enable_primary_ipv6) if enclave_options is not None: pulumi.set(__self__, "enclave_options", enclave_options) if ephemeral_block_devices is not None: @@ -1368,6 +1388,18 @@ def ebs_optimized(self) -> Optional[pulumi.Input[bool]]: def ebs_optimized(self, value: Optional[pulumi.Input[bool]]): pulumi.set(self, "ebs_optimized", value) + @property + @pulumi.getter(name="enablePrimaryIpv6") + def enable_primary_ipv6(self) -> Optional[pulumi.Input[bool]]: + """ + Whether to assign a primary IPv6 Global Unicast Address (GUA) to the instance when launched in a dual-stack or IPv6-only subnet. A primary IPv6 address ensures a consistent IPv6 address for the instance and is automatically assigned by AWS to the ENI. Once enabled, the first IPv6 GUA becomes the primary IPv6 address and cannot be disabled. The primary IPv6 address remains until the instance is terminated or the ENI is detached. Disabling `enable_primary_ipv6` after it has been enabled forces recreation of the instance. + """ + return pulumi.get(self, "enable_primary_ipv6") + + @enable_primary_ipv6.setter + def enable_primary_ipv6(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enable_primary_ipv6", value) + @property @pulumi.getter(name="enclaveOptions") def enclave_options(self) -> Optional[pulumi.Input['SpotInstanceRequestEnclaveOptionsArgs']]: @@ -2004,6 +2036,7 @@ def __init__(__self__, disable_api_termination: Optional[pulumi.Input[bool]] = None, ebs_block_devices: Optional[pulumi.Input[Sequence[pulumi.Input[Union['SpotInstanceRequestEbsBlockDeviceArgs', 'SpotInstanceRequestEbsBlockDeviceArgsDict']]]]] = None, ebs_optimized: Optional[pulumi.Input[bool]] = None, + enable_primary_ipv6: Optional[pulumi.Input[bool]] = None, enclave_options: Optional[pulumi.Input[Union['SpotInstanceRequestEnclaveOptionsArgs', 'SpotInstanceRequestEnclaveOptionsArgsDict']]] = None, ephemeral_block_devices: Optional[pulumi.Input[Sequence[pulumi.Input[Union['SpotInstanceRequestEphemeralBlockDeviceArgs', 'SpotInstanceRequestEphemeralBlockDeviceArgsDict']]]]] = None, get_password_data: Optional[pulumi.Input[bool]] = None, @@ -2107,6 +2140,7 @@ def __init__(__self__, :param pulumi.Input[bool] disable_api_termination: If true, enables [EC2 Instance Termination Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/terminating-instances.html#Using_ChangingDisableAPITermination). :param pulumi.Input[Sequence[pulumi.Input[Union['SpotInstanceRequestEbsBlockDeviceArgs', 'SpotInstanceRequestEbsBlockDeviceArgsDict']]]] ebs_block_devices: One or more configuration blocks with additional EBS block devices to attach to the instance. Block device configurations only apply on resource creation. See Block Devices below for details on attributes and drift detection. When accessing this as an attribute reference, it is a set of objects. :param pulumi.Input[bool] ebs_optimized: If true, the launched EC2 instance will be EBS-optimized. Note that if this is not set on an instance type that is optimized by default then this will show as disabled but if the instance type is optimized by default then there is no need to set this and there is no effect to disabling it. See the [EBS Optimized section](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSOptimized.html) of the AWS User Guide for more information. + :param pulumi.Input[bool] enable_primary_ipv6: Whether to assign a primary IPv6 Global Unicast Address (GUA) to the instance when launched in a dual-stack or IPv6-only subnet. A primary IPv6 address ensures a consistent IPv6 address for the instance and is automatically assigned by AWS to the ENI. Once enabled, the first IPv6 GUA becomes the primary IPv6 address and cannot be disabled. The primary IPv6 address remains until the instance is terminated or the ENI is detached. Disabling `enable_primary_ipv6` after it has been enabled forces recreation of the instance. :param pulumi.Input[Union['SpotInstanceRequestEnclaveOptionsArgs', 'SpotInstanceRequestEnclaveOptionsArgsDict']] enclave_options: Enable Nitro Enclaves on launched instances. See Enclave Options below for more details. :param pulumi.Input[Sequence[pulumi.Input[Union['SpotInstanceRequestEphemeralBlockDeviceArgs', 'SpotInstanceRequestEphemeralBlockDeviceArgsDict']]]] ephemeral_block_devices: One or more configuration blocks to customize Ephemeral (also known as "Instance Store") volumes on the instance. See Block Devices below for details. When accessing this as an attribute reference, it is a set of objects. :param pulumi.Input[bool] get_password_data: If true, wait for password data to become available and retrieve it. Useful for getting the administrator password for instances running Microsoft Windows. The password data is exported to the `password_data` attribute. See [GetPasswordData](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetPasswordData.html) for more information. @@ -2233,6 +2267,7 @@ def _internal_init(__self__, disable_api_termination: Optional[pulumi.Input[bool]] = None, ebs_block_devices: Optional[pulumi.Input[Sequence[pulumi.Input[Union['SpotInstanceRequestEbsBlockDeviceArgs', 'SpotInstanceRequestEbsBlockDeviceArgsDict']]]]] = None, ebs_optimized: Optional[pulumi.Input[bool]] = None, + enable_primary_ipv6: Optional[pulumi.Input[bool]] = None, enclave_options: Optional[pulumi.Input[Union['SpotInstanceRequestEnclaveOptionsArgs', 'SpotInstanceRequestEnclaveOptionsArgsDict']]] = None, ephemeral_block_devices: Optional[pulumi.Input[Sequence[pulumi.Input[Union['SpotInstanceRequestEphemeralBlockDeviceArgs', 'SpotInstanceRequestEphemeralBlockDeviceArgsDict']]]]] = None, get_password_data: Optional[pulumi.Input[bool]] = None, @@ -2295,6 +2330,7 @@ def _internal_init(__self__, __props__.__dict__["disable_api_termination"] = disable_api_termination __props__.__dict__["ebs_block_devices"] = ebs_block_devices __props__.__dict__["ebs_optimized"] = ebs_optimized + __props__.__dict__["enable_primary_ipv6"] = enable_primary_ipv6 __props__.__dict__["enclave_options"] = enclave_options __props__.__dict__["ephemeral_block_devices"] = ephemeral_block_devices __props__.__dict__["get_password_data"] = get_password_data @@ -2371,6 +2407,7 @@ def get(resource_name: str, disable_api_termination: Optional[pulumi.Input[bool]] = None, ebs_block_devices: Optional[pulumi.Input[Sequence[pulumi.Input[Union['SpotInstanceRequestEbsBlockDeviceArgs', 'SpotInstanceRequestEbsBlockDeviceArgsDict']]]]] = None, ebs_optimized: Optional[pulumi.Input[bool]] = None, + enable_primary_ipv6: Optional[pulumi.Input[bool]] = None, enclave_options: Optional[pulumi.Input[Union['SpotInstanceRequestEnclaveOptionsArgs', 'SpotInstanceRequestEnclaveOptionsArgsDict']]] = None, ephemeral_block_devices: Optional[pulumi.Input[Sequence[pulumi.Input[Union['SpotInstanceRequestEphemeralBlockDeviceArgs', 'SpotInstanceRequestEphemeralBlockDeviceArgsDict']]]]] = None, get_password_data: Optional[pulumi.Input[bool]] = None, @@ -2446,6 +2483,7 @@ def get(resource_name: str, :param pulumi.Input[bool] disable_api_termination: If true, enables [EC2 Instance Termination Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/terminating-instances.html#Using_ChangingDisableAPITermination). :param pulumi.Input[Sequence[pulumi.Input[Union['SpotInstanceRequestEbsBlockDeviceArgs', 'SpotInstanceRequestEbsBlockDeviceArgsDict']]]] ebs_block_devices: One or more configuration blocks with additional EBS block devices to attach to the instance. Block device configurations only apply on resource creation. See Block Devices below for details on attributes and drift detection. When accessing this as an attribute reference, it is a set of objects. :param pulumi.Input[bool] ebs_optimized: If true, the launched EC2 instance will be EBS-optimized. Note that if this is not set on an instance type that is optimized by default then this will show as disabled but if the instance type is optimized by default then there is no need to set this and there is no effect to disabling it. See the [EBS Optimized section](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSOptimized.html) of the AWS User Guide for more information. + :param pulumi.Input[bool] enable_primary_ipv6: Whether to assign a primary IPv6 Global Unicast Address (GUA) to the instance when launched in a dual-stack or IPv6-only subnet. A primary IPv6 address ensures a consistent IPv6 address for the instance and is automatically assigned by AWS to the ENI. Once enabled, the first IPv6 GUA becomes the primary IPv6 address and cannot be disabled. The primary IPv6 address remains until the instance is terminated or the ENI is detached. Disabling `enable_primary_ipv6` after it has been enabled forces recreation of the instance. :param pulumi.Input[Union['SpotInstanceRequestEnclaveOptionsArgs', 'SpotInstanceRequestEnclaveOptionsArgsDict']] enclave_options: Enable Nitro Enclaves on launched instances. See Enclave Options below for more details. :param pulumi.Input[Sequence[pulumi.Input[Union['SpotInstanceRequestEphemeralBlockDeviceArgs', 'SpotInstanceRequestEphemeralBlockDeviceArgsDict']]]] ephemeral_block_devices: One or more configuration blocks to customize Ephemeral (also known as "Instance Store") volumes on the instance. See Block Devices below for details. When accessing this as an attribute reference, it is a set of objects. :param pulumi.Input[bool] get_password_data: If true, wait for password data to become available and retrieve it. Useful for getting the administrator password for instances running Microsoft Windows. The password data is exported to the `password_data` attribute. See [GetPasswordData](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetPasswordData.html) for more information. @@ -2528,6 +2566,7 @@ def get(resource_name: str, __props__.__dict__["disable_api_termination"] = disable_api_termination __props__.__dict__["ebs_block_devices"] = ebs_block_devices __props__.__dict__["ebs_optimized"] = ebs_optimized + __props__.__dict__["enable_primary_ipv6"] = enable_primary_ipv6 __props__.__dict__["enclave_options"] = enclave_options __props__.__dict__["ephemeral_block_devices"] = ephemeral_block_devices __props__.__dict__["get_password_data"] = get_password_data @@ -2696,6 +2735,14 @@ def ebs_optimized(self) -> pulumi.Output[bool]: """ return pulumi.get(self, "ebs_optimized") + @property + @pulumi.getter(name="enablePrimaryIpv6") + def enable_primary_ipv6(self) -> pulumi.Output[bool]: + """ + Whether to assign a primary IPv6 Global Unicast Address (GUA) to the instance when launched in a dual-stack or IPv6-only subnet. A primary IPv6 address ensures a consistent IPv6 address for the instance and is automatically assigned by AWS to the ENI. Once enabled, the first IPv6 GUA becomes the primary IPv6 address and cannot be disabled. The primary IPv6 address remains until the instance is terminated or the ENI is detached. Disabling `enable_primary_ipv6` after it has been enabled forces recreation of the instance. + """ + return pulumi.get(self, "enable_primary_ipv6") + @property @pulumi.getter(name="enclaveOptions") def enclave_options(self) -> pulumi.Output['outputs.SpotInstanceRequestEnclaveOptions']: diff --git a/sdk/python/pulumi_aws/ecr/__init__.py b/sdk/python/pulumi_aws/ecr/__init__.py index a0d84b86d19..a3305824bf3 100644 --- a/sdk/python/pulumi_aws/ecr/__init__.py +++ b/sdk/python/pulumi_aws/ecr/__init__.py @@ -5,6 +5,7 @@ from .. import _utilities import typing # Export this package's modules as members: +from .account_setting import * from .get_authorization_token import * from .get_credentials import * from .get_image import * diff --git a/sdk/python/pulumi_aws/ecr/account_setting.py b/sdk/python/pulumi_aws/ecr/account_setting.py new file mode 100644 index 00000000000..648ca4c7ad8 --- /dev/null +++ b/sdk/python/pulumi_aws/ecr/account_setting.py @@ -0,0 +1,236 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import sys +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias +from .. import _utilities + +__all__ = ['AccountSettingArgs', 'AccountSetting'] + +@pulumi.input_type +class AccountSettingArgs: + def __init__(__self__, *, + value: pulumi.Input[str], + name: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a AccountSetting resource. + :param pulumi.Input[str] value: The value of the ECR Scan Type. This can be `AWS_NATIVE` or `CLAIR`. + :param pulumi.Input[str] name: The name of the ECR Scan Type. This should be `BASIC_SCAN_TYPE_VERSION`. + """ + pulumi.set(__self__, "value", value) + if name is not None: + pulumi.set(__self__, "name", name) + + @property + @pulumi.getter + def value(self) -> pulumi.Input[str]: + """ + The value of the ECR Scan Type. This can be `AWS_NATIVE` or `CLAIR`. + """ + return pulumi.get(self, "value") + + @value.setter + def value(self, value: pulumi.Input[str]): + pulumi.set(self, "value", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + The name of the ECR Scan Type. This should be `BASIC_SCAN_TYPE_VERSION`. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + +@pulumi.input_type +class _AccountSettingState: + def __init__(__self__, *, + name: Optional[pulumi.Input[str]] = None, + value: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering AccountSetting resources. + :param pulumi.Input[str] name: The name of the ECR Scan Type. This should be `BASIC_SCAN_TYPE_VERSION`. + :param pulumi.Input[str] value: The value of the ECR Scan Type. This can be `AWS_NATIVE` or `CLAIR`. + """ + if name is not None: + pulumi.set(__self__, "name", name) + if value is not None: + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + The name of the ECR Scan Type. This should be `BASIC_SCAN_TYPE_VERSION`. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def value(self) -> Optional[pulumi.Input[str]]: + """ + The value of the ECR Scan Type. This can be `AWS_NATIVE` or `CLAIR`. + """ + return pulumi.get(self, "value") + + @value.setter + def value(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "value", value) + + +class AccountSetting(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + name: Optional[pulumi.Input[str]] = None, + value: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Provides a resource to manage AWS ECR Basic Scan Type + + ## Example Usage + + ```python + import pulumi + import pulumi_aws as aws + + foo = aws.ecr.AccountSetting("foo", + name="BASIC_SCAN_TYPE_VERSION", + value="CLAIR") + ``` + + ## Import + + Using `pulumi import`, import EMR Security Configurations using the `name`. For example: + + ```sh + $ pulumi import aws:ecr/accountSetting:AccountSetting foo BASIC_SCAN_TYPE_VERSION + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] name: The name of the ECR Scan Type. This should be `BASIC_SCAN_TYPE_VERSION`. + :param pulumi.Input[str] value: The value of the ECR Scan Type. This can be `AWS_NATIVE` or `CLAIR`. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: AccountSettingArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Provides a resource to manage AWS ECR Basic Scan Type + + ## Example Usage + + ```python + import pulumi + import pulumi_aws as aws + + foo = aws.ecr.AccountSetting("foo", + name="BASIC_SCAN_TYPE_VERSION", + value="CLAIR") + ``` + + ## Import + + Using `pulumi import`, import EMR Security Configurations using the `name`. For example: + + ```sh + $ pulumi import aws:ecr/accountSetting:AccountSetting foo BASIC_SCAN_TYPE_VERSION + ``` + + :param str resource_name: The name of the resource. + :param AccountSettingArgs 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(AccountSettingArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + name: Optional[pulumi.Input[str]] = None, + value: 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__ = AccountSettingArgs.__new__(AccountSettingArgs) + + __props__.__dict__["name"] = name + if value is None and not opts.urn: + raise TypeError("Missing required property 'value'") + __props__.__dict__["value"] = value + super(AccountSetting, __self__).__init__( + 'aws:ecr/accountSetting:AccountSetting', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + name: Optional[pulumi.Input[str]] = None, + value: Optional[pulumi.Input[str]] = None) -> 'AccountSetting': + """ + Get an existing AccountSetting 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] name: The name of the ECR Scan Type. This should be `BASIC_SCAN_TYPE_VERSION`. + :param pulumi.Input[str] value: The value of the ECR Scan Type. This can be `AWS_NATIVE` or `CLAIR`. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _AccountSettingState.__new__(_AccountSettingState) + + __props__.__dict__["name"] = name + __props__.__dict__["value"] = value + return AccountSetting(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + The name of the ECR Scan Type. This should be `BASIC_SCAN_TYPE_VERSION`. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def value(self) -> pulumi.Output[str]: + """ + The value of the ECR Scan Type. This can be `AWS_NATIVE` or `CLAIR`. + """ + return pulumi.get(self, "value") + diff --git a/sdk/python/pulumi_aws/ecs/_inputs.py b/sdk/python/pulumi_aws/ecs/_inputs.py index 63cd32819df..16563a813a0 100644 --- a/sdk/python/pulumi_aws/ecs/_inputs.py +++ b/sdk/python/pulumi_aws/ecs/_inputs.py @@ -736,7 +736,7 @@ class ClusterSettingArgsDict(TypedDict): """ value: pulumi.Input[str] """ - Value to assign to the setting. Valid values: `enabled`, `disabled`. + Value to assign to the setting. Valid values: `enhanced`, `enabled`, `disabled`. """ elif False: ClusterSettingArgsDict: TypeAlias = Mapping[str, Any] @@ -748,7 +748,7 @@ def __init__(__self__, *, value: pulumi.Input[str]): """ :param pulumi.Input[str] name: Name of the setting to manage. Valid values: `containerInsights`. - :param pulumi.Input[str] value: Value to assign to the setting. Valid values: `enabled`, `disabled`. + :param pulumi.Input[str] value: Value to assign to the setting. Valid values: `enhanced`, `enabled`, `disabled`. """ pulumi.set(__self__, "name", name) pulumi.set(__self__, "value", value) @@ -769,7 +769,7 @@ def name(self, value: pulumi.Input[str]): @pulumi.getter def value(self) -> pulumi.Input[str]: """ - Value to assign to the setting. Valid values: `enabled`, `disabled`. + Value to assign to the setting. Valid values: `enhanced`, `enabled`, `disabled`. """ return pulumi.get(self, "value") diff --git a/sdk/python/pulumi_aws/ecs/outputs.py b/sdk/python/pulumi_aws/ecs/outputs.py index 69fc054c142..644a0a5c261 100644 --- a/sdk/python/pulumi_aws/ecs/outputs.py +++ b/sdk/python/pulumi_aws/ecs/outputs.py @@ -584,7 +584,7 @@ def __init__(__self__, *, value: str): """ :param str name: Name of the setting to manage. Valid values: `containerInsights`. - :param str value: Value to assign to the setting. Valid values: `enabled`, `disabled`. + :param str value: Value to assign to the setting. Valid values: `enhanced`, `enabled`, `disabled`. """ pulumi.set(__self__, "name", name) pulumi.set(__self__, "value", value) @@ -601,7 +601,7 @@ def name(self) -> str: @pulumi.getter def value(self) -> str: """ - Value to assign to the setting. Valid values: `enabled`, `disabled`. + Value to assign to the setting. Valid values: `enhanced`, `enabled`, `disabled`. """ return pulumi.get(self, "value") diff --git a/sdk/python/pulumi_aws/eks/access_policy_association.py b/sdk/python/pulumi_aws/eks/access_policy_association.py index 4d954b1af47..d47a49856d9 100644 --- a/sdk/python/pulumi_aws/eks/access_policy_association.py +++ b/sdk/python/pulumi_aws/eks/access_policy_association.py @@ -221,7 +221,7 @@ def __init__(__self__, ## Import - Using `pulumi import`, import EKS access entry using the `cluster_name` `principal_arn` and `policy_arn` separated by a colon (`#`). For example: + Using `pulumi import`, import EKS access entry using the `cluster_name` `principal_arn` and `policy_arn` separated by an octothorp (`#`). For example: ```sh $ pulumi import aws:eks/accessPolicyAssociation:AccessPolicyAssociation my_eks_access_entry my_cluster_name#my_principal_arn#my_policy_arn @@ -261,7 +261,7 @@ def __init__(__self__, ## Import - Using `pulumi import`, import EKS access entry using the `cluster_name` `principal_arn` and `policy_arn` separated by a colon (`#`). For example: + Using `pulumi import`, import EKS access entry using the `cluster_name` `principal_arn` and `policy_arn` separated by an octothorp (`#`). For example: ```sh $ pulumi import aws:eks/accessPolicyAssociation:AccessPolicyAssociation my_eks_access_entry my_cluster_name#my_principal_arn#my_policy_arn diff --git a/sdk/python/pulumi_aws/fsx/windows_file_system.py b/sdk/python/pulumi_aws/fsx/windows_file_system.py index c31ca0c0933..7e4f57db35a 100644 --- a/sdk/python/pulumi_aws/fsx/windows_file_system.py +++ b/sdk/python/pulumi_aws/fsx/windows_file_system.py @@ -45,7 +45,7 @@ def __init__(__self__, *, """ The set of arguments for constructing a WindowsFileSystem resource. :param pulumi.Input[Sequence[pulumi.Input[str]]] subnet_ids: A list of IDs for the subnets that the file system will be accessible from. To specify more than a single subnet set `deployment_type` to `MULTI_AZ_1`. - :param pulumi.Input[int] throughput_capacity: Throughput (megabytes per second) of the file system in power of 2 increments. Minimum of `8` and maximum of `2048`. + :param pulumi.Input[int] throughput_capacity: Throughput (megabytes per second) of the file system. For valid values, refer to the [AWS documentation](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/performance.html). 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`. @@ -125,7 +125,7 @@ def subnet_ids(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): @pulumi.getter(name="throughputCapacity") def throughput_capacity(self) -> pulumi.Input[int]: """ - Throughput (megabytes per second) of the file system in power of 2 increments. Minimum of `8` and maximum of `2048`. + Throughput (megabytes per second) of the file system. For valid values, refer to the [AWS documentation](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/performance.html). The following arguments are optional: """ @@ -424,7 +424,7 @@ def __init__(__self__, *, :param pulumi.Input[Sequence[pulumi.Input[str]]] subnet_ids: A list of IDs for the subnets that the file system will be accessible from. To specify more than a single subnet set `deployment_type` to `MULTI_AZ_1`. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the file system. .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[int] throughput_capacity: Throughput (megabytes per second) of the file system in power of 2 increments. Minimum of `8` and maximum of `2048`. + :param pulumi.Input[int] throughput_capacity: Throughput (megabytes per second) of the file system. For valid values, refer to the [AWS documentation](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/performance.html). The following arguments are optional: :param pulumi.Input[str] vpc_id: Identifier of the Virtual Private Cloud for the file system. @@ -809,7 +809,7 @@ def tags_all(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]] @pulumi.getter(name="throughputCapacity") def throughput_capacity(self) -> Optional[pulumi.Input[int]]: """ - Throughput (megabytes per second) of the file system in power of 2 increments. Minimum of `8` and maximum of `2048`. + Throughput (megabytes per second) of the file system. For valid values, refer to the [AWS documentation](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/performance.html). The following arguments are optional: """ @@ -948,7 +948,7 @@ def __init__(__self__, :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`. :param pulumi.Input[Sequence[pulumi.Input[str]]] subnet_ids: A list of IDs for the subnets that the file system will be accessible from. To specify more than a single subnet set `deployment_type` to `MULTI_AZ_1`. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the file system. .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[int] throughput_capacity: Throughput (megabytes per second) of the file system in power of 2 increments. Minimum of `8` and maximum of `2048`. + :param pulumi.Input[int] throughput_capacity: Throughput (megabytes per second) of the file system. For valid values, refer to the [AWS documentation](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/performance.html). The following arguments are optional: :param pulumi.Input[str] weekly_maintenance_start_time: The preferred start time (in `d:HH:MM` format) to perform weekly maintenance, in the UTC time zone. @@ -1165,7 +1165,7 @@ def get(resource_name: str, :param pulumi.Input[Sequence[pulumi.Input[str]]] subnet_ids: A list of IDs for the subnets that the file system will be accessible from. To specify more than a single subnet set `deployment_type` to `MULTI_AZ_1`. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the file system. .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[int] throughput_capacity: Throughput (megabytes per second) of the file system in power of 2 increments. Minimum of `8` and maximum of `2048`. + :param pulumi.Input[int] throughput_capacity: Throughput (megabytes per second) of the file system. For valid values, refer to the [AWS documentation](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/performance.html). The following arguments are optional: :param pulumi.Input[str] vpc_id: Identifier of the Virtual Private Cloud for the file system. @@ -1419,7 +1419,7 @@ def tags_all(self) -> pulumi.Output[Mapping[str, str]]: @pulumi.getter(name="throughputCapacity") def throughput_capacity(self) -> pulumi.Output[int]: """ - Throughput (megabytes per second) of the file system in power of 2 increments. Minimum of `8` and maximum of `2048`. + Throughput (megabytes per second) of the file system. For valid values, refer to the [AWS documentation](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/performance.html). The following arguments are optional: """ diff --git a/sdk/python/pulumi_aws/glue/_inputs.py b/sdk/python/pulumi_aws/glue/_inputs.py index be5ba3ef55a..28d559f99ed 100644 --- a/sdk/python/pulumi_aws/glue/_inputs.py +++ b/sdk/python/pulumi_aws/glue/_inputs.py @@ -29,6 +29,14 @@ 'CatalogTableOpenTableFormatInputIcebergInputArgsDict', 'CatalogTableOptimizerConfigurationArgs', 'CatalogTableOptimizerConfigurationArgsDict', + 'CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationArgs', + 'CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationArgsDict', + 'CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationArgs', + 'CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationArgsDict', + 'CatalogTableOptimizerConfigurationRetentionConfigurationArgs', + 'CatalogTableOptimizerConfigurationRetentionConfigurationArgsDict', + 'CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationArgs', + 'CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationArgsDict', 'CatalogTablePartitionIndexArgs', 'CatalogTablePartitionIndexArgsDict', 'CatalogTablePartitionKeyArgs', @@ -445,6 +453,14 @@ class CatalogTableOptimizerConfigurationArgsDict(TypedDict): """ The ARN of the IAM role to use for the table optimizer. """ + orphan_file_deletion_configuration: NotRequired[pulumi.Input['CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationArgsDict']] + """ + The configuration block for an orphan file deletion optimizer. See Orphan File Deletion Configuration for additional details. + """ + retention_configuration: NotRequired[pulumi.Input['CatalogTableOptimizerConfigurationRetentionConfigurationArgsDict']] + """ + The configuration block for a snapshot retention optimizer. See Retention Configuration for additional details. + """ elif False: CatalogTableOptimizerConfigurationArgsDict: TypeAlias = Mapping[str, Any] @@ -452,13 +468,21 @@ class CatalogTableOptimizerConfigurationArgsDict(TypedDict): class CatalogTableOptimizerConfigurationArgs: def __init__(__self__, *, enabled: pulumi.Input[bool], - role_arn: pulumi.Input[str]): + role_arn: pulumi.Input[str], + orphan_file_deletion_configuration: Optional[pulumi.Input['CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationArgs']] = None, + retention_configuration: Optional[pulumi.Input['CatalogTableOptimizerConfigurationRetentionConfigurationArgs']] = None): """ :param pulumi.Input[bool] enabled: Indicates whether the table optimizer is enabled. :param pulumi.Input[str] role_arn: The ARN of the IAM role to use for the table optimizer. + :param pulumi.Input['CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationArgs'] orphan_file_deletion_configuration: The configuration block for an orphan file deletion optimizer. See Orphan File Deletion Configuration for additional details. + :param pulumi.Input['CatalogTableOptimizerConfigurationRetentionConfigurationArgs'] retention_configuration: The configuration block for a snapshot retention optimizer. See Retention Configuration for additional details. """ pulumi.set(__self__, "enabled", enabled) pulumi.set(__self__, "role_arn", role_arn) + if orphan_file_deletion_configuration is not None: + pulumi.set(__self__, "orphan_file_deletion_configuration", orphan_file_deletion_configuration) + if retention_configuration is not None: + pulumi.set(__self__, "retention_configuration", retention_configuration) @property @pulumi.getter @@ -484,6 +508,218 @@ def role_arn(self) -> pulumi.Input[str]: def role_arn(self, value: pulumi.Input[str]): pulumi.set(self, "role_arn", value) + @property + @pulumi.getter(name="orphanFileDeletionConfiguration") + def orphan_file_deletion_configuration(self) -> Optional[pulumi.Input['CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationArgs']]: + """ + The configuration block for an orphan file deletion optimizer. See Orphan File Deletion Configuration for additional details. + """ + return pulumi.get(self, "orphan_file_deletion_configuration") + + @orphan_file_deletion_configuration.setter + def orphan_file_deletion_configuration(self, value: Optional[pulumi.Input['CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationArgs']]): + pulumi.set(self, "orphan_file_deletion_configuration", value) + + @property + @pulumi.getter(name="retentionConfiguration") + def retention_configuration(self) -> Optional[pulumi.Input['CatalogTableOptimizerConfigurationRetentionConfigurationArgs']]: + """ + The configuration block for a snapshot retention optimizer. See Retention Configuration for additional details. + """ + return pulumi.get(self, "retention_configuration") + + @retention_configuration.setter + def retention_configuration(self, value: Optional[pulumi.Input['CatalogTableOptimizerConfigurationRetentionConfigurationArgs']]): + pulumi.set(self, "retention_configuration", value) + + +if not MYPY: + class CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationArgsDict(TypedDict): + iceberg_configuration: NotRequired[pulumi.Input['CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationArgsDict']] + """ + The configuration for an Iceberg orphan file deletion optimizer. + """ +elif False: + CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationArgs: + def __init__(__self__, *, + iceberg_configuration: Optional[pulumi.Input['CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationArgs']] = None): + """ + :param pulumi.Input['CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationArgs'] iceberg_configuration: The configuration for an Iceberg orphan file deletion optimizer. + """ + if iceberg_configuration is not None: + pulumi.set(__self__, "iceberg_configuration", iceberg_configuration) + + @property + @pulumi.getter(name="icebergConfiguration") + def iceberg_configuration(self) -> Optional[pulumi.Input['CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationArgs']]: + """ + The configuration for an Iceberg orphan file deletion optimizer. + """ + return pulumi.get(self, "iceberg_configuration") + + @iceberg_configuration.setter + def iceberg_configuration(self, value: Optional[pulumi.Input['CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationArgs']]): + pulumi.set(self, "iceberg_configuration", value) + + +if not MYPY: + class CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationArgsDict(TypedDict): + location: NotRequired[pulumi.Input[str]] + """ + Specifies a directory in which to look for files. You may choose a sub-directory rather than the top-level table location. Defaults to the table's location. + """ + orphan_file_retention_period_in_days: NotRequired[pulumi.Input[float]] + """ + The number of days that orphan files should be retained before file deletion. Defaults to `3`. + """ +elif False: + CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationArgs: + def __init__(__self__, *, + location: Optional[pulumi.Input[str]] = None, + orphan_file_retention_period_in_days: Optional[pulumi.Input[float]] = None): + """ + :param pulumi.Input[str] location: Specifies a directory in which to look for files. You may choose a sub-directory rather than the top-level table location. Defaults to the table's location. + :param pulumi.Input[float] orphan_file_retention_period_in_days: The number of days that orphan files should be retained before file deletion. Defaults to `3`. + """ + if location is not None: + pulumi.set(__self__, "location", location) + if orphan_file_retention_period_in_days is not None: + pulumi.set(__self__, "orphan_file_retention_period_in_days", orphan_file_retention_period_in_days) + + @property + @pulumi.getter + def location(self) -> Optional[pulumi.Input[str]]: + """ + Specifies a directory in which to look for files. You may choose a sub-directory rather than the top-level table location. Defaults to the table's location. + """ + return pulumi.get(self, "location") + + @location.setter + def location(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "location", value) + + @property + @pulumi.getter(name="orphanFileRetentionPeriodInDays") + def orphan_file_retention_period_in_days(self) -> Optional[pulumi.Input[float]]: + """ + The number of days that orphan files should be retained before file deletion. Defaults to `3`. + """ + return pulumi.get(self, "orphan_file_retention_period_in_days") + + @orphan_file_retention_period_in_days.setter + def orphan_file_retention_period_in_days(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "orphan_file_retention_period_in_days", value) + + +if not MYPY: + class CatalogTableOptimizerConfigurationRetentionConfigurationArgsDict(TypedDict): + iceberg_configuration: NotRequired[pulumi.Input['CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationArgsDict']] + """ + The configuration for an Iceberg snapshot retention optimizer. + """ +elif False: + CatalogTableOptimizerConfigurationRetentionConfigurationArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class CatalogTableOptimizerConfigurationRetentionConfigurationArgs: + def __init__(__self__, *, + iceberg_configuration: Optional[pulumi.Input['CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationArgs']] = None): + """ + :param pulumi.Input['CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationArgs'] iceberg_configuration: The configuration for an Iceberg snapshot retention optimizer. + """ + if iceberg_configuration is not None: + pulumi.set(__self__, "iceberg_configuration", iceberg_configuration) + + @property + @pulumi.getter(name="icebergConfiguration") + def iceberg_configuration(self) -> Optional[pulumi.Input['CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationArgs']]: + """ + The configuration for an Iceberg snapshot retention optimizer. + """ + return pulumi.get(self, "iceberg_configuration") + + @iceberg_configuration.setter + def iceberg_configuration(self, value: Optional[pulumi.Input['CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationArgs']]): + pulumi.set(self, "iceberg_configuration", value) + + +if not MYPY: + class CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationArgsDict(TypedDict): + clean_expired_files: NotRequired[pulumi.Input[bool]] + """ + If set to `false`, snapshots are only deleted from table metadata, and the underlying data and metadata files are not deleted. Defaults to `false`. + """ + number_of_snapshots_to_retain: NotRequired[pulumi.Input[float]] + """ + The number of Iceberg snapshots to retain within the retention period. Defaults to `1` or the corresponding Iceberg table configuration field if it exists. + """ + snapshot_retention_period_in_days: NotRequired[pulumi.Input[float]] + """ + The number of days to retain the Iceberg snapshots. Defaults to `5`, or the corresponding Iceberg table configuration field if it exists. + """ +elif False: + CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationArgs: + def __init__(__self__, *, + clean_expired_files: Optional[pulumi.Input[bool]] = None, + number_of_snapshots_to_retain: Optional[pulumi.Input[float]] = None, + snapshot_retention_period_in_days: Optional[pulumi.Input[float]] = None): + """ + :param pulumi.Input[bool] clean_expired_files: If set to `false`, snapshots are only deleted from table metadata, and the underlying data and metadata files are not deleted. Defaults to `false`. + :param pulumi.Input[float] number_of_snapshots_to_retain: The number of Iceberg snapshots to retain within the retention period. Defaults to `1` or the corresponding Iceberg table configuration field if it exists. + :param pulumi.Input[float] snapshot_retention_period_in_days: The number of days to retain the Iceberg snapshots. Defaults to `5`, or the corresponding Iceberg table configuration field if it exists. + """ + if clean_expired_files is not None: + pulumi.set(__self__, "clean_expired_files", clean_expired_files) + if number_of_snapshots_to_retain is not None: + pulumi.set(__self__, "number_of_snapshots_to_retain", number_of_snapshots_to_retain) + if snapshot_retention_period_in_days is not None: + pulumi.set(__self__, "snapshot_retention_period_in_days", snapshot_retention_period_in_days) + + @property + @pulumi.getter(name="cleanExpiredFiles") + def clean_expired_files(self) -> Optional[pulumi.Input[bool]]: + """ + If set to `false`, snapshots are only deleted from table metadata, and the underlying data and metadata files are not deleted. Defaults to `false`. + """ + return pulumi.get(self, "clean_expired_files") + + @clean_expired_files.setter + def clean_expired_files(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "clean_expired_files", value) + + @property + @pulumi.getter(name="numberOfSnapshotsToRetain") + def number_of_snapshots_to_retain(self) -> Optional[pulumi.Input[float]]: + """ + The number of Iceberg snapshots to retain within the retention period. Defaults to `1` or the corresponding Iceberg table configuration field if it exists. + """ + return pulumi.get(self, "number_of_snapshots_to_retain") + + @number_of_snapshots_to_retain.setter + def number_of_snapshots_to_retain(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "number_of_snapshots_to_retain", value) + + @property + @pulumi.getter(name="snapshotRetentionPeriodInDays") + def snapshot_retention_period_in_days(self) -> Optional[pulumi.Input[float]]: + """ + The number of days to retain the Iceberg snapshots. Defaults to `5`, or the corresponding Iceberg table configuration field if it exists. + """ + return pulumi.get(self, "snapshot_retention_period_in_days") + + @snapshot_retention_period_in_days.setter + def snapshot_retention_period_in_days(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "snapshot_retention_period_in_days", value) + if not MYPY: class CatalogTablePartitionIndexArgsDict(TypedDict): diff --git a/sdk/python/pulumi_aws/glue/catalog_table_optimizer.py b/sdk/python/pulumi_aws/glue/catalog_table_optimizer.py index e388cc53f09..70360ca2081 100644 --- a/sdk/python/pulumi_aws/glue/catalog_table_optimizer.py +++ b/sdk/python/pulumi_aws/glue/catalog_table_optimizer.py @@ -31,8 +31,8 @@ def __init__(__self__, *, :param pulumi.Input[str] catalog_id: The Catalog ID of the table. :param pulumi.Input[str] database_name: The name of the database in the catalog in which the table resides. :param pulumi.Input[str] table_name: The name of the table. - :param pulumi.Input[str] type: The type of table optimizer. Currently, the only valid value is compaction. - :param pulumi.Input['CatalogTableOptimizerConfigurationArgs'] configuration: A configuration block that defines the table optimizer settings. The block contains: + :param pulumi.Input[str] type: The type of table optimizer. Valid values are `compaction`, `retention`, and `orphan_file_deletion`. + :param pulumi.Input['CatalogTableOptimizerConfigurationArgs'] configuration: A configuration block that defines the table optimizer settings. See Configuration for additional details. """ pulumi.set(__self__, "catalog_id", catalog_id) pulumi.set(__self__, "database_name", database_name) @@ -81,7 +81,7 @@ def table_name(self, value: pulumi.Input[str]): @pulumi.getter def type(self) -> pulumi.Input[str]: """ - The type of table optimizer. Currently, the only valid value is compaction. + The type of table optimizer. Valid values are `compaction`, `retention`, and `orphan_file_deletion`. """ return pulumi.get(self, "type") @@ -93,7 +93,7 @@ def type(self, value: pulumi.Input[str]): @pulumi.getter def configuration(self) -> Optional[pulumi.Input['CatalogTableOptimizerConfigurationArgs']]: """ - A configuration block that defines the table optimizer settings. The block contains: + A configuration block that defines the table optimizer settings. See Configuration for additional details. """ return pulumi.get(self, "configuration") @@ -113,10 +113,10 @@ def __init__(__self__, *, """ Input properties used for looking up and filtering CatalogTableOptimizer resources. :param pulumi.Input[str] catalog_id: The Catalog ID of the table. - :param pulumi.Input['CatalogTableOptimizerConfigurationArgs'] configuration: A configuration block that defines the table optimizer settings. The block contains: + :param pulumi.Input['CatalogTableOptimizerConfigurationArgs'] configuration: A configuration block that defines the table optimizer settings. See Configuration for additional details. :param pulumi.Input[str] database_name: The name of the database in the catalog in which the table resides. :param pulumi.Input[str] table_name: The name of the table. - :param pulumi.Input[str] type: The type of table optimizer. Currently, the only valid value is compaction. + :param pulumi.Input[str] type: The type of table optimizer. Valid values are `compaction`, `retention`, and `orphan_file_deletion`. """ if catalog_id is not None: pulumi.set(__self__, "catalog_id", catalog_id) @@ -145,7 +145,7 @@ def catalog_id(self, value: Optional[pulumi.Input[str]]): @pulumi.getter def configuration(self) -> Optional[pulumi.Input['CatalogTableOptimizerConfigurationArgs']]: """ - A configuration block that defines the table optimizer settings. The block contains: + A configuration block that defines the table optimizer settings. See Configuration for additional details. """ return pulumi.get(self, "configuration") @@ -181,7 +181,7 @@ def table_name(self, value: Optional[pulumi.Input[str]]): @pulumi.getter def type(self) -> Optional[pulumi.Input[str]]: """ - The type of table optimizer. Currently, the only valid value is compaction. + The type of table optimizer. Valid values are `compaction`, `retention`, and `orphan_file_deletion`. """ return pulumi.get(self, "type") @@ -206,7 +206,7 @@ def __init__(__self__, ## Example Usage - ### Basic Usage + ### Compaction Optimizer ```python import pulumi @@ -223,6 +223,53 @@ def __init__(__self__, type="compaction") ``` + ### Snapshot Retention Optimizer + + ```python + import pulumi + import pulumi_aws as aws + + example = aws.glue.CatalogTableOptimizer("example", + catalog_id="123456789012", + database_name="example_database", + table_name="example_table", + configuration={ + "role_arn": "arn:aws:iam::123456789012:role/example-role", + "enabled": True, + "retention_configuration": { + "iceberg_configuration": { + "snapshot_retention_period_in_days": 7, + "number_of_snapshots_to_retain": 3, + "clean_expired_files": True, + }, + }, + }, + type="retention") + ``` + + ### Orphan File Deletion Optimizer + + ```python + import pulumi + import pulumi_aws as aws + + example = aws.glue.CatalogTableOptimizer("example", + catalog_id="123456789012", + database_name="example_database", + table_name="example_table", + configuration={ + "role_arn": "arn:aws:iam::123456789012:role/example-role", + "enabled": True, + "orphan_file_deletion_configuration": { + "iceberg_configuration": { + "orphan_file_retention_period_in_days": 7, + "location": "s3://example-bucket/example_table/", + }, + }, + }, + type="orphan_file_deletion") + ``` + ## Import Using `pulumi import`, import Glue Catalog Table Optimizer using the `catalog_id,database_name,table_name,type`. For example: @@ -234,10 +281,10 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] catalog_id: The Catalog ID of the table. - :param pulumi.Input[Union['CatalogTableOptimizerConfigurationArgs', 'CatalogTableOptimizerConfigurationArgsDict']] configuration: A configuration block that defines the table optimizer settings. The block contains: + :param pulumi.Input[Union['CatalogTableOptimizerConfigurationArgs', 'CatalogTableOptimizerConfigurationArgsDict']] configuration: A configuration block that defines the table optimizer settings. See Configuration for additional details. :param pulumi.Input[str] database_name: The name of the database in the catalog in which the table resides. :param pulumi.Input[str] table_name: The name of the table. - :param pulumi.Input[str] type: The type of table optimizer. Currently, the only valid value is compaction. + :param pulumi.Input[str] type: The type of table optimizer. Valid values are `compaction`, `retention`, and `orphan_file_deletion`. """ ... @overload @@ -250,7 +297,7 @@ def __init__(__self__, ## Example Usage - ### Basic Usage + ### Compaction Optimizer ```python import pulumi @@ -267,6 +314,53 @@ def __init__(__self__, type="compaction") ``` + ### Snapshot Retention Optimizer + + ```python + import pulumi + import pulumi_aws as aws + + example = aws.glue.CatalogTableOptimizer("example", + catalog_id="123456789012", + database_name="example_database", + table_name="example_table", + configuration={ + "role_arn": "arn:aws:iam::123456789012:role/example-role", + "enabled": True, + "retention_configuration": { + "iceberg_configuration": { + "snapshot_retention_period_in_days": 7, + "number_of_snapshots_to_retain": 3, + "clean_expired_files": True, + }, + }, + }, + type="retention") + ``` + + ### Orphan File Deletion Optimizer + + ```python + import pulumi + import pulumi_aws as aws + + example = aws.glue.CatalogTableOptimizer("example", + catalog_id="123456789012", + database_name="example_database", + table_name="example_table", + configuration={ + "role_arn": "arn:aws:iam::123456789012:role/example-role", + "enabled": True, + "orphan_file_deletion_configuration": { + "iceberg_configuration": { + "orphan_file_retention_period_in_days": 7, + "location": "s3://example-bucket/example_table/", + }, + }, + }, + type="orphan_file_deletion") + ``` + ## Import Using `pulumi import`, import Glue Catalog Table Optimizer using the `catalog_id,database_name,table_name,type`. For example: @@ -340,10 +434,10 @@ 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] catalog_id: The Catalog ID of the table. - :param pulumi.Input[Union['CatalogTableOptimizerConfigurationArgs', 'CatalogTableOptimizerConfigurationArgsDict']] configuration: A configuration block that defines the table optimizer settings. The block contains: + :param pulumi.Input[Union['CatalogTableOptimizerConfigurationArgs', 'CatalogTableOptimizerConfigurationArgsDict']] configuration: A configuration block that defines the table optimizer settings. See Configuration for additional details. :param pulumi.Input[str] database_name: The name of the database in the catalog in which the table resides. :param pulumi.Input[str] table_name: The name of the table. - :param pulumi.Input[str] type: The type of table optimizer. Currently, the only valid value is compaction. + :param pulumi.Input[str] type: The type of table optimizer. Valid values are `compaction`, `retention`, and `orphan_file_deletion`. """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) @@ -368,7 +462,7 @@ def catalog_id(self) -> pulumi.Output[str]: @pulumi.getter def configuration(self) -> pulumi.Output[Optional['outputs.CatalogTableOptimizerConfiguration']]: """ - A configuration block that defines the table optimizer settings. The block contains: + A configuration block that defines the table optimizer settings. See Configuration for additional details. """ return pulumi.get(self, "configuration") @@ -392,7 +486,7 @@ def table_name(self) -> pulumi.Output[str]: @pulumi.getter def type(self) -> pulumi.Output[str]: """ - The type of table optimizer. Currently, the only valid value is compaction. + The type of table optimizer. Valid values are `compaction`, `retention`, and `orphan_file_deletion`. """ return pulumi.get(self, "type") diff --git a/sdk/python/pulumi_aws/glue/outputs.py b/sdk/python/pulumi_aws/glue/outputs.py index 631e65928e2..b86fb521713 100644 --- a/sdk/python/pulumi_aws/glue/outputs.py +++ b/sdk/python/pulumi_aws/glue/outputs.py @@ -23,6 +23,10 @@ 'CatalogTableOpenTableFormatInput', 'CatalogTableOpenTableFormatInputIcebergInput', 'CatalogTableOptimizerConfiguration', + 'CatalogTableOptimizerConfigurationOrphanFileDeletionConfiguration', + 'CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfiguration', + 'CatalogTableOptimizerConfigurationRetentionConfiguration', + 'CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfiguration', 'CatalogTablePartitionIndex', 'CatalogTablePartitionKey', 'CatalogTableStorageDescriptor', @@ -360,6 +364,10 @@ def __key_warning(key: str): suggest = None if key == "roleArn": suggest = "role_arn" + elif key == "orphanFileDeletionConfiguration": + suggest = "orphan_file_deletion_configuration" + elif key == "retentionConfiguration": + suggest = "retention_configuration" if suggest: pulumi.log.warn(f"Key '{key}' not found in CatalogTableOptimizerConfiguration. Access the value via the '{suggest}' property getter instead.") @@ -374,13 +382,21 @@ def get(self, key: str, default = None) -> Any: def __init__(__self__, *, enabled: bool, - role_arn: str): + role_arn: str, + orphan_file_deletion_configuration: Optional['outputs.CatalogTableOptimizerConfigurationOrphanFileDeletionConfiguration'] = None, + retention_configuration: Optional['outputs.CatalogTableOptimizerConfigurationRetentionConfiguration'] = None): """ :param bool enabled: Indicates whether the table optimizer is enabled. :param str role_arn: The ARN of the IAM role to use for the table optimizer. + :param 'CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationArgs' orphan_file_deletion_configuration: The configuration block for an orphan file deletion optimizer. See Orphan File Deletion Configuration for additional details. + :param 'CatalogTableOptimizerConfigurationRetentionConfigurationArgs' retention_configuration: The configuration block for a snapshot retention optimizer. See Retention Configuration for additional details. """ pulumi.set(__self__, "enabled", enabled) pulumi.set(__self__, "role_arn", role_arn) + if orphan_file_deletion_configuration is not None: + pulumi.set(__self__, "orphan_file_deletion_configuration", orphan_file_deletion_configuration) + if retention_configuration is not None: + pulumi.set(__self__, "retention_configuration", retention_configuration) @property @pulumi.getter @@ -398,6 +414,206 @@ def role_arn(self) -> str: """ return pulumi.get(self, "role_arn") + @property + @pulumi.getter(name="orphanFileDeletionConfiguration") + def orphan_file_deletion_configuration(self) -> Optional['outputs.CatalogTableOptimizerConfigurationOrphanFileDeletionConfiguration']: + """ + The configuration block for an orphan file deletion optimizer. See Orphan File Deletion Configuration for additional details. + """ + return pulumi.get(self, "orphan_file_deletion_configuration") + + @property + @pulumi.getter(name="retentionConfiguration") + def retention_configuration(self) -> Optional['outputs.CatalogTableOptimizerConfigurationRetentionConfiguration']: + """ + The configuration block for a snapshot retention optimizer. See Retention Configuration for additional details. + """ + return pulumi.get(self, "retention_configuration") + + +@pulumi.output_type +class CatalogTableOptimizerConfigurationOrphanFileDeletionConfiguration(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "icebergConfiguration": + suggest = "iceberg_configuration" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in CatalogTableOptimizerConfigurationOrphanFileDeletionConfiguration. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + CatalogTableOptimizerConfigurationOrphanFileDeletionConfiguration.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + CatalogTableOptimizerConfigurationOrphanFileDeletionConfiguration.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + iceberg_configuration: Optional['outputs.CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfiguration'] = None): + """ + :param 'CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfigurationArgs' iceberg_configuration: The configuration for an Iceberg orphan file deletion optimizer. + """ + if iceberg_configuration is not None: + pulumi.set(__self__, "iceberg_configuration", iceberg_configuration) + + @property + @pulumi.getter(name="icebergConfiguration") + def iceberg_configuration(self) -> Optional['outputs.CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfiguration']: + """ + The configuration for an Iceberg orphan file deletion optimizer. + """ + return pulumi.get(self, "iceberg_configuration") + + +@pulumi.output_type +class CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfiguration(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "orphanFileRetentionPeriodInDays": + suggest = "orphan_file_retention_period_in_days" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfiguration. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfiguration.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + CatalogTableOptimizerConfigurationOrphanFileDeletionConfigurationIcebergConfiguration.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + location: Optional[str] = None, + orphan_file_retention_period_in_days: Optional[float] = None): + """ + :param str location: Specifies a directory in which to look for files. You may choose a sub-directory rather than the top-level table location. Defaults to the table's location. + :param float orphan_file_retention_period_in_days: The number of days that orphan files should be retained before file deletion. Defaults to `3`. + """ + if location is not None: + pulumi.set(__self__, "location", location) + if orphan_file_retention_period_in_days is not None: + pulumi.set(__self__, "orphan_file_retention_period_in_days", orphan_file_retention_period_in_days) + + @property + @pulumi.getter + def location(self) -> Optional[str]: + """ + Specifies a directory in which to look for files. You may choose a sub-directory rather than the top-level table location. Defaults to the table's location. + """ + return pulumi.get(self, "location") + + @property + @pulumi.getter(name="orphanFileRetentionPeriodInDays") + def orphan_file_retention_period_in_days(self) -> Optional[float]: + """ + The number of days that orphan files should be retained before file deletion. Defaults to `3`. + """ + return pulumi.get(self, "orphan_file_retention_period_in_days") + + +@pulumi.output_type +class CatalogTableOptimizerConfigurationRetentionConfiguration(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "icebergConfiguration": + suggest = "iceberg_configuration" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in CatalogTableOptimizerConfigurationRetentionConfiguration. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + CatalogTableOptimizerConfigurationRetentionConfiguration.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + CatalogTableOptimizerConfigurationRetentionConfiguration.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + iceberg_configuration: Optional['outputs.CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfiguration'] = None): + """ + :param 'CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfigurationArgs' iceberg_configuration: The configuration for an Iceberg snapshot retention optimizer. + """ + if iceberg_configuration is not None: + pulumi.set(__self__, "iceberg_configuration", iceberg_configuration) + + @property + @pulumi.getter(name="icebergConfiguration") + def iceberg_configuration(self) -> Optional['outputs.CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfiguration']: + """ + The configuration for an Iceberg snapshot retention optimizer. + """ + return pulumi.get(self, "iceberg_configuration") + + +@pulumi.output_type +class CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfiguration(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "cleanExpiredFiles": + suggest = "clean_expired_files" + elif key == "numberOfSnapshotsToRetain": + suggest = "number_of_snapshots_to_retain" + elif key == "snapshotRetentionPeriodInDays": + suggest = "snapshot_retention_period_in_days" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfiguration. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfiguration.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + CatalogTableOptimizerConfigurationRetentionConfigurationIcebergConfiguration.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + clean_expired_files: Optional[bool] = None, + number_of_snapshots_to_retain: Optional[float] = None, + snapshot_retention_period_in_days: Optional[float] = None): + """ + :param bool clean_expired_files: If set to `false`, snapshots are only deleted from table metadata, and the underlying data and metadata files are not deleted. Defaults to `false`. + :param float number_of_snapshots_to_retain: The number of Iceberg snapshots to retain within the retention period. Defaults to `1` or the corresponding Iceberg table configuration field if it exists. + :param float snapshot_retention_period_in_days: The number of days to retain the Iceberg snapshots. Defaults to `5`, or the corresponding Iceberg table configuration field if it exists. + """ + if clean_expired_files is not None: + pulumi.set(__self__, "clean_expired_files", clean_expired_files) + if number_of_snapshots_to_retain is not None: + pulumi.set(__self__, "number_of_snapshots_to_retain", number_of_snapshots_to_retain) + if snapshot_retention_period_in_days is not None: + pulumi.set(__self__, "snapshot_retention_period_in_days", snapshot_retention_period_in_days) + + @property + @pulumi.getter(name="cleanExpiredFiles") + def clean_expired_files(self) -> Optional[bool]: + """ + If set to `false`, snapshots are only deleted from table metadata, and the underlying data and metadata files are not deleted. Defaults to `false`. + """ + return pulumi.get(self, "clean_expired_files") + + @property + @pulumi.getter(name="numberOfSnapshotsToRetain") + def number_of_snapshots_to_retain(self) -> Optional[float]: + """ + The number of Iceberg snapshots to retain within the retention period. Defaults to `1` or the corresponding Iceberg table configuration field if it exists. + """ + return pulumi.get(self, "number_of_snapshots_to_retain") + + @property + @pulumi.getter(name="snapshotRetentionPeriodInDays") + def snapshot_retention_period_in_days(self) -> Optional[float]: + """ + The number of days to retain the Iceberg snapshots. Defaults to `5`, or the corresponding Iceberg table configuration field if it exists. + """ + return pulumi.get(self, "snapshot_retention_period_in_days") + @pulumi.output_type class CatalogTablePartitionIndex(dict): diff --git a/sdk/python/pulumi_aws/iam/open_id_connect_provider.py b/sdk/python/pulumi_aws/iam/open_id_connect_provider.py index 2ab86c042dd..847c28464b8 100644 --- a/sdk/python/pulumi_aws/iam/open_id_connect_provider.py +++ b/sdk/python/pulumi_aws/iam/open_id_connect_provider.py @@ -20,27 +20,27 @@ class OpenIdConnectProviderArgs: def __init__(__self__, *, client_id_lists: pulumi.Input[Sequence[pulumi.Input[str]]], - thumbprint_lists: pulumi.Input[Sequence[pulumi.Input[str]]], url: pulumi.Input[str], - tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + thumbprint_lists: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): """ The set of arguments for constructing a OpenIdConnectProvider resource. - :param pulumi.Input[Sequence[pulumi.Input[str]]] client_id_lists: A list of client IDs (also known as audiences). When a mobile or web app registers with an OpenID Connect provider, they establish a value that identifies the application. (This is the value that's sent as the client_id parameter on OAuth requests.) - :param pulumi.Input[Sequence[pulumi.Input[str]]] thumbprint_lists: A list of server certificate thumbprints for the OpenID Connect (OIDC) identity provider's server certificate(s). - :param pulumi.Input[str] url: The URL of the identity provider. Corresponds to the _iss_ claim. + :param pulumi.Input[Sequence[pulumi.Input[str]]] client_id_lists: List of client IDs (audiences) that identify the application registered with the OpenID Connect provider. This is the value sent as the `client_id` parameter in OAuth requests. + :param pulumi.Input[str] url: URL of the identity provider, corresponding to the `iss` claim. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Map of resource tags for the IAM OIDC provider. 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__, "client_id_lists", client_id_lists) - pulumi.set(__self__, "thumbprint_lists", thumbprint_lists) pulumi.set(__self__, "url", url) if tags is not None: pulumi.set(__self__, "tags", tags) + if thumbprint_lists is not None: + pulumi.set(__self__, "thumbprint_lists", thumbprint_lists) @property @pulumi.getter(name="clientIdLists") def client_id_lists(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: """ - A list of client IDs (also known as audiences). When a mobile or web app registers with an OpenID Connect provider, they establish a value that identifies the application. (This is the value that's sent as the client_id parameter on OAuth requests.) + List of client IDs (audiences) that identify the application registered with the OpenID Connect provider. This is the value sent as the `client_id` parameter in OAuth requests. """ return pulumi.get(self, "client_id_lists") @@ -48,23 +48,11 @@ def client_id_lists(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: def client_id_lists(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): pulumi.set(self, "client_id_lists", value) - @property - @pulumi.getter(name="thumbprintLists") - def thumbprint_lists(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: - """ - A list of server certificate thumbprints for the OpenID Connect (OIDC) identity provider's server certificate(s). - """ - return pulumi.get(self, "thumbprint_lists") - - @thumbprint_lists.setter - def thumbprint_lists(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): - pulumi.set(self, "thumbprint_lists", value) - @property @pulumi.getter def url(self) -> pulumi.Input[str]: """ - The URL of the identity provider. Corresponds to the _iss_ claim. + URL of the identity provider, corresponding to the `iss` claim. """ return pulumi.get(self, "url") @@ -84,6 +72,15 @@ 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="thumbprintLists") + def thumbprint_lists(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + return pulumi.get(self, "thumbprint_lists") + + @thumbprint_lists.setter + def thumbprint_lists(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "thumbprint_lists", value) + @pulumi.input_type class _OpenIdConnectProviderState: @@ -96,12 +93,11 @@ def __init__(__self__, *, url: Optional[pulumi.Input[str]] = None): """ Input properties used for looking up and filtering OpenIdConnectProvider resources. - :param pulumi.Input[str] arn: The ARN assigned by AWS for this provider. - :param pulumi.Input[Sequence[pulumi.Input[str]]] client_id_lists: A list of client IDs (also known as audiences). When a mobile or web app registers with an OpenID Connect provider, they establish a value that identifies the application. (This is the value that's sent as the client_id parameter on OAuth requests.) + :param pulumi.Input[str] arn: ARN assigned by AWS for this provider. + :param pulumi.Input[Sequence[pulumi.Input[str]]] client_id_lists: List of client IDs (audiences) that identify the application registered with the OpenID Connect provider. This is the value sent as the `client_id` parameter in OAuth requests. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Map of resource tags for the IAM OIDC provider. 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[str]]] thumbprint_lists: A list of server certificate thumbprints for the OpenID Connect (OIDC) identity provider's server certificate(s). - :param pulumi.Input[str] url: The URL of the identity provider. Corresponds to the _iss_ claim. + :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] url: URL of the identity provider, corresponding to the `iss` claim. """ if arn is not None: pulumi.set(__self__, "arn", arn) @@ -123,7 +119,7 @@ def __init__(__self__, *, @pulumi.getter def arn(self) -> Optional[pulumi.Input[str]]: """ - The ARN assigned by AWS for this provider. + ARN assigned by AWS for this provider. """ return pulumi.get(self, "arn") @@ -135,7 +131,7 @@ def arn(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="clientIdLists") def client_id_lists(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: """ - A list of client IDs (also known as audiences). When a mobile or web app registers with an OpenID Connect provider, they establish a value that identifies the application. (This is the value that's sent as the client_id parameter on OAuth requests.) + List of client IDs (audiences) that identify the application registered with the OpenID Connect provider. This is the value sent as the `client_id` parameter in OAuth requests. """ return pulumi.get(self, "client_id_lists") @@ -160,7 +156,7 @@ def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): @_utilities.deprecated("""Please use `tags` instead.""") def tags_all(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: """ - A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. """ return pulumi.get(self, "tags_all") @@ -171,9 +167,6 @@ def tags_all(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]] @property @pulumi.getter(name="thumbprintLists") def thumbprint_lists(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: - """ - A list of server certificate thumbprints for the OpenID Connect (OIDC) identity provider's server certificate(s). - """ return pulumi.get(self, "thumbprint_lists") @thumbprint_lists.setter @@ -184,7 +177,7 @@ def thumbprint_lists(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[st @pulumi.getter def url(self) -> Optional[pulumi.Input[str]]: """ - The URL of the identity provider. Corresponds to the _iss_ claim. + URL of the identity provider, corresponding to the `iss` claim. """ return pulumi.get(self, "url") @@ -208,6 +201,8 @@ def __init__(__self__, ## Example Usage + ### Basic Usage + ```python import pulumi import pulumi_aws as aws @@ -218,6 +213,17 @@ def __init__(__self__, thumbprint_lists=["cf23df2207d99a74fbe169e3eba035e633b65d94"]) ``` + ### Without A Thumbprint + + ```python + import pulumi + import pulumi_aws as aws + + default = aws.iam.OpenIdConnectProvider("default", + url="https://accounts.google.com", + client_id_lists=["266362248691-342342xasdasdasda-apps.googleusercontent.com"]) + ``` + ## Import Using `pulumi import`, import IAM OpenID Connect Providers using the `arn`. For example: @@ -228,10 +234,9 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[Sequence[pulumi.Input[str]]] client_id_lists: A list of client IDs (also known as audiences). When a mobile or web app registers with an OpenID Connect provider, they establish a value that identifies the application. (This is the value that's sent as the client_id parameter on OAuth requests.) + :param pulumi.Input[Sequence[pulumi.Input[str]]] client_id_lists: List of client IDs (audiences) that identify the application registered with the OpenID Connect provider. This is the value sent as the `client_id` parameter in OAuth requests. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Map of resource tags for the IAM OIDC provider. 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[str]]] thumbprint_lists: A list of server certificate thumbprints for the OpenID Connect (OIDC) identity provider's server certificate(s). - :param pulumi.Input[str] url: The URL of the identity provider. Corresponds to the _iss_ claim. + :param pulumi.Input[str] url: URL of the identity provider, corresponding to the `iss` claim. """ ... @overload @@ -244,6 +249,8 @@ def __init__(__self__, ## Example Usage + ### Basic Usage + ```python import pulumi import pulumi_aws as aws @@ -254,6 +261,17 @@ def __init__(__self__, thumbprint_lists=["cf23df2207d99a74fbe169e3eba035e633b65d94"]) ``` + ### Without A Thumbprint + + ```python + import pulumi + import pulumi_aws as aws + + default = aws.iam.OpenIdConnectProvider("default", + url="https://accounts.google.com", + client_id_lists=["266362248691-342342xasdasdasda-apps.googleusercontent.com"]) + ``` + ## Import Using `pulumi import`, import IAM OpenID Connect Providers using the `arn`. For example: @@ -294,8 +312,6 @@ def _internal_init(__self__, raise TypeError("Missing required property 'client_id_lists'") __props__.__dict__["client_id_lists"] = client_id_lists __props__.__dict__["tags"] = tags - if thumbprint_lists is None and not opts.urn: - raise TypeError("Missing required property 'thumbprint_lists'") __props__.__dict__["thumbprint_lists"] = thumbprint_lists if url is None and not opts.urn: raise TypeError("Missing required property 'url'") @@ -325,12 +341,11 @@ 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] arn: The ARN assigned by AWS for this provider. - :param pulumi.Input[Sequence[pulumi.Input[str]]] client_id_lists: A list of client IDs (also known as audiences). When a mobile or web app registers with an OpenID Connect provider, they establish a value that identifies the application. (This is the value that's sent as the client_id parameter on OAuth requests.) + :param pulumi.Input[str] arn: ARN assigned by AWS for this provider. + :param pulumi.Input[Sequence[pulumi.Input[str]]] client_id_lists: List of client IDs (audiences) that identify the application registered with the OpenID Connect provider. This is the value sent as the `client_id` parameter in OAuth requests. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Map of resource tags for the IAM OIDC provider. 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[str]]] thumbprint_lists: A list of server certificate thumbprints for the OpenID Connect (OIDC) identity provider's server certificate(s). - :param pulumi.Input[str] url: The URL of the identity provider. Corresponds to the _iss_ claim. + :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] url: URL of the identity provider, corresponding to the `iss` claim. """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) @@ -348,7 +363,7 @@ def get(resource_name: str, @pulumi.getter def arn(self) -> pulumi.Output[str]: """ - The ARN assigned by AWS for this provider. + ARN assigned by AWS for this provider. """ return pulumi.get(self, "arn") @@ -356,7 +371,7 @@ def arn(self) -> pulumi.Output[str]: @pulumi.getter(name="clientIdLists") def client_id_lists(self) -> pulumi.Output[Sequence[str]]: """ - A list of client IDs (also known as audiences). When a mobile or web app registers with an OpenID Connect provider, they establish a value that identifies the application. (This is the value that's sent as the client_id parameter on OAuth requests.) + List of client IDs (audiences) that identify the application registered with the OpenID Connect provider. This is the value sent as the `client_id` parameter in OAuth requests. """ return pulumi.get(self, "client_id_lists") @@ -373,23 +388,20 @@ def tags(self) -> pulumi.Output[Optional[Mapping[str, str]]]: @_utilities.deprecated("""Please use `tags` instead.""") def tags_all(self) -> pulumi.Output[Mapping[str, str]]: """ - A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. """ return pulumi.get(self, "tags_all") @property @pulumi.getter(name="thumbprintLists") def thumbprint_lists(self) -> pulumi.Output[Sequence[str]]: - """ - A list of server certificate thumbprints for the OpenID Connect (OIDC) identity provider's server certificate(s). - """ return pulumi.get(self, "thumbprint_lists") @property @pulumi.getter def url(self) -> pulumi.Output[str]: """ - The URL of the identity provider. Corresponds to the _iss_ claim. + URL of the identity provider, corresponding to the `iss` claim. """ return pulumi.get(self, "url") diff --git a/sdk/python/pulumi_aws/lb/listener.py b/sdk/python/pulumi_aws/lb/listener.py index fa2ba680985..7dbe4f9c5b4 100644 --- a/sdk/python/pulumi_aws/lb/listener.py +++ b/sdk/python/pulumi_aws/lb/listener.py @@ -44,6 +44,8 @@ def __init__(__self__, *, :param pulumi.Input[str] protocol: Protocol for connections from clients to the load balancer. For Application Load Balancers, valid values are `HTTP` and `HTTPS`, with a default of `HTTP`. For Network Load Balancers, valid values are `TCP`, `TLS`, `UDP`, and `TCP_UDP`. Not valid to use `UDP` or `TCP_UDP` if dual-stack mode is enabled. Not valid for Gateway Load Balancers. :param pulumi.Input[str] ssl_policy: Name of the SSL Policy for the listener. Required if `protocol` is `HTTPS` or `TLS`. Default is `ELBSecurityPolicy-2016-08`. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + + > **Note::** When a `Name` key is specified in the map, the AWS Console maps the value to the `Name Tag` column value inside the `Listener Rules` table within a specific load balancer listener page. Otherwise, the value resolves to `Default`. :param pulumi.Input[int] tcp_idle_timeout_seconds: TCP idle timeout value in seconds. Can only be set if protocol is `TCP` on Network Load Balancer, or with a Gateway Load Balancer. Not supported for Application Load Balancers. Valid values are between `60` and `6000` inclusive. Default: `350`. """ pulumi.set(__self__, "default_actions", default_actions) @@ -168,6 +170,8 @@ def ssl_policy(self, value: Optional[pulumi.Input[str]]): def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: """ A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + + > **Note::** When a `Name` key is specified in the map, the AWS Console maps the value to the `Name Tag` column value inside the `Listener Rules` table within a specific load balancer listener page. Otherwise, the value resolves to `Default`. """ return pulumi.get(self, "tags") @@ -217,6 +221,8 @@ def __init__(__self__, *, :param pulumi.Input[str] protocol: Protocol for connections from clients to the load balancer. For Application Load Balancers, valid values are `HTTP` and `HTTPS`, with a default of `HTTP`. For Network Load Balancers, valid values are `TCP`, `TLS`, `UDP`, and `TCP_UDP`. Not valid to use `UDP` or `TCP_UDP` if dual-stack mode is enabled. Not valid for Gateway Load Balancers. :param pulumi.Input[str] ssl_policy: Name of the SSL Policy for the listener. Required if `protocol` is `HTTPS` or `TLS`. Default is `ELBSecurityPolicy-2016-08`. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + + > **Note::** When a `Name` key is specified in the map, the AWS Console maps the value to the `Name Tag` column value inside the `Listener Rules` table within a specific load balancer listener page. Otherwise, the value resolves to `Default`. :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[int] tcp_idle_timeout_seconds: TCP idle timeout value in seconds. Can only be set if protocol is `TCP` on Network Load Balancer, or with a Gateway Load Balancer. Not supported for Application Load Balancers. Valid values are between `60` and `6000` inclusive. Default: `350`. """ @@ -363,6 +369,8 @@ def ssl_policy(self, value: Optional[pulumi.Input[str]]): def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: """ A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + + > **Note::** When a `Name` key is specified in the map, the AWS Console maps the value to the `Name Tag` column value inside the `Listener Rules` table within a specific load balancer listener page. Otherwise, the value resolves to `Default`. """ return pulumi.get(self, "tags") @@ -632,6 +640,8 @@ def __init__(__self__, :param pulumi.Input[str] protocol: Protocol for connections from clients to the load balancer. For Application Load Balancers, valid values are `HTTP` and `HTTPS`, with a default of `HTTP`. For Network Load Balancers, valid values are `TCP`, `TLS`, `UDP`, and `TCP_UDP`. Not valid to use `UDP` or `TCP_UDP` if dual-stack mode is enabled. Not valid for Gateway Load Balancers. :param pulumi.Input[str] ssl_policy: Name of the SSL Policy for the listener. Required if `protocol` is `HTTPS` or `TLS`. Default is `ELBSecurityPolicy-2016-08`. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + + > **Note::** When a `Name` key is specified in the map, the AWS Console maps the value to the `Name Tag` column value inside the `Listener Rules` table within a specific load balancer listener page. Otherwise, the value resolves to `Default`. :param pulumi.Input[int] tcp_idle_timeout_seconds: TCP idle timeout value in seconds. Can only be set if protocol is `TCP` on Network Load Balancer, or with a Gateway Load Balancer. Not supported for Application Load Balancers. Valid values are between `60` and `6000` inclusive. Default: `350`. """ ... @@ -940,6 +950,8 @@ def get(resource_name: str, :param pulumi.Input[str] protocol: Protocol for connections from clients to the load balancer. For Application Load Balancers, valid values are `HTTP` and `HTTPS`, with a default of `HTTP`. For Network Load Balancers, valid values are `TCP`, `TLS`, `UDP`, and `TCP_UDP`. Not valid to use `UDP` or `TCP_UDP` if dual-stack mode is enabled. Not valid for Gateway Load Balancers. :param pulumi.Input[str] ssl_policy: Name of the SSL Policy for the listener. Required if `protocol` is `HTTPS` or `TLS`. Default is `ELBSecurityPolicy-2016-08`. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + + > **Note::** When a `Name` key is specified in the map, the AWS Console maps the value to the `Name Tag` column value inside the `Listener Rules` table within a specific load balancer listener page. Otherwise, the value resolves to `Default`. :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[int] tcp_idle_timeout_seconds: TCP idle timeout value in seconds. Can only be set if protocol is `TCP` on Network Load Balancer, or with a Gateway Load Balancer. Not supported for Application Load Balancers. Valid values are between `60` and `6000` inclusive. Default: `350`. """ @@ -1040,6 +1052,8 @@ def ssl_policy(self) -> pulumi.Output[str]: def tags(self) -> pulumi.Output[Optional[Mapping[str, str]]]: """ A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + + > **Note::** When a `Name` key is specified in the map, the AWS Console maps the value to the `Name Tag` column value inside the `Listener Rules` table within a specific load balancer listener page. Otherwise, the value resolves to `Default`. """ return pulumi.get(self, "tags") diff --git a/sdk/python/pulumi_aws/msk/__init__.py b/sdk/python/pulumi_aws/msk/__init__.py index 20eb2317bab..e5cd0d2d577 100644 --- a/sdk/python/pulumi_aws/msk/__init__.py +++ b/sdk/python/pulumi_aws/msk/__init__.py @@ -17,6 +17,7 @@ from .replicator import * from .scram_secret_association import * from .serverless_cluster import * +from .single_scram_secret_association import * from .vpc_connection import * from ._inputs import * from . import outputs diff --git a/sdk/python/pulumi_aws/msk/_inputs.py b/sdk/python/pulumi_aws/msk/_inputs.py index d62d5469a33..0225031440b 100644 --- a/sdk/python/pulumi_aws/msk/_inputs.py +++ b/sdk/python/pulumi_aws/msk/_inputs.py @@ -77,6 +77,8 @@ 'ReplicatorReplicationInfoListTopicReplicationArgsDict', 'ReplicatorReplicationInfoListTopicReplicationStartingPositionArgs', 'ReplicatorReplicationInfoListTopicReplicationStartingPositionArgsDict', + 'ReplicatorReplicationInfoListTopicReplicationTopicNameConfigurationArgs', + 'ReplicatorReplicationInfoListTopicReplicationTopicNameConfigurationArgsDict', 'ServerlessClusterClientAuthenticationArgs', 'ServerlessClusterClientAuthenticationArgsDict', 'ServerlessClusterClientAuthenticationSaslArgs', @@ -1600,6 +1602,7 @@ class ReplicatorReplicationInfoListTopicReplicationArgsDict(TypedDict): """ Configuration for specifying the position in the topics to start replicating from. """ + topic_name_configuration: NotRequired[pulumi.Input['ReplicatorReplicationInfoListTopicReplicationTopicNameConfigurationArgsDict']] topics_to_excludes: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]] """ List of regular expression patterns indicating the topics that should not be replica. @@ -1615,6 +1618,7 @@ def __init__(__self__, *, copy_topic_configurations: Optional[pulumi.Input[bool]] = None, detect_and_copy_new_topics: Optional[pulumi.Input[bool]] = None, starting_position: Optional[pulumi.Input['ReplicatorReplicationInfoListTopicReplicationStartingPositionArgs']] = None, + topic_name_configuration: Optional[pulumi.Input['ReplicatorReplicationInfoListTopicReplicationTopicNameConfigurationArgs']] = None, topics_to_excludes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): """ :param pulumi.Input[Sequence[pulumi.Input[str]]] topics_to_replicates: List of regular expression patterns indicating the topics to copy. @@ -1633,6 +1637,8 @@ def __init__(__self__, *, pulumi.set(__self__, "detect_and_copy_new_topics", detect_and_copy_new_topics) if starting_position is not None: pulumi.set(__self__, "starting_position", starting_position) + if topic_name_configuration is not None: + pulumi.set(__self__, "topic_name_configuration", topic_name_configuration) if topics_to_excludes is not None: pulumi.set(__self__, "topics_to_excludes", topics_to_excludes) @@ -1696,6 +1702,15 @@ def starting_position(self) -> Optional[pulumi.Input['ReplicatorReplicationInfoL def starting_position(self, value: Optional[pulumi.Input['ReplicatorReplicationInfoListTopicReplicationStartingPositionArgs']]): pulumi.set(self, "starting_position", value) + @property + @pulumi.getter(name="topicNameConfiguration") + def topic_name_configuration(self) -> Optional[pulumi.Input['ReplicatorReplicationInfoListTopicReplicationTopicNameConfigurationArgs']]: + return pulumi.get(self, "topic_name_configuration") + + @topic_name_configuration.setter + def topic_name_configuration(self, value: Optional[pulumi.Input['ReplicatorReplicationInfoListTopicReplicationTopicNameConfigurationArgs']]): + pulumi.set(self, "topic_name_configuration", value) + @property @pulumi.getter(name="topicsToExcludes") def topics_to_excludes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: @@ -1741,6 +1756,29 @@ def type(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "type", value) +if not MYPY: + class ReplicatorReplicationInfoListTopicReplicationTopicNameConfigurationArgsDict(TypedDict): + type: NotRequired[pulumi.Input[str]] +elif False: + ReplicatorReplicationInfoListTopicReplicationTopicNameConfigurationArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class ReplicatorReplicationInfoListTopicReplicationTopicNameConfigurationArgs: + def __init__(__self__, *, + type: Optional[pulumi.Input[str]] = None): + if type is not None: + pulumi.set(__self__, "type", type) + + @property + @pulumi.getter + def type(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "type") + + @type.setter + def type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "type", value) + + if not MYPY: class ServerlessClusterClientAuthenticationArgsDict(TypedDict): sasl: pulumi.Input['ServerlessClusterClientAuthenticationSaslArgsDict'] diff --git a/sdk/python/pulumi_aws/msk/outputs.py b/sdk/python/pulumi_aws/msk/outputs.py index bfa65c1eead..3676298f02e 100644 --- a/sdk/python/pulumi_aws/msk/outputs.py +++ b/sdk/python/pulumi_aws/msk/outputs.py @@ -47,6 +47,7 @@ 'ReplicatorReplicationInfoListConsumerGroupReplication', 'ReplicatorReplicationInfoListTopicReplication', 'ReplicatorReplicationInfoListTopicReplicationStartingPosition', + 'ReplicatorReplicationInfoListTopicReplicationTopicNameConfiguration', 'ServerlessClusterClientAuthentication', 'ServerlessClusterClientAuthenticationSasl', 'ServerlessClusterClientAuthenticationSaslIam', @@ -1356,6 +1357,8 @@ def __key_warning(key: str): suggest = "detect_and_copy_new_topics" elif key == "startingPosition": suggest = "starting_position" + elif key == "topicNameConfiguration": + suggest = "topic_name_configuration" elif key == "topicsToExcludes": suggest = "topics_to_excludes" @@ -1376,6 +1379,7 @@ def __init__(__self__, *, copy_topic_configurations: Optional[bool] = None, detect_and_copy_new_topics: Optional[bool] = None, starting_position: Optional['outputs.ReplicatorReplicationInfoListTopicReplicationStartingPosition'] = None, + topic_name_configuration: Optional['outputs.ReplicatorReplicationInfoListTopicReplicationTopicNameConfiguration'] = None, topics_to_excludes: Optional[Sequence[str]] = None): """ :param Sequence[str] topics_to_replicates: List of regular expression patterns indicating the topics to copy. @@ -1394,6 +1398,8 @@ def __init__(__self__, *, pulumi.set(__self__, "detect_and_copy_new_topics", detect_and_copy_new_topics) if starting_position is not None: pulumi.set(__self__, "starting_position", starting_position) + if topic_name_configuration is not None: + pulumi.set(__self__, "topic_name_configuration", topic_name_configuration) if topics_to_excludes is not None: pulumi.set(__self__, "topics_to_excludes", topics_to_excludes) @@ -1437,6 +1443,11 @@ def starting_position(self) -> Optional['outputs.ReplicatorReplicationInfoListTo """ return pulumi.get(self, "starting_position") + @property + @pulumi.getter(name="topicNameConfiguration") + def topic_name_configuration(self) -> Optional['outputs.ReplicatorReplicationInfoListTopicReplicationTopicNameConfiguration']: + return pulumi.get(self, "topic_name_configuration") + @property @pulumi.getter(name="topicsToExcludes") def topics_to_excludes(self) -> Optional[Sequence[str]]: @@ -1465,6 +1476,19 @@ def type(self) -> Optional[str]: return pulumi.get(self, "type") +@pulumi.output_type +class ReplicatorReplicationInfoListTopicReplicationTopicNameConfiguration(dict): + def __init__(__self__, *, + type: Optional[str] = None): + if type is not None: + pulumi.set(__self__, "type", type) + + @property + @pulumi.getter + def type(self) -> Optional[str]: + return pulumi.get(self, "type") + + @pulumi.output_type class ServerlessClusterClientAuthentication(dict): def __init__(__self__, *, diff --git a/sdk/python/pulumi_aws/msk/replicator.py b/sdk/python/pulumi_aws/msk/replicator.py index da08786faf5..80dc0cbafa8 100644 --- a/sdk/python/pulumi_aws/msk/replicator.py +++ b/sdk/python/pulumi_aws/msk/replicator.py @@ -275,52 +275,6 @@ def __init__(__self__, ## Example Usage - ### Basic Usage - - ```python - import pulumi - import pulumi_aws as aws - - test = aws.msk.Replicator("test", - replicator_name="test-name", - description="test-description", - service_execution_role_arn=source_aws_iam_role["arn"], - kafka_clusters=[ - { - "amazon_msk_cluster": { - "msk_cluster_arn": source["arn"], - }, - "vpc_config": { - "subnet_ids": [__item["id"] for __item in source_aws_subnet], - "security_groups_ids": [source_aws_security_group["id"]], - }, - }, - { - "amazon_msk_cluster": { - "msk_cluster_arn": target["arn"], - }, - "vpc_config": { - "subnet_ids": [__item["id"] for __item in target_aws_subnet], - "security_groups_ids": [target_aws_security_group["id"]], - }, - }, - ], - replication_info_list={ - "source_kafka_cluster_arn": source["arn"], - "target_kafka_cluster_arn": target["arn"], - "target_compression_type": "NONE", - "topic_replications": [{ - "topics_to_replicates": [".*"], - "starting_position": { - "type": "LATEST", - }, - }], - "consumer_group_replications": [{ - "consumer_groups_to_replicates": [".*"], - }], - }) - ``` - ## Import Using `pulumi import`, import MSK replicators using the replicator ARN. For example: @@ -348,52 +302,6 @@ def __init__(__self__, ## Example Usage - ### Basic Usage - - ```python - import pulumi - import pulumi_aws as aws - - test = aws.msk.Replicator("test", - replicator_name="test-name", - description="test-description", - service_execution_role_arn=source_aws_iam_role["arn"], - kafka_clusters=[ - { - "amazon_msk_cluster": { - "msk_cluster_arn": source["arn"], - }, - "vpc_config": { - "subnet_ids": [__item["id"] for __item in source_aws_subnet], - "security_groups_ids": [source_aws_security_group["id"]], - }, - }, - { - "amazon_msk_cluster": { - "msk_cluster_arn": target["arn"], - }, - "vpc_config": { - "subnet_ids": [__item["id"] for __item in target_aws_subnet], - "security_groups_ids": [target_aws_security_group["id"]], - }, - }, - ], - replication_info_list={ - "source_kafka_cluster_arn": source["arn"], - "target_kafka_cluster_arn": target["arn"], - "target_compression_type": "NONE", - "topic_replications": [{ - "topics_to_replicates": [".*"], - "starting_position": { - "type": "LATEST", - }, - }], - "consumer_group_replications": [{ - "consumer_groups_to_replicates": [".*"], - }], - }) - ``` - ## Import Using `pulumi import`, import MSK replicators using the replicator ARN. For example: diff --git a/sdk/python/pulumi_aws/msk/scram_secret_association.py b/sdk/python/pulumi_aws/msk/scram_secret_association.py index 6ba9b1d5ca2..1bf38b5e876 100644 --- a/sdk/python/pulumi_aws/msk/scram_secret_association.py +++ b/sdk/python/pulumi_aws/msk/scram_secret_association.py @@ -105,6 +105,8 @@ def __init__(__self__, """ Associates SCRAM secrets stored in the Secrets Manager service with a Managed Streaming for Kafka (MSK) cluster. + !> This resource takes exclusive ownership over SCRAM secrets associated with a cluster. This includes removal of SCRAM secrets which are not explicitly configured. To prevent persistent drift, ensure any `msk.SingleScramSecretAssociation` resources managed alongside this resource are included in the `secret_arn_list` argument. + > **Note:** The following assumes the MSK cluster has SASL/SCRAM authentication enabled. See below for example usage or refer to the [Username/Password Authentication](https://docs.aws.amazon.com/msk/latest/developerguide/msk-password.html) section of the MSK Developer Guide for more details. To set up username and password authentication for a cluster, create an `secretsmanager.Secret` resource and associate @@ -180,6 +182,8 @@ def __init__(__self__, """ Associates SCRAM secrets stored in the Secrets Manager service with a Managed Streaming for Kafka (MSK) cluster. + !> This resource takes exclusive ownership over SCRAM secrets associated with a cluster. This includes removal of SCRAM secrets which are not explicitly configured. To prevent persistent drift, ensure any `msk.SingleScramSecretAssociation` resources managed alongside this resource are included in the `secret_arn_list` argument. + > **Note:** The following assumes the MSK cluster has SASL/SCRAM authentication enabled. See below for example usage or refer to the [Username/Password Authentication](https://docs.aws.amazon.com/msk/latest/developerguide/msk-password.html) section of the MSK Developer Guide for more details. To set up username and password authentication for a cluster, create an `secretsmanager.Secret` resource and associate diff --git a/sdk/python/pulumi_aws/msk/single_scram_secret_association.py b/sdk/python/pulumi_aws/msk/single_scram_secret_association.py new file mode 100644 index 00000000000..ea3bc4ac452 --- /dev/null +++ b/sdk/python/pulumi_aws/msk/single_scram_secret_association.py @@ -0,0 +1,237 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import sys +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias +from .. import _utilities + +__all__ = ['SingleScramSecretAssociationArgs', 'SingleScramSecretAssociation'] + +@pulumi.input_type +class SingleScramSecretAssociationArgs: + def __init__(__self__, *, + cluster_arn: pulumi.Input[str], + secret_arn: pulumi.Input[str]): + """ + The set of arguments for constructing a SingleScramSecretAssociation resource. + :param pulumi.Input[str] cluster_arn: Amazon Resource Name (ARN) of the MSK cluster. + :param pulumi.Input[str] secret_arn: AWS Secrets Manager secret ARN. + """ + pulumi.set(__self__, "cluster_arn", cluster_arn) + pulumi.set(__self__, "secret_arn", secret_arn) + + @property + @pulumi.getter(name="clusterArn") + def cluster_arn(self) -> pulumi.Input[str]: + """ + Amazon Resource Name (ARN) of the MSK cluster. + """ + return pulumi.get(self, "cluster_arn") + + @cluster_arn.setter + def cluster_arn(self, value: pulumi.Input[str]): + pulumi.set(self, "cluster_arn", value) + + @property + @pulumi.getter(name="secretArn") + def secret_arn(self) -> pulumi.Input[str]: + """ + AWS Secrets Manager secret ARN. + """ + return pulumi.get(self, "secret_arn") + + @secret_arn.setter + def secret_arn(self, value: pulumi.Input[str]): + pulumi.set(self, "secret_arn", value) + + +@pulumi.input_type +class _SingleScramSecretAssociationState: + def __init__(__self__, *, + cluster_arn: Optional[pulumi.Input[str]] = None, + secret_arn: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering SingleScramSecretAssociation resources. + :param pulumi.Input[str] cluster_arn: Amazon Resource Name (ARN) of the MSK cluster. + :param pulumi.Input[str] secret_arn: AWS Secrets Manager secret ARN. + """ + if cluster_arn is not None: + pulumi.set(__self__, "cluster_arn", cluster_arn) + if secret_arn is not None: + pulumi.set(__self__, "secret_arn", secret_arn) + + @property + @pulumi.getter(name="clusterArn") + def cluster_arn(self) -> Optional[pulumi.Input[str]]: + """ + Amazon Resource Name (ARN) of the MSK cluster. + """ + return pulumi.get(self, "cluster_arn") + + @cluster_arn.setter + def cluster_arn(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "cluster_arn", value) + + @property + @pulumi.getter(name="secretArn") + def secret_arn(self) -> Optional[pulumi.Input[str]]: + """ + AWS Secrets Manager secret ARN. + """ + return pulumi.get(self, "secret_arn") + + @secret_arn.setter + def secret_arn(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "secret_arn", value) + + +class SingleScramSecretAssociation(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + cluster_arn: Optional[pulumi.Input[str]] = None, + secret_arn: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Associates a single SCRAM secret with a Managed Streaming for Kafka (MSK) cluster. + + ## Example Usage + + ```python + import pulumi + import pulumi_aws as aws + + example = aws.msk.SingleScramSecretAssociation("example", + cluster_arn=example_aws_msk_cluster["arn"], + secret_arn=example_aws_secretsmanager_secret["arn"]) + ``` + + ## Import + + Using `pulumi import`, import an MSK SCRAM Secret Association using the `cluster_arn` and `secret_arn`. For example: + + ```sh + $ pulumi import aws:msk/singleScramSecretAssociation:SingleScramSecretAssociation example arn:aws:kafka:us-west-2:123456789012:cluster/example/279c0212-d057-4dba-9aa9-1c4e5a25bfc7-3,arn:aws:secretsmanager:us-east-1:123456789012:secret:example-123456 + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] cluster_arn: Amazon Resource Name (ARN) of the MSK cluster. + :param pulumi.Input[str] secret_arn: AWS Secrets Manager secret ARN. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: SingleScramSecretAssociationArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Associates a single SCRAM secret with a Managed Streaming for Kafka (MSK) cluster. + + ## Example Usage + + ```python + import pulumi + import pulumi_aws as aws + + example = aws.msk.SingleScramSecretAssociation("example", + cluster_arn=example_aws_msk_cluster["arn"], + secret_arn=example_aws_secretsmanager_secret["arn"]) + ``` + + ## Import + + Using `pulumi import`, import an MSK SCRAM Secret Association using the `cluster_arn` and `secret_arn`. For example: + + ```sh + $ pulumi import aws:msk/singleScramSecretAssociation:SingleScramSecretAssociation example arn:aws:kafka:us-west-2:123456789012:cluster/example/279c0212-d057-4dba-9aa9-1c4e5a25bfc7-3,arn:aws:secretsmanager:us-east-1:123456789012:secret:example-123456 + ``` + + :param str resource_name: The name of the resource. + :param SingleScramSecretAssociationArgs 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(SingleScramSecretAssociationArgs, 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, + cluster_arn: Optional[pulumi.Input[str]] = None, + secret_arn: 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__ = SingleScramSecretAssociationArgs.__new__(SingleScramSecretAssociationArgs) + + if cluster_arn is None and not opts.urn: + raise TypeError("Missing required property 'cluster_arn'") + __props__.__dict__["cluster_arn"] = cluster_arn + if secret_arn is None and not opts.urn: + raise TypeError("Missing required property 'secret_arn'") + __props__.__dict__["secret_arn"] = secret_arn + super(SingleScramSecretAssociation, __self__).__init__( + 'aws:msk/singleScramSecretAssociation:SingleScramSecretAssociation', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + cluster_arn: Optional[pulumi.Input[str]] = None, + secret_arn: Optional[pulumi.Input[str]] = None) -> 'SingleScramSecretAssociation': + """ + Get an existing SingleScramSecretAssociation 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] cluster_arn: Amazon Resource Name (ARN) of the MSK cluster. + :param pulumi.Input[str] secret_arn: AWS Secrets Manager secret ARN. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _SingleScramSecretAssociationState.__new__(_SingleScramSecretAssociationState) + + __props__.__dict__["cluster_arn"] = cluster_arn + __props__.__dict__["secret_arn"] = secret_arn + return SingleScramSecretAssociation(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="clusterArn") + def cluster_arn(self) -> pulumi.Output[str]: + """ + Amazon Resource Name (ARN) of the MSK cluster. + """ + return pulumi.get(self, "cluster_arn") + + @property + @pulumi.getter(name="secretArn") + def secret_arn(self) -> pulumi.Output[str]: + """ + AWS Secrets Manager secret ARN. + """ + return pulumi.get(self, "secret_arn") + diff --git a/sdk/python/pulumi_aws/networkfirewall/_inputs.py b/sdk/python/pulumi_aws/networkfirewall/_inputs.py index 68ec411fecc..8fc6f73766e 100644 --- a/sdk/python/pulumi_aws/networkfirewall/_inputs.py +++ b/sdk/python/pulumi_aws/networkfirewall/_inputs.py @@ -35,6 +35,8 @@ 'FirewallPolicyFirewallPolicyPolicyVariablesRuleVariableIpSetArgsDict', 'FirewallPolicyFirewallPolicyStatefulEngineOptionsArgs', 'FirewallPolicyFirewallPolicyStatefulEngineOptionsArgsDict', + 'FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsArgs', + 'FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsArgsDict', 'FirewallPolicyFirewallPolicyStatefulRuleGroupReferenceArgs', 'FirewallPolicyFirewallPolicyStatefulRuleGroupReferenceArgsDict', 'FirewallPolicyFirewallPolicyStatefulRuleGroupReferenceOverrideArgs', @@ -683,6 +685,10 @@ def definitions(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): if not MYPY: class FirewallPolicyFirewallPolicyStatefulEngineOptionsArgsDict(TypedDict): + flow_timeouts: NotRequired[pulumi.Input['FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsArgsDict']] + """ + Amount of time that can pass without any traffic sent through the firewall before the firewall determines that the connection is idle. + """ rule_order: NotRequired[pulumi.Input[str]] """ Indicates how to manage the order of stateful rule evaluation for the policy. Default value: `DEFAULT_ACTION_ORDER`. Valid values: `DEFAULT_ACTION_ORDER`, `STRICT_ORDER`. @@ -697,17 +703,33 @@ class FirewallPolicyFirewallPolicyStatefulEngineOptionsArgsDict(TypedDict): @pulumi.input_type class FirewallPolicyFirewallPolicyStatefulEngineOptionsArgs: def __init__(__self__, *, + flow_timeouts: Optional[pulumi.Input['FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsArgs']] = None, rule_order: Optional[pulumi.Input[str]] = None, stream_exception_policy: Optional[pulumi.Input[str]] = None): """ + :param pulumi.Input['FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsArgs'] flow_timeouts: Amount of time that can pass without any traffic sent through the firewall before the firewall determines that the connection is idle. :param pulumi.Input[str] rule_order: Indicates how to manage the order of stateful rule evaluation for the policy. Default value: `DEFAULT_ACTION_ORDER`. Valid values: `DEFAULT_ACTION_ORDER`, `STRICT_ORDER`. :param pulumi.Input[str] stream_exception_policy: Describes how to treat traffic which has broken midstream. Default value: `DROP`. Valid values: `DROP`, `CONTINUE`, `REJECT`. """ + if flow_timeouts is not None: + pulumi.set(__self__, "flow_timeouts", flow_timeouts) if rule_order is not None: pulumi.set(__self__, "rule_order", rule_order) if stream_exception_policy is not None: pulumi.set(__self__, "stream_exception_policy", stream_exception_policy) + @property + @pulumi.getter(name="flowTimeouts") + def flow_timeouts(self) -> Optional[pulumi.Input['FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsArgs']]: + """ + Amount of time that can pass without any traffic sent through the firewall before the firewall determines that the connection is idle. + """ + return pulumi.get(self, "flow_timeouts") + + @flow_timeouts.setter + def flow_timeouts(self, value: Optional[pulumi.Input['FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsArgs']]): + pulumi.set(self, "flow_timeouts", value) + @property @pulumi.getter(name="ruleOrder") def rule_order(self) -> Optional[pulumi.Input[str]]: @@ -733,6 +755,38 @@ def stream_exception_policy(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "stream_exception_policy", value) +if not MYPY: + class FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsArgsDict(TypedDict): + tcp_idle_timeout_seconds: NotRequired[pulumi.Input[int]] + """ + Number of seconds that can pass without any TCP traffic sent through the firewall before the firewall determines that the connection is idle. After the idle timeout passes, data packets are dropped, however, the next TCP SYN packet is considered a new flow and is processed by the firewall. Clients or targets can use TCP keepalive packets to reset the idle timeout. Default value: `350`. + """ +elif False: + FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsArgs: + def __init__(__self__, *, + tcp_idle_timeout_seconds: Optional[pulumi.Input[int]] = None): + """ + :param pulumi.Input[int] tcp_idle_timeout_seconds: Number of seconds that can pass without any TCP traffic sent through the firewall before the firewall determines that the connection is idle. After the idle timeout passes, data packets are dropped, however, the next TCP SYN packet is considered a new flow and is processed by the firewall. Clients or targets can use TCP keepalive packets to reset the idle timeout. Default value: `350`. + """ + if tcp_idle_timeout_seconds is not None: + pulumi.set(__self__, "tcp_idle_timeout_seconds", tcp_idle_timeout_seconds) + + @property + @pulumi.getter(name="tcpIdleTimeoutSeconds") + def tcp_idle_timeout_seconds(self) -> Optional[pulumi.Input[int]]: + """ + Number of seconds that can pass without any TCP traffic sent through the firewall before the firewall determines that the connection is idle. After the idle timeout passes, data packets are dropped, however, the next TCP SYN packet is considered a new flow and is processed by the firewall. Clients or targets can use TCP keepalive packets to reset the idle timeout. Default value: `350`. + """ + return pulumi.get(self, "tcp_idle_timeout_seconds") + + @tcp_idle_timeout_seconds.setter + def tcp_idle_timeout_seconds(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "tcp_idle_timeout_seconds", value) + + if not MYPY: class FirewallPolicyFirewallPolicyStatefulRuleGroupReferenceArgsDict(TypedDict): resource_arn: pulumi.Input[str] @@ -1116,7 +1170,7 @@ class LoggingConfigurationLoggingConfigurationLogDestinationConfigArgsDict(Typed log_destination: pulumi.Input[Mapping[str, pulumi.Input[str]]] """ A map describing the logging destination for the chosen `log_destination_type`. - * For an Amazon S3 bucket, specify the key `bucketName` with the name of the bucket and optionally specify the key `prefix` with a path. + * For an Amazon S3 bucket, specify the key `bucketName` with the name of the bucket and optionally specify the key `prefix` with a path (Do not add a leading / in the `prefix` as the configuration will have two // when applied). * For a CloudWatch log group, specify the key `logGroup` with the name of the CloudWatch log group. * For a Kinesis Data Firehose delivery stream, specify the key `deliveryStream` with the name of the delivery stream. """ @@ -1139,7 +1193,7 @@ def __init__(__self__, *, log_type: pulumi.Input[str]): """ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] log_destination: A map describing the logging destination for the chosen `log_destination_type`. - * For an Amazon S3 bucket, specify the key `bucketName` with the name of the bucket and optionally specify the key `prefix` with a path. + * For an Amazon S3 bucket, specify the key `bucketName` with the name of the bucket and optionally specify the key `prefix` with a path (Do not add a leading / in the `prefix` as the configuration will have two // when applied). * For a CloudWatch log group, specify the key `logGroup` with the name of the CloudWatch log group. * For a Kinesis Data Firehose delivery stream, specify the key `deliveryStream` with the name of the delivery stream. :param pulumi.Input[str] log_destination_type: The location to send logs to. Valid values: `S3`, `CloudWatchLogs`, `KinesisDataFirehose`. @@ -1154,7 +1208,7 @@ def __init__(__self__, *, def log_destination(self) -> pulumi.Input[Mapping[str, pulumi.Input[str]]]: """ A map describing the logging destination for the chosen `log_destination_type`. - * For an Amazon S3 bucket, specify the key `bucketName` with the name of the bucket and optionally specify the key `prefix` with a path. + * For an Amazon S3 bucket, specify the key `bucketName` with the name of the bucket and optionally specify the key `prefix` with a path (Do not add a leading / in the `prefix` as the configuration will have two // when applied). * For a CloudWatch log group, specify the key `logGroup` with the name of the CloudWatch log group. * For a Kinesis Data Firehose delivery stream, specify the key `deliveryStream` with the name of the delivery stream. """ diff --git a/sdk/python/pulumi_aws/networkfirewall/logging_configuration.py b/sdk/python/pulumi_aws/networkfirewall/logging_configuration.py index 96d250841f6..11917ff9e8a 100644 --- a/sdk/python/pulumi_aws/networkfirewall/logging_configuration.py +++ b/sdk/python/pulumi_aws/networkfirewall/logging_configuration.py @@ -121,7 +121,7 @@ def __init__(__self__, "log_destination_configs": [{ "log_destination": { "bucketName": example_aws_s3_bucket["bucket"], - "prefix": "/example", + "prefix": "example", }, "log_destination_type": "S3", "log_type": "FLOW", @@ -203,7 +203,7 @@ def __init__(__self__, "log_destination_configs": [{ "log_destination": { "bucketName": example_aws_s3_bucket["bucket"], - "prefix": "/example", + "prefix": "example", }, "log_destination_type": "S3", "log_type": "FLOW", diff --git a/sdk/python/pulumi_aws/networkfirewall/outputs.py b/sdk/python/pulumi_aws/networkfirewall/outputs.py index a0615b1b525..9e2d46768d1 100644 --- a/sdk/python/pulumi_aws/networkfirewall/outputs.py +++ b/sdk/python/pulumi_aws/networkfirewall/outputs.py @@ -26,6 +26,7 @@ 'FirewallPolicyFirewallPolicyPolicyVariablesRuleVariable', 'FirewallPolicyFirewallPolicyPolicyVariablesRuleVariableIpSet', 'FirewallPolicyFirewallPolicyStatefulEngineOptions', + 'FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeouts', 'FirewallPolicyFirewallPolicyStatefulRuleGroupReference', 'FirewallPolicyFirewallPolicyStatefulRuleGroupReferenceOverride', 'FirewallPolicyFirewallPolicyStatelessCustomAction', @@ -574,7 +575,9 @@ class FirewallPolicyFirewallPolicyStatefulEngineOptions(dict): @staticmethod def __key_warning(key: str): suggest = None - if key == "ruleOrder": + if key == "flowTimeouts": + suggest = "flow_timeouts" + elif key == "ruleOrder": suggest = "rule_order" elif key == "streamExceptionPolicy": suggest = "stream_exception_policy" @@ -591,17 +594,29 @@ def get(self, key: str, default = None) -> Any: return super().get(key, default) def __init__(__self__, *, + flow_timeouts: Optional['outputs.FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeouts'] = None, rule_order: Optional[str] = None, stream_exception_policy: Optional[str] = None): """ + :param 'FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeoutsArgs' flow_timeouts: Amount of time that can pass without any traffic sent through the firewall before the firewall determines that the connection is idle. :param str rule_order: Indicates how to manage the order of stateful rule evaluation for the policy. Default value: `DEFAULT_ACTION_ORDER`. Valid values: `DEFAULT_ACTION_ORDER`, `STRICT_ORDER`. :param str stream_exception_policy: Describes how to treat traffic which has broken midstream. Default value: `DROP`. Valid values: `DROP`, `CONTINUE`, `REJECT`. """ + if flow_timeouts is not None: + pulumi.set(__self__, "flow_timeouts", flow_timeouts) if rule_order is not None: pulumi.set(__self__, "rule_order", rule_order) if stream_exception_policy is not None: pulumi.set(__self__, "stream_exception_policy", stream_exception_policy) + @property + @pulumi.getter(name="flowTimeouts") + def flow_timeouts(self) -> Optional['outputs.FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeouts']: + """ + Amount of time that can pass without any traffic sent through the firewall before the firewall determines that the connection is idle. + """ + return pulumi.get(self, "flow_timeouts") + @property @pulumi.getter(name="ruleOrder") def rule_order(self) -> Optional[str]: @@ -619,6 +634,42 @@ def stream_exception_policy(self) -> Optional[str]: return pulumi.get(self, "stream_exception_policy") +@pulumi.output_type +class FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeouts(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "tcpIdleTimeoutSeconds": + suggest = "tcp_idle_timeout_seconds" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeouts. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeouts.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + FirewallPolicyFirewallPolicyStatefulEngineOptionsFlowTimeouts.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + tcp_idle_timeout_seconds: Optional[int] = None): + """ + :param int tcp_idle_timeout_seconds: Number of seconds that can pass without any TCP traffic sent through the firewall before the firewall determines that the connection is idle. After the idle timeout passes, data packets are dropped, however, the next TCP SYN packet is considered a new flow and is processed by the firewall. Clients or targets can use TCP keepalive packets to reset the idle timeout. Default value: `350`. + """ + if tcp_idle_timeout_seconds is not None: + pulumi.set(__self__, "tcp_idle_timeout_seconds", tcp_idle_timeout_seconds) + + @property + @pulumi.getter(name="tcpIdleTimeoutSeconds") + def tcp_idle_timeout_seconds(self) -> Optional[int]: + """ + Number of seconds that can pass without any TCP traffic sent through the firewall before the firewall determines that the connection is idle. After the idle timeout passes, data packets are dropped, however, the next TCP SYN packet is considered a new flow and is processed by the firewall. Clients or targets can use TCP keepalive packets to reset the idle timeout. Default value: `350`. + """ + return pulumi.get(self, "tcp_idle_timeout_seconds") + + @pulumi.output_type class FirewallPolicyFirewallPolicyStatefulRuleGroupReference(dict): @staticmethod @@ -975,7 +1026,7 @@ def __init__(__self__, *, log_type: str): """ :param Mapping[str, str] log_destination: A map describing the logging destination for the chosen `log_destination_type`. - * For an Amazon S3 bucket, specify the key `bucketName` with the name of the bucket and optionally specify the key `prefix` with a path. + * For an Amazon S3 bucket, specify the key `bucketName` with the name of the bucket and optionally specify the key `prefix` with a path (Do not add a leading / in the `prefix` as the configuration will have two // when applied). * For a CloudWatch log group, specify the key `logGroup` with the name of the CloudWatch log group. * For a Kinesis Data Firehose delivery stream, specify the key `deliveryStream` with the name of the delivery stream. :param str log_destination_type: The location to send logs to. Valid values: `S3`, `CloudWatchLogs`, `KinesisDataFirehose`. @@ -990,7 +1041,7 @@ def __init__(__self__, *, def log_destination(self) -> Mapping[str, str]: """ A map describing the logging destination for the chosen `log_destination_type`. - * For an Amazon S3 bucket, specify the key `bucketName` with the name of the bucket and optionally specify the key `prefix` with a path. + * For an Amazon S3 bucket, specify the key `bucketName` with the name of the bucket and optionally specify the key `prefix` with a path (Do not add a leading / in the `prefix` as the configuration will have two // when applied). * For a CloudWatch log group, specify the key `logGroup` with the name of the CloudWatch log group. * For a Kinesis Data Firehose delivery stream, specify the key `deliveryStream` with the name of the delivery stream. """ diff --git a/sdk/python/pulumi_aws/rds/_inputs.py b/sdk/python/pulumi_aws/rds/_inputs.py index d6eba97b45d..9998df7ca21 100644 --- a/sdk/python/pulumi_aws/rds/_inputs.py +++ b/sdk/python/pulumi_aws/rds/_inputs.py @@ -587,6 +587,10 @@ class ClusterServerlessv2ScalingConfigurationArgsDict(TypedDict): """ Minimum capacity for an Aurora DB cluster in `provisioned` DB engine mode. The minimum capacity must be lesser than or equal to the maximum capacity. Valid capacity values are in a range of `0` up to `256` in steps of `0.5`. """ + seconds_until_auto_pause: NotRequired[pulumi.Input[int]] + """ + Time, in seconds, before an Aurora DB cluster in `provisioned` DB engine mode is paused. Valid values are `300` through `86400`. + """ elif False: ClusterServerlessv2ScalingConfigurationArgsDict: TypeAlias = Mapping[str, Any] @@ -594,13 +598,17 @@ class ClusterServerlessv2ScalingConfigurationArgsDict(TypedDict): class ClusterServerlessv2ScalingConfigurationArgs: def __init__(__self__, *, max_capacity: pulumi.Input[float], - min_capacity: pulumi.Input[float]): + min_capacity: pulumi.Input[float], + seconds_until_auto_pause: Optional[pulumi.Input[int]] = None): """ :param pulumi.Input[float] max_capacity: Maximum capacity for an Aurora DB cluster in `provisioned` DB engine mode. The maximum capacity must be greater than or equal to the minimum capacity. Valid capacity values are in a range of `0` up to `256` in steps of `0.5`. :param pulumi.Input[float] min_capacity: Minimum capacity for an Aurora DB cluster in `provisioned` DB engine mode. The minimum capacity must be lesser than or equal to the maximum capacity. Valid capacity values are in a range of `0` up to `256` in steps of `0.5`. + :param pulumi.Input[int] seconds_until_auto_pause: Time, in seconds, before an Aurora DB cluster in `provisioned` DB engine mode is paused. Valid values are `300` through `86400`. """ pulumi.set(__self__, "max_capacity", max_capacity) pulumi.set(__self__, "min_capacity", min_capacity) + if seconds_until_auto_pause is not None: + pulumi.set(__self__, "seconds_until_auto_pause", seconds_until_auto_pause) @property @pulumi.getter(name="maxCapacity") @@ -626,6 +634,18 @@ def min_capacity(self) -> pulumi.Input[float]: def min_capacity(self, value: pulumi.Input[float]): pulumi.set(self, "min_capacity", value) + @property + @pulumi.getter(name="secondsUntilAutoPause") + def seconds_until_auto_pause(self) -> Optional[pulumi.Input[int]]: + """ + Time, in seconds, before an Aurora DB cluster in `provisioned` DB engine mode is paused. Valid values are `300` through `86400`. + """ + return pulumi.get(self, "seconds_until_auto_pause") + + @seconds_until_auto_pause.setter + def seconds_until_auto_pause(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "seconds_until_auto_pause", value) + if not MYPY: class ExportTaskTimeoutsArgsDict(TypedDict): @@ -683,11 +703,11 @@ def delete(self, value: Optional[pulumi.Input[str]]): class GlobalClusterGlobalClusterMemberArgsDict(TypedDict): db_cluster_arn: NotRequired[pulumi.Input[str]] """ - Amazon Resource Name (ARN) of member DB Cluster + Amazon Resource Name (ARN) of member DB Cluster. """ is_writer: NotRequired[pulumi.Input[bool]] """ - Whether the member is the primary DB Cluster + Whether the member is the primary DB Cluster. """ elif False: GlobalClusterGlobalClusterMemberArgsDict: TypeAlias = Mapping[str, Any] @@ -698,8 +718,8 @@ def __init__(__self__, *, db_cluster_arn: Optional[pulumi.Input[str]] = None, is_writer: Optional[pulumi.Input[bool]] = None): """ - :param pulumi.Input[str] db_cluster_arn: Amazon Resource Name (ARN) of member DB Cluster - :param pulumi.Input[bool] is_writer: Whether the member is the primary DB Cluster + :param pulumi.Input[str] db_cluster_arn: Amazon Resource Name (ARN) of member DB Cluster. + :param pulumi.Input[bool] is_writer: Whether the member is the primary DB Cluster. """ if db_cluster_arn is not None: pulumi.set(__self__, "db_cluster_arn", db_cluster_arn) @@ -710,7 +730,7 @@ def __init__(__self__, *, @pulumi.getter(name="dbClusterArn") def db_cluster_arn(self) -> Optional[pulumi.Input[str]]: """ - Amazon Resource Name (ARN) of member DB Cluster + Amazon Resource Name (ARN) of member DB Cluster. """ return pulumi.get(self, "db_cluster_arn") @@ -722,7 +742,7 @@ def db_cluster_arn(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="isWriter") def is_writer(self) -> Optional[pulumi.Input[bool]]: """ - Whether the member is the primary DB Cluster + Whether the member is the primary DB Cluster. """ return pulumi.get(self, "is_writer") diff --git a/sdk/python/pulumi_aws/rds/cluster.py b/sdk/python/pulumi_aws/rds/cluster.py index baf77d25f2a..5fcc42b2a5d 100644 --- a/sdk/python/pulumi_aws/rds/cluster.py +++ b/sdk/python/pulumi_aws/rds/cluster.py @@ -2251,7 +2251,8 @@ def __init__(__self__, storage_encrypted=True, serverlessv2_scaling_configuration={ "max_capacity": 1, - "min_capacity": 0.5, + "min_capacity": 0, + "seconds_until_auto_pause": 3600, }) example_cluster_instance = aws.rds.ClusterInstance("example", cluster_identifier=example.id, @@ -2526,7 +2527,8 @@ def __init__(__self__, storage_encrypted=True, serverlessv2_scaling_configuration={ "max_capacity": 1, - "min_capacity": 0.5, + "min_capacity": 0, + "seconds_until_auto_pause": 3600, }) example_cluster_instance = aws.rds.ClusterInstance("example", cluster_identifier=example.id, diff --git a/sdk/python/pulumi_aws/rds/global_cluster.py b/sdk/python/pulumi_aws/rds/global_cluster.py index a32d3ca3338..09489d0ac3e 100644 --- a/sdk/python/pulumi_aws/rds/global_cluster.py +++ b/sdk/python/pulumi_aws/rds/global_cluster.py @@ -29,11 +29,12 @@ def __init__(__self__, *, engine_version: Optional[pulumi.Input[str]] = None, force_destroy: Optional[pulumi.Input[bool]] = None, source_db_cluster_identifier: Optional[pulumi.Input[str]] = None, - storage_encrypted: Optional[pulumi.Input[bool]] = None): + storage_encrypted: Optional[pulumi.Input[bool]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): """ The set of arguments for constructing a GlobalCluster resource. :param pulumi.Input[str] global_cluster_identifier: Global cluster identifier. - :param pulumi.Input[str] database_name: Name for an automatically created database on cluster creation. + :param pulumi.Input[str] database_name: Name for an automatically created database on cluster creation. Pulumi will only perform drift detection if a configuration value is provided. :param pulumi.Input[bool] deletion_protection: If the Global Cluster should have deletion protection enabled. The database can't be deleted when this value is set to `true`. The default is `false`. :param pulumi.Input[str] engine: Name of the database engine to be used for this DB cluster. The provider will only perform drift detection if a configuration value is provided. Valid values: `aurora`, `aurora-mysql`, `aurora-postgresql`. Defaults to `aurora`. Conflicts with `source_db_cluster_identifier`. :param pulumi.Input[str] engine_lifecycle_support: The life cycle type for this DB instance. This setting applies only to Aurora PostgreSQL-based global databases. Valid values are `open-source-rds-extended-support`, `open-source-rds-extended-support-disabled`. Default value is `open-source-rds-extended-support`. [Using Amazon RDS Extended Support]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/extended-support.html @@ -41,6 +42,7 @@ def __init__(__self__, *, :param pulumi.Input[bool] force_destroy: Enable to remove DB Cluster members from Global Cluster on destroy. Required with `source_db_cluster_identifier`. :param pulumi.Input[str] source_db_cluster_identifier: Amazon Resource Name (ARN) to use as the primary DB Cluster of the Global Cluster on creation. The provider cannot perform drift detection of this value. :param pulumi.Input[bool] storage_encrypted: Specifies whether the DB cluster is encrypted. The default is `false` unless `source_db_cluster_identifier` is specified and encrypted. The provider will only perform drift detection if a configuration value is provided. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the DB cluster. 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__, "global_cluster_identifier", global_cluster_identifier) if database_name is not None: @@ -59,6 +61,8 @@ def __init__(__self__, *, pulumi.set(__self__, "source_db_cluster_identifier", source_db_cluster_identifier) if storage_encrypted is not None: pulumi.set(__self__, "storage_encrypted", storage_encrypted) + if tags is not None: + pulumi.set(__self__, "tags", tags) @property @pulumi.getter(name="globalClusterIdentifier") @@ -76,7 +80,7 @@ def global_cluster_identifier(self, value: pulumi.Input[str]): @pulumi.getter(name="databaseName") def database_name(self) -> Optional[pulumi.Input[str]]: """ - Name for an automatically created database on cluster creation. + Name for an automatically created database on cluster creation. Pulumi will only perform drift detection if a configuration value is provided. """ return pulumi.get(self, "database_name") @@ -168,6 +172,18 @@ def storage_encrypted(self) -> Optional[pulumi.Input[bool]]: def storage_encrypted(self, value: Optional[pulumi.Input[bool]]): pulumi.set(self, "storage_encrypted", value) + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + A map of tags to assign to the DB cluster. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + """ + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags", value) + @pulumi.input_type class _GlobalClusterState: @@ -185,11 +201,13 @@ def __init__(__self__, *, global_cluster_members: Optional[pulumi.Input[Sequence[pulumi.Input['GlobalClusterGlobalClusterMemberArgs']]]] = None, global_cluster_resource_id: Optional[pulumi.Input[str]] = None, source_db_cluster_identifier: Optional[pulumi.Input[str]] = None, - storage_encrypted: Optional[pulumi.Input[bool]] = None): + storage_encrypted: Optional[pulumi.Input[bool]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): """ Input properties used for looking up and filtering GlobalCluster resources. - :param pulumi.Input[str] arn: RDS Global Cluster Amazon Resource Name (ARN) - :param pulumi.Input[str] database_name: Name for an automatically created database on cluster creation. + :param pulumi.Input[str] arn: RDS Global Cluster Amazon Resource Name (ARN). + :param pulumi.Input[str] database_name: Name for an automatically created database on cluster creation. Pulumi will only perform drift detection if a configuration value is provided. :param pulumi.Input[bool] deletion_protection: If the Global Cluster should have deletion protection enabled. The database can't be deleted when this value is set to `true`. The default is `false`. :param pulumi.Input[str] endpoint: Writer endpoint for the new global database cluster. This endpoint always points to the writer DB instance in the current primary cluster. :param pulumi.Input[str] engine: Name of the database engine to be used for this DB cluster. The provider will only perform drift detection if a configuration value is provided. Valid values: `aurora`, `aurora-mysql`, `aurora-postgresql`. Defaults to `aurora`. Conflicts with `source_db_cluster_identifier`. @@ -198,9 +216,11 @@ def __init__(__self__, *, :param pulumi.Input[bool] force_destroy: Enable to remove DB Cluster members from Global Cluster on destroy. Required with `source_db_cluster_identifier`. :param pulumi.Input[str] global_cluster_identifier: Global cluster identifier. :param pulumi.Input[Sequence[pulumi.Input['GlobalClusterGlobalClusterMemberArgs']]] global_cluster_members: Set of objects containing Global Cluster members. - :param pulumi.Input[str] global_cluster_resource_id: AWS Region-unique, immutable identifier for the global database cluster. This identifier is found in AWS CloudTrail log entries whenever the AWS KMS key for the DB cluster is accessed + :param pulumi.Input[str] global_cluster_resource_id: AWS Region-unique, immutable identifier for the global database cluster. This identifier is found in AWS CloudTrail log entries whenever the AWS KMS key for the DB cluster is accessed. :param pulumi.Input[str] source_db_cluster_identifier: Amazon Resource Name (ARN) to use as the primary DB Cluster of the Global Cluster on creation. The provider cannot perform drift detection of this value. :param pulumi.Input[bool] storage_encrypted: Specifies whether the DB cluster is encrypted. The default is `false` unless `source_db_cluster_identifier` is specified and encrypted. The provider will only perform drift detection if a configuration value is provided. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the DB cluster. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. """ if arn is not None: pulumi.set(__self__, "arn", arn) @@ -230,12 +250,19 @@ def __init__(__self__, *, pulumi.set(__self__, "source_db_cluster_identifier", source_db_cluster_identifier) if storage_encrypted is not None: pulumi.set(__self__, "storage_encrypted", storage_encrypted) + if tags is not None: + pulumi.set(__self__, "tags", tags) + if tags_all is not None: + warnings.warn("""Please use `tags` instead.""", DeprecationWarning) + pulumi.log.warn("""tags_all is deprecated: Please use `tags` instead.""") + if tags_all is not None: + pulumi.set(__self__, "tags_all", tags_all) @property @pulumi.getter def arn(self) -> Optional[pulumi.Input[str]]: """ - RDS Global Cluster Amazon Resource Name (ARN) + RDS Global Cluster Amazon Resource Name (ARN). """ return pulumi.get(self, "arn") @@ -247,7 +274,7 @@ def arn(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="databaseName") def database_name(self) -> Optional[pulumi.Input[str]]: """ - Name for an automatically created database on cluster creation. + Name for an automatically created database on cluster creation. Pulumi will only perform drift detection if a configuration value is provided. """ return pulumi.get(self, "database_name") @@ -364,7 +391,7 @@ def global_cluster_members(self, value: Optional[pulumi.Input[Sequence[pulumi.In @pulumi.getter(name="globalClusterResourceId") def global_cluster_resource_id(self) -> Optional[pulumi.Input[str]]: """ - AWS Region-unique, immutable identifier for the global database cluster. This identifier is found in AWS CloudTrail log entries whenever the AWS KMS key for the DB cluster is accessed + AWS Region-unique, immutable identifier for the global database cluster. This identifier is found in AWS CloudTrail log entries whenever the AWS KMS key for the DB cluster is accessed. """ return pulumi.get(self, "global_cluster_resource_id") @@ -396,6 +423,31 @@ def storage_encrypted(self) -> Optional[pulumi.Input[bool]]: def storage_encrypted(self, value: Optional[pulumi.Input[bool]]): pulumi.set(self, "storage_encrypted", value) + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + A map of tags to assign to the DB cluster. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + """ + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags", value) + + @property + @pulumi.getter(name="tagsAll") + @_utilities.deprecated("""Please use `tags` instead.""") + def tags_all(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + """ + return pulumi.get(self, "tags_all") + + @tags_all.setter + def tags_all(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags_all", value) + class GlobalCluster(pulumi.CustomResource): @overload @@ -411,6 +463,7 @@ def __init__(__self__, global_cluster_identifier: Optional[pulumi.Input[str]] = None, source_db_cluster_identifier: Optional[pulumi.Input[str]] = None, storage_encrypted: Optional[pulumi.Input[bool]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, __props__=None): """ Manages an RDS Global Cluster, which is an Aurora global database spread across multiple regions. The global database contains a single primary cluster with read-write capability, and a read-only secondary cluster that receives data from the primary cluster through high-speed replication performed by the Aurora storage subsystem. @@ -564,7 +617,7 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[str] database_name: Name for an automatically created database on cluster creation. + :param pulumi.Input[str] database_name: Name for an automatically created database on cluster creation. Pulumi will only perform drift detection if a configuration value is provided. :param pulumi.Input[bool] deletion_protection: If the Global Cluster should have deletion protection enabled. The database can't be deleted when this value is set to `true`. The default is `false`. :param pulumi.Input[str] engine: Name of the database engine to be used for this DB cluster. The provider will only perform drift detection if a configuration value is provided. Valid values: `aurora`, `aurora-mysql`, `aurora-postgresql`. Defaults to `aurora`. Conflicts with `source_db_cluster_identifier`. :param pulumi.Input[str] engine_lifecycle_support: The life cycle type for this DB instance. This setting applies only to Aurora PostgreSQL-based global databases. Valid values are `open-source-rds-extended-support`, `open-source-rds-extended-support-disabled`. Default value is `open-source-rds-extended-support`. [Using Amazon RDS Extended Support]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/extended-support.html @@ -573,6 +626,7 @@ def __init__(__self__, :param pulumi.Input[str] global_cluster_identifier: Global cluster identifier. :param pulumi.Input[str] source_db_cluster_identifier: Amazon Resource Name (ARN) to use as the primary DB Cluster of the Global Cluster on creation. The provider cannot perform drift detection of this value. :param pulumi.Input[bool] storage_encrypted: Specifies whether the DB cluster is encrypted. The default is `false` unless `source_db_cluster_identifier` is specified and encrypted. The provider will only perform drift detection if a configuration value is provided. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the DB cluster. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. """ ... @overload @@ -754,6 +808,7 @@ def _internal_init(__self__, global_cluster_identifier: Optional[pulumi.Input[str]] = None, source_db_cluster_identifier: Optional[pulumi.Input[str]] = None, storage_encrypted: Optional[pulumi.Input[bool]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) if not isinstance(opts, pulumi.ResourceOptions): @@ -774,11 +829,13 @@ def _internal_init(__self__, __props__.__dict__["global_cluster_identifier"] = global_cluster_identifier __props__.__dict__["source_db_cluster_identifier"] = source_db_cluster_identifier __props__.__dict__["storage_encrypted"] = storage_encrypted + __props__.__dict__["tags"] = tags __props__.__dict__["arn"] = None __props__.__dict__["endpoint"] = None __props__.__dict__["engine_version_actual"] = None __props__.__dict__["global_cluster_members"] = None __props__.__dict__["global_cluster_resource_id"] = None + __props__.__dict__["tags_all"] = None super(GlobalCluster, __self__).__init__( 'aws:rds/globalCluster:GlobalCluster', resource_name, @@ -802,7 +859,9 @@ def get(resource_name: str, global_cluster_members: Optional[pulumi.Input[Sequence[pulumi.Input[Union['GlobalClusterGlobalClusterMemberArgs', 'GlobalClusterGlobalClusterMemberArgsDict']]]]] = None, global_cluster_resource_id: Optional[pulumi.Input[str]] = None, source_db_cluster_identifier: Optional[pulumi.Input[str]] = None, - storage_encrypted: Optional[pulumi.Input[bool]] = None) -> 'GlobalCluster': + storage_encrypted: Optional[pulumi.Input[bool]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None) -> 'GlobalCluster': """ Get an existing GlobalCluster resource's state with the given name, id, and optional extra properties used to qualify the lookup. @@ -810,8 +869,8 @@ 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] arn: RDS Global Cluster Amazon Resource Name (ARN) - :param pulumi.Input[str] database_name: Name for an automatically created database on cluster creation. + :param pulumi.Input[str] arn: RDS Global Cluster Amazon Resource Name (ARN). + :param pulumi.Input[str] database_name: Name for an automatically created database on cluster creation. Pulumi will only perform drift detection if a configuration value is provided. :param pulumi.Input[bool] deletion_protection: If the Global Cluster should have deletion protection enabled. The database can't be deleted when this value is set to `true`. The default is `false`. :param pulumi.Input[str] endpoint: Writer endpoint for the new global database cluster. This endpoint always points to the writer DB instance in the current primary cluster. :param pulumi.Input[str] engine: Name of the database engine to be used for this DB cluster. The provider will only perform drift detection if a configuration value is provided. Valid values: `aurora`, `aurora-mysql`, `aurora-postgresql`. Defaults to `aurora`. Conflicts with `source_db_cluster_identifier`. @@ -820,9 +879,11 @@ def get(resource_name: str, :param pulumi.Input[bool] force_destroy: Enable to remove DB Cluster members from Global Cluster on destroy. Required with `source_db_cluster_identifier`. :param pulumi.Input[str] global_cluster_identifier: Global cluster identifier. :param pulumi.Input[Sequence[pulumi.Input[Union['GlobalClusterGlobalClusterMemberArgs', 'GlobalClusterGlobalClusterMemberArgsDict']]]] global_cluster_members: Set of objects containing Global Cluster members. - :param pulumi.Input[str] global_cluster_resource_id: AWS Region-unique, immutable identifier for the global database cluster. This identifier is found in AWS CloudTrail log entries whenever the AWS KMS key for the DB cluster is accessed + :param pulumi.Input[str] global_cluster_resource_id: AWS Region-unique, immutable identifier for the global database cluster. This identifier is found in AWS CloudTrail log entries whenever the AWS KMS key for the DB cluster is accessed. :param pulumi.Input[str] source_db_cluster_identifier: Amazon Resource Name (ARN) to use as the primary DB Cluster of the Global Cluster on creation. The provider cannot perform drift detection of this value. :param pulumi.Input[bool] storage_encrypted: Specifies whether the DB cluster is encrypted. The default is `false` unless `source_db_cluster_identifier` is specified and encrypted. The provider will only perform drift detection if a configuration value is provided. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the DB cluster. 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)) @@ -842,21 +903,23 @@ def get(resource_name: str, __props__.__dict__["global_cluster_resource_id"] = global_cluster_resource_id __props__.__dict__["source_db_cluster_identifier"] = source_db_cluster_identifier __props__.__dict__["storage_encrypted"] = storage_encrypted + __props__.__dict__["tags"] = tags + __props__.__dict__["tags_all"] = tags_all return GlobalCluster(resource_name, opts=opts, __props__=__props__) @property @pulumi.getter def arn(self) -> pulumi.Output[str]: """ - RDS Global Cluster Amazon Resource Name (ARN) + RDS Global Cluster Amazon Resource Name (ARN). """ return pulumi.get(self, "arn") @property @pulumi.getter(name="databaseName") - def database_name(self) -> pulumi.Output[Optional[str]]: + def database_name(self) -> pulumi.Output[str]: """ - Name for an automatically created database on cluster creation. + Name for an automatically created database on cluster creation. Pulumi will only perform drift detection if a configuration value is provided. """ return pulumi.get(self, "database_name") @@ -933,7 +996,7 @@ def global_cluster_members(self) -> pulumi.Output[Sequence['outputs.GlobalCluste @pulumi.getter(name="globalClusterResourceId") def global_cluster_resource_id(self) -> pulumi.Output[str]: """ - AWS Region-unique, immutable identifier for the global database cluster. This identifier is found in AWS CloudTrail log entries whenever the AWS KMS key for the DB cluster is accessed + AWS Region-unique, immutable identifier for the global database cluster. This identifier is found in AWS CloudTrail log entries whenever the AWS KMS key for the DB cluster is accessed. """ return pulumi.get(self, "global_cluster_resource_id") @@ -953,3 +1016,20 @@ def storage_encrypted(self) -> pulumi.Output[bool]: """ return pulumi.get(self, "storage_encrypted") + @property + @pulumi.getter + def tags(self) -> pulumi.Output[Optional[Mapping[str, str]]]: + """ + A map of tags to assign to the DB cluster. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + """ + return pulumi.get(self, "tags") + + @property + @pulumi.getter(name="tagsAll") + @_utilities.deprecated("""Please use `tags` instead.""") + def tags_all(self) -> pulumi.Output[Mapping[str, str]]: + """ + Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + """ + return pulumi.get(self, "tags_all") + diff --git a/sdk/python/pulumi_aws/rds/instance.py b/sdk/python/pulumi_aws/rds/instance.py index 54ff8421f18..ec5879ebfa0 100644 --- a/sdk/python/pulumi_aws/rds/instance.py +++ b/sdk/python/pulumi_aws/rds/instance.py @@ -131,13 +131,12 @@ def __init__(__self__, *, Replicate database managed by the provider will promote the database to a fully standalone database. :param pulumi.Input[str] db_name: The name of the database to create when the DB instance is created. If this parameter is not specified, no database is created in the DB instance. Note that this does not apply for Oracle or SQL Server engines. See the [AWS documentation](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/rds/create-db-instance.html) for more details on what applies for those engines. If you are providing an Oracle db name, it needs to be in all upper case. Cannot be specified for a replica. - :param pulumi.Input[str] db_subnet_group_name: Name of DB subnet group. DB instance will - be created in the VPC associated with the DB subnet group. If unspecified, will - be created in the `default` VPC, or in EC2 Classic, if available. When working - with read replicas, it should be specified only if the source database - specifies an instance in another AWS Region. See [DBSubnetGroupName in API - action CreateDBInstanceReadReplica](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstanceReadReplica.html) - for additional read replica constraints. + :param pulumi.Input[str] db_subnet_group_name: Name of DB subnet group. + DB instance will be created in the VPC associated with the DB subnet group. + If unspecified, will be created in the `default` Subnet Group. + When working with read replicas created in the same region, defaults to the Subnet Group Name of the source DB. + When working with read replicas created in a different region, defaults to the `default` Subnet Group. + See [DBSubnetGroupName in API action CreateDBInstanceReadReplica](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstanceReadReplica.html) for additional read replica constraints. :param pulumi.Input[bool] dedicated_log_volume: Use a dedicated log volume (DLV) for the DB instance. Requires Provisioned IOPS. See the [AWS documentation](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PIOPS.StorageTypes.html#USER_PIOPS.dlv) for more details. :param pulumi.Input[bool] delete_automated_backups: Specifies whether to remove automated backups immediately after the DB instance is deleted. Default is `true`. :param pulumi.Input[bool] deletion_protection: If the DB instance should have deletion protection enabled. The database can't be deleted when this value is set to `true`. The default is `false`. @@ -204,25 +203,23 @@ def __init__(__self__, *, accessible. Default is `false`. :param pulumi.Input[str] replica_mode: Specifies whether the replica is in either `mounted` or `open-read-only` mode. This attribute is only supported by Oracle instances. Oracle replicas operate in `open-read-only` mode unless otherwise specified. See [Working with Oracle Read Replicas](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/oracle-read-replicas.html) for more information. - :param pulumi.Input[str] replicate_source_db: Specifies that this resource is a Replicate - database, and to use this value as the source database. This correlates to the - `identifier` of another Amazon RDS Database to replicate (if replicating within - a single region) or ARN of the Amazon RDS Database to replicate (if replicating - cross-region). Note that if you are - creating a cross-region replica of an encrypted database you will also need to - specify a `kms_key_id`. See [DB Instance Replication][instance-replication] and [Working with - PostgreSQL and MySQL Read Replicas](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ReadRepl.html) - for more information on using Replication. - :param pulumi.Input['InstanceRestoreToPointInTimeArgs'] restore_to_point_in_time: A configuration block for restoring a DB instance to an arbitrary point in time. Requires the `identifier` argument to be set with the name of the new DB instance to be created. See Restore To Point In Time below for details. + :param pulumi.Input[str] replicate_source_db: Specifies that this resource is a Replica database, and to use this value as the source database. + If replicating an Amazon RDS Database Instance in the same region, use the `identifier` of the source DB, unless also specifying the `db_subnet_group_name`. + If specifying the `db_subnet_group_name` in the same region, use the `arn` of the source DB. + If replicating an Instance in a different region, use the `arn` of the source DB. + Note that if you are creating a cross-region replica of an encrypted database you will also need to specify a `kms_key_id`. + See [DB Instance Replication][instance-replication] and [Working with PostgreSQL and MySQL Read Replicas](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ReadRepl.html) for more information on using Replication. + :param pulumi.Input['InstanceRestoreToPointInTimeArgs'] restore_to_point_in_time: A configuration block for restoring a DB instance to an arbitrary point in time. + Requires the `identifier` argument to be set with the name of the new DB instance to be created. + See Restore To Point In Time below for details. :param pulumi.Input['InstanceS3ImportArgs'] s3_import: Restore from a Percona Xtrabackup in S3. See [Importing Data into an Amazon RDS MySQL DB Instance](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/MySQL.Procedural.Importing.html) :param pulumi.Input[bool] skip_final_snapshot: Determines whether a final DB snapshot is created before the DB instance is deleted. If true is specified, no DBSnapshot is created. If false is specified, a DB snapshot is created before the DB instance is deleted, using the value from `final_snapshot_identifier`. Default is `false`. - :param pulumi.Input[str] snapshot_identifier: Specifies whether or not to create this - database from a snapshot. This correlates to the snapshot ID you'd find in the - RDS console, e.g: rds:production-2015-06-26-06-05. + :param pulumi.Input[str] snapshot_identifier: Specifies whether or not to create this database from a snapshot. + This corresponds to the snapshot ID you'd find in the RDS console, e.g: rds:production-2015-06-26-06-05. :param pulumi.Input[bool] storage_encrypted: Specifies whether the DB instance is encrypted. Note that if you are creating a cross-region read replica this field is ignored and you should instead declare `kms_key_id` with a valid ARN. The @@ -238,7 +235,8 @@ def __init__(__self__, *, creation. See [MSSQL User Guide](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_SQLServer.html#SQLServer.Concepts.General.TimeZone) for more information. - :param pulumi.Input[bool] upgrade_storage_config: Whether to upgrade the storage file system configuration on the read replica. Can only be set with `replicate_source_db`. + :param pulumi.Input[bool] upgrade_storage_config: Whether to upgrade the storage file system configuration on the read replica. + Can only be set with `replicate_source_db`. :param pulumi.Input[str] username: (Required unless a `snapshot_identifier` or `replicate_source_db` is provided) Username for the master DB user. Cannot be specified for a replica. :param pulumi.Input[Sequence[pulumi.Input[str]]] vpc_security_group_ids: List of VPC security groups to @@ -603,13 +601,12 @@ def db_name(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="dbSubnetGroupName") def db_subnet_group_name(self) -> Optional[pulumi.Input[str]]: """ - Name of DB subnet group. DB instance will - be created in the VPC associated with the DB subnet group. If unspecified, will - be created in the `default` VPC, or in EC2 Classic, if available. When working - with read replicas, it should be specified only if the source database - specifies an instance in another AWS Region. See [DBSubnetGroupName in API - action CreateDBInstanceReadReplica](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstanceReadReplica.html) - for additional read replica constraints. + Name of DB subnet group. + DB instance will be created in the VPC associated with the DB subnet group. + If unspecified, will be created in the `default` Subnet Group. + When working with read replicas created in the same region, defaults to the Subnet Group Name of the source DB. + When working with read replicas created in a different region, defaults to the `default` Subnet Group. + See [DBSubnetGroupName in API action CreateDBInstanceReadReplica](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstanceReadReplica.html) for additional read replica constraints. """ return pulumi.get(self, "db_subnet_group_name") @@ -1115,15 +1112,12 @@ def replica_mode(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="replicateSourceDb") def replicate_source_db(self) -> Optional[pulumi.Input[str]]: """ - Specifies that this resource is a Replicate - database, and to use this value as the source database. This correlates to the - `identifier` of another Amazon RDS Database to replicate (if replicating within - a single region) or ARN of the Amazon RDS Database to replicate (if replicating - cross-region). Note that if you are - creating a cross-region replica of an encrypted database you will also need to - specify a `kms_key_id`. See [DB Instance Replication][instance-replication] and [Working with - PostgreSQL and MySQL Read Replicas](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ReadRepl.html) - for more information on using Replication. + Specifies that this resource is a Replica database, and to use this value as the source database. + If replicating an Amazon RDS Database Instance in the same region, use the `identifier` of the source DB, unless also specifying the `db_subnet_group_name`. + If specifying the `db_subnet_group_name` in the same region, use the `arn` of the source DB. + If replicating an Instance in a different region, use the `arn` of the source DB. + Note that if you are creating a cross-region replica of an encrypted database you will also need to specify a `kms_key_id`. + See [DB Instance Replication][instance-replication] and [Working with PostgreSQL and MySQL Read Replicas](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ReadRepl.html) for more information on using Replication. """ return pulumi.get(self, "replicate_source_db") @@ -1135,7 +1129,9 @@ def replicate_source_db(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="restoreToPointInTime") def restore_to_point_in_time(self) -> Optional[pulumi.Input['InstanceRestoreToPointInTimeArgs']]: """ - A configuration block for restoring a DB instance to an arbitrary point in time. Requires the `identifier` argument to be set with the name of the new DB instance to be created. See Restore To Point In Time below for details. + A configuration block for restoring a DB instance to an arbitrary point in time. + Requires the `identifier` argument to be set with the name of the new DB instance to be created. + See Restore To Point In Time below for details. """ return pulumi.get(self, "restore_to_point_in_time") @@ -1175,9 +1171,8 @@ def skip_final_snapshot(self, value: Optional[pulumi.Input[bool]]): @pulumi.getter(name="snapshotIdentifier") def snapshot_identifier(self) -> Optional[pulumi.Input[str]]: """ - Specifies whether or not to create this - database from a snapshot. This correlates to the snapshot ID you'd find in the - RDS console, e.g: rds:production-2015-06-26-06-05. + Specifies whether or not to create this database from a snapshot. + This corresponds to the snapshot ID you'd find in the RDS console, e.g: rds:production-2015-06-26-06-05. """ return pulumi.get(self, "snapshot_identifier") @@ -1259,7 +1254,8 @@ def timezone(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="upgradeStorageConfig") def upgrade_storage_config(self) -> Optional[pulumi.Input[bool]]: """ - Whether to upgrade the storage file system configuration on the read replica. Can only be set with `replicate_source_db`. + Whether to upgrade the storage file system configuration on the read replica. + Can only be set with `replicate_source_db`. """ return pulumi.get(self, "upgrade_storage_config") @@ -1419,13 +1415,12 @@ def __init__(__self__, *, Replicate database managed by the provider will promote the database to a fully standalone database. :param pulumi.Input[str] db_name: The name of the database to create when the DB instance is created. If this parameter is not specified, no database is created in the DB instance. Note that this does not apply for Oracle or SQL Server engines. See the [AWS documentation](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/rds/create-db-instance.html) for more details on what applies for those engines. If you are providing an Oracle db name, it needs to be in all upper case. Cannot be specified for a replica. - :param pulumi.Input[str] db_subnet_group_name: Name of DB subnet group. DB instance will - be created in the VPC associated with the DB subnet group. If unspecified, will - be created in the `default` VPC, or in EC2 Classic, if available. When working - with read replicas, it should be specified only if the source database - specifies an instance in another AWS Region. See [DBSubnetGroupName in API - action CreateDBInstanceReadReplica](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstanceReadReplica.html) - for additional read replica constraints. + :param pulumi.Input[str] db_subnet_group_name: Name of DB subnet group. + DB instance will be created in the VPC associated with the DB subnet group. + If unspecified, will be created in the `default` Subnet Group. + When working with read replicas created in the same region, defaults to the Subnet Group Name of the source DB. + When working with read replicas created in a different region, defaults to the `default` Subnet Group. + See [DBSubnetGroupName in API action CreateDBInstanceReadReplica](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstanceReadReplica.html) for additional read replica constraints. :param pulumi.Input[bool] dedicated_log_volume: Use a dedicated log volume (DLV) for the DB instance. Requires Provisioned IOPS. See the [AWS documentation](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PIOPS.StorageTypes.html#USER_PIOPS.dlv) for more details. :param pulumi.Input[bool] delete_automated_backups: Specifies whether to remove automated backups immediately after the DB instance is deleted. Default is `true`. :param pulumi.Input[bool] deletion_protection: If the DB instance should have deletion protection enabled. The database can't be deleted when this value is set to `true`. The default is `false`. @@ -1499,26 +1494,24 @@ def __init__(__self__, *, accessible. Default is `false`. :param pulumi.Input[str] replica_mode: Specifies whether the replica is in either `mounted` or `open-read-only` mode. This attribute is only supported by Oracle instances. Oracle replicas operate in `open-read-only` mode unless otherwise specified. See [Working with Oracle Read Replicas](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/oracle-read-replicas.html) for more information. - :param pulumi.Input[str] replicate_source_db: Specifies that this resource is a Replicate - database, and to use this value as the source database. This correlates to the - `identifier` of another Amazon RDS Database to replicate (if replicating within - a single region) or ARN of the Amazon RDS Database to replicate (if replicating - cross-region). Note that if you are - creating a cross-region replica of an encrypted database you will also need to - specify a `kms_key_id`. See [DB Instance Replication][instance-replication] and [Working with - PostgreSQL and MySQL Read Replicas](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ReadRepl.html) - for more information on using Replication. + :param pulumi.Input[str] replicate_source_db: Specifies that this resource is a Replica database, and to use this value as the source database. + If replicating an Amazon RDS Database Instance in the same region, use the `identifier` of the source DB, unless also specifying the `db_subnet_group_name`. + If specifying the `db_subnet_group_name` in the same region, use the `arn` of the source DB. + If replicating an Instance in a different region, use the `arn` of the source DB. + Note that if you are creating a cross-region replica of an encrypted database you will also need to specify a `kms_key_id`. + See [DB Instance Replication][instance-replication] and [Working with PostgreSQL and MySQL Read Replicas](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ReadRepl.html) for more information on using Replication. :param pulumi.Input[str] resource_id: The RDS Resource ID of this instance. - :param pulumi.Input['InstanceRestoreToPointInTimeArgs'] restore_to_point_in_time: A configuration block for restoring a DB instance to an arbitrary point in time. Requires the `identifier` argument to be set with the name of the new DB instance to be created. See Restore To Point In Time below for details. + :param pulumi.Input['InstanceRestoreToPointInTimeArgs'] restore_to_point_in_time: A configuration block for restoring a DB instance to an arbitrary point in time. + Requires the `identifier` argument to be set with the name of the new DB instance to be created. + See Restore To Point In Time below for details. :param pulumi.Input['InstanceS3ImportArgs'] s3_import: Restore from a Percona Xtrabackup in S3. See [Importing Data into an Amazon RDS MySQL DB Instance](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/MySQL.Procedural.Importing.html) :param pulumi.Input[bool] skip_final_snapshot: Determines whether a final DB snapshot is created before the DB instance is deleted. If true is specified, no DBSnapshot is created. If false is specified, a DB snapshot is created before the DB instance is deleted, using the value from `final_snapshot_identifier`. Default is `false`. - :param pulumi.Input[str] snapshot_identifier: Specifies whether or not to create this - database from a snapshot. This correlates to the snapshot ID you'd find in the - RDS console, e.g: rds:production-2015-06-26-06-05. + :param pulumi.Input[str] snapshot_identifier: Specifies whether or not to create this database from a snapshot. + This corresponds to the snapshot ID you'd find in the RDS console, e.g: rds:production-2015-06-26-06-05. :param pulumi.Input[str] status: The RDS instance status. :param pulumi.Input[bool] storage_encrypted: Specifies whether the DB instance is encrypted. Note that if you are creating a cross-region read replica this field @@ -1536,7 +1529,8 @@ def __init__(__self__, *, creation. See [MSSQL User Guide](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_SQLServer.html#SQLServer.Concepts.General.TimeZone) for more information. - :param pulumi.Input[bool] upgrade_storage_config: Whether to upgrade the storage file system configuration on the read replica. Can only be set with `replicate_source_db`. + :param pulumi.Input[bool] upgrade_storage_config: Whether to upgrade the storage file system configuration on the read replica. + Can only be set with `replicate_source_db`. :param pulumi.Input[str] username: (Required unless a `snapshot_identifier` or `replicate_source_db` is provided) Username for the master DB user. Cannot be specified for a replica. :param pulumi.Input[Sequence[pulumi.Input[str]]] vpc_security_group_ids: List of VPC security groups to @@ -1941,13 +1935,12 @@ def db_name(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="dbSubnetGroupName") def db_subnet_group_name(self) -> Optional[pulumi.Input[str]]: """ - Name of DB subnet group. DB instance will - be created in the VPC associated with the DB subnet group. If unspecified, will - be created in the `default` VPC, or in EC2 Classic, if available. When working - with read replicas, it should be specified only if the source database - specifies an instance in another AWS Region. See [DBSubnetGroupName in API - action CreateDBInstanceReadReplica](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstanceReadReplica.html) - for additional read replica constraints. + Name of DB subnet group. + DB instance will be created in the VPC associated with the DB subnet group. + If unspecified, will be created in the `default` Subnet Group. + When working with read replicas created in the same region, defaults to the Subnet Group Name of the source DB. + When working with read replicas created in a different region, defaults to the `default` Subnet Group. + See [DBSubnetGroupName in API action CreateDBInstanceReadReplica](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstanceReadReplica.html) for additional read replica constraints. """ return pulumi.get(self, "db_subnet_group_name") @@ -2546,15 +2539,12 @@ def replicas(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): @pulumi.getter(name="replicateSourceDb") def replicate_source_db(self) -> Optional[pulumi.Input[str]]: """ - Specifies that this resource is a Replicate - database, and to use this value as the source database. This correlates to the - `identifier` of another Amazon RDS Database to replicate (if replicating within - a single region) or ARN of the Amazon RDS Database to replicate (if replicating - cross-region). Note that if you are - creating a cross-region replica of an encrypted database you will also need to - specify a `kms_key_id`. See [DB Instance Replication][instance-replication] and [Working with - PostgreSQL and MySQL Read Replicas](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ReadRepl.html) - for more information on using Replication. + Specifies that this resource is a Replica database, and to use this value as the source database. + If replicating an Amazon RDS Database Instance in the same region, use the `identifier` of the source DB, unless also specifying the `db_subnet_group_name`. + If specifying the `db_subnet_group_name` in the same region, use the `arn` of the source DB. + If replicating an Instance in a different region, use the `arn` of the source DB. + Note that if you are creating a cross-region replica of an encrypted database you will also need to specify a `kms_key_id`. + See [DB Instance Replication][instance-replication] and [Working with PostgreSQL and MySQL Read Replicas](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ReadRepl.html) for more information on using Replication. """ return pulumi.get(self, "replicate_source_db") @@ -2578,7 +2568,9 @@ def resource_id(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="restoreToPointInTime") def restore_to_point_in_time(self) -> Optional[pulumi.Input['InstanceRestoreToPointInTimeArgs']]: """ - A configuration block for restoring a DB instance to an arbitrary point in time. Requires the `identifier` argument to be set with the name of the new DB instance to be created. See Restore To Point In Time below for details. + A configuration block for restoring a DB instance to an arbitrary point in time. + Requires the `identifier` argument to be set with the name of the new DB instance to be created. + See Restore To Point In Time below for details. """ return pulumi.get(self, "restore_to_point_in_time") @@ -2618,9 +2610,8 @@ def skip_final_snapshot(self, value: Optional[pulumi.Input[bool]]): @pulumi.getter(name="snapshotIdentifier") def snapshot_identifier(self) -> Optional[pulumi.Input[str]]: """ - Specifies whether or not to create this - database from a snapshot. This correlates to the snapshot ID you'd find in the - RDS console, e.g: rds:production-2015-06-26-06-05. + Specifies whether or not to create this database from a snapshot. + This corresponds to the snapshot ID you'd find in the RDS console, e.g: rds:production-2015-06-26-06-05. """ return pulumi.get(self, "snapshot_identifier") @@ -2727,7 +2718,8 @@ def timezone(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="upgradeStorageConfig") def upgrade_storage_config(self) -> Optional[pulumi.Input[bool]]: """ - Whether to upgrade the storage file system configuration on the read replica. Can only be set with `replicate_source_db`. + Whether to upgrade the storage file system configuration on the read replica. + Can only be set with `replicate_source_db`. """ return pulumi.get(self, "upgrade_storage_config") @@ -3129,13 +3121,12 @@ def __init__(__self__, Replicate database managed by the provider will promote the database to a fully standalone database. :param pulumi.Input[str] db_name: The name of the database to create when the DB instance is created. If this parameter is not specified, no database is created in the DB instance. Note that this does not apply for Oracle or SQL Server engines. See the [AWS documentation](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/rds/create-db-instance.html) for more details on what applies for those engines. If you are providing an Oracle db name, it needs to be in all upper case. Cannot be specified for a replica. - :param pulumi.Input[str] db_subnet_group_name: Name of DB subnet group. DB instance will - be created in the VPC associated with the DB subnet group. If unspecified, will - be created in the `default` VPC, or in EC2 Classic, if available. When working - with read replicas, it should be specified only if the source database - specifies an instance in another AWS Region. See [DBSubnetGroupName in API - action CreateDBInstanceReadReplica](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstanceReadReplica.html) - for additional read replica constraints. + :param pulumi.Input[str] db_subnet_group_name: Name of DB subnet group. + DB instance will be created in the VPC associated with the DB subnet group. + If unspecified, will be created in the `default` Subnet Group. + When working with read replicas created in the same region, defaults to the Subnet Group Name of the source DB. + When working with read replicas created in a different region, defaults to the `default` Subnet Group. + See [DBSubnetGroupName in API action CreateDBInstanceReadReplica](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstanceReadReplica.html) for additional read replica constraints. :param pulumi.Input[bool] dedicated_log_volume: Use a dedicated log volume (DLV) for the DB instance. Requires Provisioned IOPS. See the [AWS documentation](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PIOPS.StorageTypes.html#USER_PIOPS.dlv) for more details. :param pulumi.Input[bool] delete_automated_backups: Specifies whether to remove automated backups immediately after the DB instance is deleted. Default is `true`. :param pulumi.Input[bool] deletion_protection: If the DB instance should have deletion protection enabled. The database can't be deleted when this value is set to `true`. The default is `false`. @@ -3203,25 +3194,23 @@ def __init__(__self__, accessible. Default is `false`. :param pulumi.Input[str] replica_mode: Specifies whether the replica is in either `mounted` or `open-read-only` mode. This attribute is only supported by Oracle instances. Oracle replicas operate in `open-read-only` mode unless otherwise specified. See [Working with Oracle Read Replicas](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/oracle-read-replicas.html) for more information. - :param pulumi.Input[str] replicate_source_db: Specifies that this resource is a Replicate - database, and to use this value as the source database. This correlates to the - `identifier` of another Amazon RDS Database to replicate (if replicating within - a single region) or ARN of the Amazon RDS Database to replicate (if replicating - cross-region). Note that if you are - creating a cross-region replica of an encrypted database you will also need to - specify a `kms_key_id`. See [DB Instance Replication][instance-replication] and [Working with - PostgreSQL and MySQL Read Replicas](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ReadRepl.html) - for more information on using Replication. - :param pulumi.Input[Union['InstanceRestoreToPointInTimeArgs', 'InstanceRestoreToPointInTimeArgsDict']] restore_to_point_in_time: A configuration block for restoring a DB instance to an arbitrary point in time. Requires the `identifier` argument to be set with the name of the new DB instance to be created. See Restore To Point In Time below for details. + :param pulumi.Input[str] replicate_source_db: Specifies that this resource is a Replica database, and to use this value as the source database. + If replicating an Amazon RDS Database Instance in the same region, use the `identifier` of the source DB, unless also specifying the `db_subnet_group_name`. + If specifying the `db_subnet_group_name` in the same region, use the `arn` of the source DB. + If replicating an Instance in a different region, use the `arn` of the source DB. + Note that if you are creating a cross-region replica of an encrypted database you will also need to specify a `kms_key_id`. + See [DB Instance Replication][instance-replication] and [Working with PostgreSQL and MySQL Read Replicas](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ReadRepl.html) for more information on using Replication. + :param pulumi.Input[Union['InstanceRestoreToPointInTimeArgs', 'InstanceRestoreToPointInTimeArgsDict']] restore_to_point_in_time: A configuration block for restoring a DB instance to an arbitrary point in time. + Requires the `identifier` argument to be set with the name of the new DB instance to be created. + See Restore To Point In Time below for details. :param pulumi.Input[Union['InstanceS3ImportArgs', 'InstanceS3ImportArgsDict']] s3_import: Restore from a Percona Xtrabackup in S3. See [Importing Data into an Amazon RDS MySQL DB Instance](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/MySQL.Procedural.Importing.html) :param pulumi.Input[bool] skip_final_snapshot: Determines whether a final DB snapshot is created before the DB instance is deleted. If true is specified, no DBSnapshot is created. If false is specified, a DB snapshot is created before the DB instance is deleted, using the value from `final_snapshot_identifier`. Default is `false`. - :param pulumi.Input[str] snapshot_identifier: Specifies whether or not to create this - database from a snapshot. This correlates to the snapshot ID you'd find in the - RDS console, e.g: rds:production-2015-06-26-06-05. + :param pulumi.Input[str] snapshot_identifier: Specifies whether or not to create this database from a snapshot. + This corresponds to the snapshot ID you'd find in the RDS console, e.g: rds:production-2015-06-26-06-05. :param pulumi.Input[bool] storage_encrypted: Specifies whether the DB instance is encrypted. Note that if you are creating a cross-region read replica this field is ignored and you should instead declare `kms_key_id` with a valid ARN. The @@ -3237,7 +3226,8 @@ def __init__(__self__, creation. See [MSSQL User Guide](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_SQLServer.html#SQLServer.Concepts.General.TimeZone) for more information. - :param pulumi.Input[bool] upgrade_storage_config: Whether to upgrade the storage file system configuration on the read replica. Can only be set with `replicate_source_db`. + :param pulumi.Input[bool] upgrade_storage_config: Whether to upgrade the storage file system configuration on the read replica. + Can only be set with `replicate_source_db`. :param pulumi.Input[str] username: (Required unless a `snapshot_identifier` or `replicate_source_db` is provided) Username for the master DB user. Cannot be specified for a replica. :param pulumi.Input[Sequence[pulumi.Input[str]]] vpc_security_group_ids: List of VPC security groups to @@ -3817,13 +3807,12 @@ def get(resource_name: str, Replicate database managed by the provider will promote the database to a fully standalone database. :param pulumi.Input[str] db_name: The name of the database to create when the DB instance is created. If this parameter is not specified, no database is created in the DB instance. Note that this does not apply for Oracle or SQL Server engines. See the [AWS documentation](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/rds/create-db-instance.html) for more details on what applies for those engines. If you are providing an Oracle db name, it needs to be in all upper case. Cannot be specified for a replica. - :param pulumi.Input[str] db_subnet_group_name: Name of DB subnet group. DB instance will - be created in the VPC associated with the DB subnet group. If unspecified, will - be created in the `default` VPC, or in EC2 Classic, if available. When working - with read replicas, it should be specified only if the source database - specifies an instance in another AWS Region. See [DBSubnetGroupName in API - action CreateDBInstanceReadReplica](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstanceReadReplica.html) - for additional read replica constraints. + :param pulumi.Input[str] db_subnet_group_name: Name of DB subnet group. + DB instance will be created in the VPC associated with the DB subnet group. + If unspecified, will be created in the `default` Subnet Group. + When working with read replicas created in the same region, defaults to the Subnet Group Name of the source DB. + When working with read replicas created in a different region, defaults to the `default` Subnet Group. + See [DBSubnetGroupName in API action CreateDBInstanceReadReplica](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstanceReadReplica.html) for additional read replica constraints. :param pulumi.Input[bool] dedicated_log_volume: Use a dedicated log volume (DLV) for the DB instance. Requires Provisioned IOPS. See the [AWS documentation](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PIOPS.StorageTypes.html#USER_PIOPS.dlv) for more details. :param pulumi.Input[bool] delete_automated_backups: Specifies whether to remove automated backups immediately after the DB instance is deleted. Default is `true`. :param pulumi.Input[bool] deletion_protection: If the DB instance should have deletion protection enabled. The database can't be deleted when this value is set to `true`. The default is `false`. @@ -3897,26 +3886,24 @@ def get(resource_name: str, accessible. Default is `false`. :param pulumi.Input[str] replica_mode: Specifies whether the replica is in either `mounted` or `open-read-only` mode. This attribute is only supported by Oracle instances. Oracle replicas operate in `open-read-only` mode unless otherwise specified. See [Working with Oracle Read Replicas](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/oracle-read-replicas.html) for more information. - :param pulumi.Input[str] replicate_source_db: Specifies that this resource is a Replicate - database, and to use this value as the source database. This correlates to the - `identifier` of another Amazon RDS Database to replicate (if replicating within - a single region) or ARN of the Amazon RDS Database to replicate (if replicating - cross-region). Note that if you are - creating a cross-region replica of an encrypted database you will also need to - specify a `kms_key_id`. See [DB Instance Replication][instance-replication] and [Working with - PostgreSQL and MySQL Read Replicas](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ReadRepl.html) - for more information on using Replication. + :param pulumi.Input[str] replicate_source_db: Specifies that this resource is a Replica database, and to use this value as the source database. + If replicating an Amazon RDS Database Instance in the same region, use the `identifier` of the source DB, unless also specifying the `db_subnet_group_name`. + If specifying the `db_subnet_group_name` in the same region, use the `arn` of the source DB. + If replicating an Instance in a different region, use the `arn` of the source DB. + Note that if you are creating a cross-region replica of an encrypted database you will also need to specify a `kms_key_id`. + See [DB Instance Replication][instance-replication] and [Working with PostgreSQL and MySQL Read Replicas](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ReadRepl.html) for more information on using Replication. :param pulumi.Input[str] resource_id: The RDS Resource ID of this instance. - :param pulumi.Input[Union['InstanceRestoreToPointInTimeArgs', 'InstanceRestoreToPointInTimeArgsDict']] restore_to_point_in_time: A configuration block for restoring a DB instance to an arbitrary point in time. Requires the `identifier` argument to be set with the name of the new DB instance to be created. See Restore To Point In Time below for details. + :param pulumi.Input[Union['InstanceRestoreToPointInTimeArgs', 'InstanceRestoreToPointInTimeArgsDict']] restore_to_point_in_time: A configuration block for restoring a DB instance to an arbitrary point in time. + Requires the `identifier` argument to be set with the name of the new DB instance to be created. + See Restore To Point In Time below for details. :param pulumi.Input[Union['InstanceS3ImportArgs', 'InstanceS3ImportArgsDict']] s3_import: Restore from a Percona Xtrabackup in S3. See [Importing Data into an Amazon RDS MySQL DB Instance](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/MySQL.Procedural.Importing.html) :param pulumi.Input[bool] skip_final_snapshot: Determines whether a final DB snapshot is created before the DB instance is deleted. If true is specified, no DBSnapshot is created. If false is specified, a DB snapshot is created before the DB instance is deleted, using the value from `final_snapshot_identifier`. Default is `false`. - :param pulumi.Input[str] snapshot_identifier: Specifies whether or not to create this - database from a snapshot. This correlates to the snapshot ID you'd find in the - RDS console, e.g: rds:production-2015-06-26-06-05. + :param pulumi.Input[str] snapshot_identifier: Specifies whether or not to create this database from a snapshot. + This corresponds to the snapshot ID you'd find in the RDS console, e.g: rds:production-2015-06-26-06-05. :param pulumi.Input[str] status: The RDS instance status. :param pulumi.Input[bool] storage_encrypted: Specifies whether the DB instance is encrypted. Note that if you are creating a cross-region read replica this field @@ -3934,7 +3921,8 @@ def get(resource_name: str, creation. See [MSSQL User Guide](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_SQLServer.html#SQLServer.Concepts.General.TimeZone) for more information. - :param pulumi.Input[bool] upgrade_storage_config: Whether to upgrade the storage file system configuration on the read replica. Can only be set with `replicate_source_db`. + :param pulumi.Input[bool] upgrade_storage_config: Whether to upgrade the storage file system configuration on the read replica. + Can only be set with `replicate_source_db`. :param pulumi.Input[str] username: (Required unless a `snapshot_identifier` or `replicate_source_db` is provided) Username for the master DB user. Cannot be specified for a replica. :param pulumi.Input[Sequence[pulumi.Input[str]]] vpc_security_group_ids: List of VPC security groups to @@ -4189,13 +4177,12 @@ def db_name(self) -> pulumi.Output[str]: @pulumi.getter(name="dbSubnetGroupName") def db_subnet_group_name(self) -> pulumi.Output[str]: """ - Name of DB subnet group. DB instance will - be created in the VPC associated with the DB subnet group. If unspecified, will - be created in the `default` VPC, or in EC2 Classic, if available. When working - with read replicas, it should be specified only if the source database - specifies an instance in another AWS Region. See [DBSubnetGroupName in API - action CreateDBInstanceReadReplica](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstanceReadReplica.html) - for additional read replica constraints. + Name of DB subnet group. + DB instance will be created in the VPC associated with the DB subnet group. + If unspecified, will be created in the `default` Subnet Group. + When working with read replicas created in the same region, defaults to the Subnet Group Name of the source DB. + When working with read replicas created in a different region, defaults to the `default` Subnet Group. + See [DBSubnetGroupName in API action CreateDBInstanceReadReplica](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstanceReadReplica.html) for additional read replica constraints. """ return pulumi.get(self, "db_subnet_group_name") @@ -4602,15 +4589,12 @@ def replicas(self) -> pulumi.Output[Sequence[str]]: @pulumi.getter(name="replicateSourceDb") def replicate_source_db(self) -> pulumi.Output[Optional[str]]: """ - Specifies that this resource is a Replicate - database, and to use this value as the source database. This correlates to the - `identifier` of another Amazon RDS Database to replicate (if replicating within - a single region) or ARN of the Amazon RDS Database to replicate (if replicating - cross-region). Note that if you are - creating a cross-region replica of an encrypted database you will also need to - specify a `kms_key_id`. See [DB Instance Replication][instance-replication] and [Working with - PostgreSQL and MySQL Read Replicas](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ReadRepl.html) - for more information on using Replication. + Specifies that this resource is a Replica database, and to use this value as the source database. + If replicating an Amazon RDS Database Instance in the same region, use the `identifier` of the source DB, unless also specifying the `db_subnet_group_name`. + If specifying the `db_subnet_group_name` in the same region, use the `arn` of the source DB. + If replicating an Instance in a different region, use the `arn` of the source DB. + Note that if you are creating a cross-region replica of an encrypted database you will also need to specify a `kms_key_id`. + See [DB Instance Replication][instance-replication] and [Working with PostgreSQL and MySQL Read Replicas](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ReadRepl.html) for more information on using Replication. """ return pulumi.get(self, "replicate_source_db") @@ -4626,7 +4610,9 @@ def resource_id(self) -> pulumi.Output[str]: @pulumi.getter(name="restoreToPointInTime") def restore_to_point_in_time(self) -> pulumi.Output[Optional['outputs.InstanceRestoreToPointInTime']]: """ - A configuration block for restoring a DB instance to an arbitrary point in time. Requires the `identifier` argument to be set with the name of the new DB instance to be created. See Restore To Point In Time below for details. + A configuration block for restoring a DB instance to an arbitrary point in time. + Requires the `identifier` argument to be set with the name of the new DB instance to be created. + See Restore To Point In Time below for details. """ return pulumi.get(self, "restore_to_point_in_time") @@ -4654,9 +4640,8 @@ def skip_final_snapshot(self) -> pulumi.Output[Optional[bool]]: @pulumi.getter(name="snapshotIdentifier") def snapshot_identifier(self) -> pulumi.Output[str]: """ - Specifies whether or not to create this - database from a snapshot. This correlates to the snapshot ID you'd find in the - RDS console, e.g: rds:production-2015-06-26-06-05. + Specifies whether or not to create this database from a snapshot. + This corresponds to the snapshot ID you'd find in the RDS console, e.g: rds:production-2015-06-26-06-05. """ return pulumi.get(self, "snapshot_identifier") @@ -4731,7 +4716,8 @@ def timezone(self) -> pulumi.Output[str]: @pulumi.getter(name="upgradeStorageConfig") def upgrade_storage_config(self) -> pulumi.Output[Optional[bool]]: """ - Whether to upgrade the storage file system configuration on the read replica. Can only be set with `replicate_source_db`. + Whether to upgrade the storage file system configuration on the read replica. + Can only be set with `replicate_source_db`. """ return pulumi.get(self, "upgrade_storage_config") diff --git a/sdk/python/pulumi_aws/rds/outputs.py b/sdk/python/pulumi_aws/rds/outputs.py index 87e052f6441..669129a8e18 100644 --- a/sdk/python/pulumi_aws/rds/outputs.py +++ b/sdk/python/pulumi_aws/rds/outputs.py @@ -473,6 +473,8 @@ def __key_warning(key: str): suggest = "max_capacity" elif key == "minCapacity": suggest = "min_capacity" + elif key == "secondsUntilAutoPause": + suggest = "seconds_until_auto_pause" if suggest: pulumi.log.warn(f"Key '{key}' not found in ClusterServerlessv2ScalingConfiguration. Access the value via the '{suggest}' property getter instead.") @@ -487,13 +489,17 @@ def get(self, key: str, default = None) -> Any: def __init__(__self__, *, max_capacity: float, - min_capacity: float): + min_capacity: float, + seconds_until_auto_pause: Optional[int] = None): """ :param float max_capacity: Maximum capacity for an Aurora DB cluster in `provisioned` DB engine mode. The maximum capacity must be greater than or equal to the minimum capacity. Valid capacity values are in a range of `0` up to `256` in steps of `0.5`. :param float min_capacity: Minimum capacity for an Aurora DB cluster in `provisioned` DB engine mode. The minimum capacity must be lesser than or equal to the maximum capacity. Valid capacity values are in a range of `0` up to `256` in steps of `0.5`. + :param int seconds_until_auto_pause: Time, in seconds, before an Aurora DB cluster in `provisioned` DB engine mode is paused. Valid values are `300` through `86400`. """ pulumi.set(__self__, "max_capacity", max_capacity) pulumi.set(__self__, "min_capacity", min_capacity) + if seconds_until_auto_pause is not None: + pulumi.set(__self__, "seconds_until_auto_pause", seconds_until_auto_pause) @property @pulumi.getter(name="maxCapacity") @@ -511,6 +517,14 @@ def min_capacity(self) -> float: """ return pulumi.get(self, "min_capacity") + @property + @pulumi.getter(name="secondsUntilAutoPause") + def seconds_until_auto_pause(self) -> Optional[int]: + """ + Time, in seconds, before an Aurora DB cluster in `provisioned` DB engine mode is paused. Valid values are `300` through `86400`. + """ + return pulumi.get(self, "seconds_until_auto_pause") + @pulumi.output_type class ExportTaskTimeouts(dict): @@ -568,8 +582,8 @@ def __init__(__self__, *, db_cluster_arn: Optional[str] = None, is_writer: Optional[bool] = None): """ - :param str db_cluster_arn: Amazon Resource Name (ARN) of member DB Cluster - :param bool is_writer: Whether the member is the primary DB Cluster + :param str db_cluster_arn: Amazon Resource Name (ARN) of member DB Cluster. + :param bool is_writer: Whether the member is the primary DB Cluster. """ if db_cluster_arn is not None: pulumi.set(__self__, "db_cluster_arn", db_cluster_arn) @@ -580,7 +594,7 @@ def __init__(__self__, *, @pulumi.getter(name="dbClusterArn") def db_cluster_arn(self) -> Optional[str]: """ - Amazon Resource Name (ARN) of member DB Cluster + Amazon Resource Name (ARN) of member DB Cluster. """ return pulumi.get(self, "db_cluster_arn") @@ -588,7 +602,7 @@ def db_cluster_arn(self) -> Optional[str]: @pulumi.getter(name="isWriter") def is_writer(self) -> Optional[bool]: """ - Whether the member is the primary DB Cluster + Whether the member is the primary DB Cluster. """ return pulumi.get(self, "is_writer") diff --git a/sdk/python/pulumi_aws/rds/proxy.py b/sdk/python/pulumi_aws/rds/proxy.py index eacc0666ff1..3fd5bbd20a2 100644 --- a/sdk/python/pulumi_aws/rds/proxy.py +++ b/sdk/python/pulumi_aws/rds/proxy.py @@ -419,35 +419,6 @@ def __init__(__self__, vpc_subnet_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, __props__=None): """ - Provides an RDS DB proxy resource. For additional information, see the [RDS User Guide](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-proxy.html). - - ## Example Usage - - ```python - import pulumi - import pulumi_aws as aws - - example = aws.rds.Proxy("example", - name="example", - debug_logging=False, - engine_family="MYSQL", - idle_client_timeout=1800, - require_tls=True, - role_arn=example_aws_iam_role["arn"], - vpc_security_group_ids=[example_aws_security_group["id"]], - vpc_subnet_ids=[example_aws_subnet["id"]], - auths=[{ - "auth_scheme": "SECRETS", - "description": "example", - "iam_auth": "DISABLED", - "secret_arn": example_aws_secretsmanager_secret["arn"], - }], - tags={ - "Name": "example", - "Key": "value", - }) - ``` - ## Import Using `pulumi import`, import DB proxies using the `name`. For example: @@ -476,35 +447,6 @@ def __init__(__self__, args: ProxyArgs, opts: Optional[pulumi.ResourceOptions] = None): """ - Provides an RDS DB proxy resource. For additional information, see the [RDS User Guide](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-proxy.html). - - ## Example Usage - - ```python - import pulumi - import pulumi_aws as aws - - example = aws.rds.Proxy("example", - name="example", - debug_logging=False, - engine_family="MYSQL", - idle_client_timeout=1800, - require_tls=True, - role_arn=example_aws_iam_role["arn"], - vpc_security_group_ids=[example_aws_security_group["id"]], - vpc_subnet_ids=[example_aws_subnet["id"]], - auths=[{ - "auth_scheme": "SECRETS", - "description": "example", - "iam_auth": "DISABLED", - "secret_arn": example_aws_secretsmanager_secret["arn"], - }], - tags={ - "Name": "example", - "Key": "value", - }) - ``` - ## Import Using `pulumi import`, import DB proxies using the `name`. For example: diff --git a/sdk/python/pulumi_aws/route53/profiles_association.py b/sdk/python/pulumi_aws/route53/profiles_association.py index e717fea5e85..94bcefdb321 100644 --- a/sdk/python/pulumi_aws/route53/profiles_association.py +++ b/sdk/python/pulumi_aws/route53/profiles_association.py @@ -31,6 +31,7 @@ def __init__(__self__, *, :param pulumi.Input[str] profile_id: ID of the profile associated with the VPC. :param pulumi.Input[str] resource_id: Resource ID of the VPC the profile to be associated with. :param pulumi.Input[str] name: Name of the Profile Association. Must match a regex of `(?!^[0-9]+$)([a-zA-Z0-9\\\\-_' ']+)`. + :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. """ pulumi.set(__self__, "profile_id", profile_id) pulumi.set(__self__, "resource_id", resource_id) @@ -80,6 +81,9 @@ def name(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + Map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + """ return pulumi.get(self, "tags") @tags.setter @@ -114,8 +118,10 @@ def __init__(__self__, *, :param pulumi.Input[str] name: Name of the Profile Association. Must match a regex of `(?!^[0-9]+$)([a-zA-Z0-9\\\\-_' ']+)`. :param pulumi.Input[str] profile_id: ID of the profile associated with the VPC. :param pulumi.Input[str] resource_id: Resource ID of the VPC the profile to be associated with. - :param pulumi.Input[str] status: Status of the Profile Association. See the [AWS docs](https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53profiles_Profile.html) for valid values. + :param pulumi.Input[str] status: Status of the Profile Association. :param pulumi.Input[str] status_message: Status message of the Profile Association. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. """ if arn is not None: pulumi.set(__self__, "arn", arn) @@ -199,7 +205,7 @@ def resource_id(self, value: Optional[pulumi.Input[str]]): @pulumi.getter def status(self) -> Optional[pulumi.Input[str]]: """ - Status of the Profile Association. See the [AWS docs](https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53profiles_Profile.html) for valid values. + Status of the Profile Association. """ return pulumi.get(self, "status") @@ -222,6 +228,9 @@ def status_message(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + Map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + """ return pulumi.get(self, "tags") @tags.setter @@ -232,6 +241,9 @@ def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): @pulumi.getter(name="tagsAll") @_utilities.deprecated("""Please use `tags` instead.""") def tags_all(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + """ return pulumi.get(self, "tags_all") @tags_all.setter @@ -277,6 +289,7 @@ def __init__(__self__, :param pulumi.Input[str] name: Name of the Profile Association. Must match a regex of `(?!^[0-9]+$)([a-zA-Z0-9\\\\-_' ']+)`. :param pulumi.Input[str] profile_id: ID of the profile associated with the VPC. :param pulumi.Input[str] resource_id: Resource ID of the VPC the profile to be associated with. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. """ ... @overload @@ -370,8 +383,10 @@ def get(resource_name: str, :param pulumi.Input[str] name: Name of the Profile Association. Must match a regex of `(?!^[0-9]+$)([a-zA-Z0-9\\\\-_' ']+)`. :param pulumi.Input[str] profile_id: ID of the profile associated with the VPC. :param pulumi.Input[str] resource_id: Resource ID of the VPC the profile to be associated with. - :param pulumi.Input[str] status: Status of the Profile Association. See the [AWS docs](https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53profiles_Profile.html) for valid values. + :param pulumi.Input[str] status: Status of the Profile Association. :param pulumi.Input[str] status_message: Status message of the Profile Association. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) @@ -427,7 +442,7 @@ def resource_id(self) -> pulumi.Output[str]: @pulumi.getter def status(self) -> pulumi.Output[str]: """ - Status of the Profile Association. See the [AWS docs](https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53profiles_Profile.html) for valid values. + Status of the Profile Association. """ return pulumi.get(self, "status") @@ -442,12 +457,18 @@ def status_message(self) -> pulumi.Output[str]: @property @pulumi.getter def tags(self) -> pulumi.Output[Optional[Mapping[str, str]]]: + """ + Map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + """ return pulumi.get(self, "tags") @property @pulumi.getter(name="tagsAll") @_utilities.deprecated("""Please use `tags` instead.""") def tags_all(self) -> pulumi.Output[Mapping[str, str]]: + """ + Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + """ return pulumi.get(self, "tags_all") @property diff --git a/sdk/python/pulumi_aws/route53/profiles_profile.py b/sdk/python/pulumi_aws/route53/profiles_profile.py index 85bd6f7754c..f36be0ee869 100644 --- a/sdk/python/pulumi_aws/route53/profiles_profile.py +++ b/sdk/python/pulumi_aws/route53/profiles_profile.py @@ -27,6 +27,7 @@ def __init__(__self__, *, """ The set of arguments for constructing a ProfilesProfile resource. :param pulumi.Input[str] name: Name of the Profile. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. """ if name is not None: pulumi.set(__self__, "name", name) @@ -50,6 +51,9 @@ def name(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + Map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + """ return pulumi.get(self, "tags") @tags.setter @@ -82,9 +86,10 @@ def __init__(__self__, *, Input properties used for looking up and filtering ProfilesProfile resources. :param pulumi.Input[str] arn: ARN of the Profile. :param pulumi.Input[str] name: Name of the Profile. - :param pulumi.Input[str] share_status: Share status of the Profile. Valid values [AWS docs](https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53profiles_Profile.html) - :param pulumi.Input[str] status: Status of the Profile. Valid values [AWS docs](https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53profiles_Profile.html) + :param pulumi.Input[str] share_status: Share status of the Profile. + :param pulumi.Input[str] status: Status of the Profile. :param pulumi.Input[str] status_message: Status message of the Profile. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. """ if arn is not None: @@ -146,7 +151,7 @@ def owner_id(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="shareStatus") def share_status(self) -> Optional[pulumi.Input[str]]: """ - Share status of the Profile. Valid values [AWS docs](https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53profiles_Profile.html) + Share status of the Profile. """ return pulumi.get(self, "share_status") @@ -158,7 +163,7 @@ def share_status(self, value: Optional[pulumi.Input[str]]): @pulumi.getter def status(self) -> Optional[pulumi.Input[str]]: """ - Status of the Profile. Valid values [AWS docs](https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53profiles_Profile.html) + Status of the Profile. """ return pulumi.get(self, "status") @@ -181,6 +186,9 @@ def status_message(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + Map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + """ return pulumi.get(self, "tags") @tags.setter @@ -230,7 +238,11 @@ def __init__(__self__, import pulumi import pulumi_aws as aws - example = aws.route53.ProfilesProfile("example", name="example") + example = aws.route53.ProfilesProfile("example", + name="example", + tags={ + "Environment": "dev", + }) ``` ## Import @@ -244,6 +256,7 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] name: Name of the Profile. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. """ ... @overload @@ -262,7 +275,11 @@ def __init__(__self__, import pulumi import pulumi_aws as aws - example = aws.route53.ProfilesProfile("example", name="example") + example = aws.route53.ProfilesProfile("example", + name="example", + tags={ + "Environment": "dev", + }) ``` ## Import @@ -337,9 +354,10 @@ def get(resource_name: str, :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] arn: ARN of the Profile. :param pulumi.Input[str] name: Name of the Profile. - :param pulumi.Input[str] share_status: Share status of the Profile. Valid values [AWS docs](https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53profiles_Profile.html) - :param pulumi.Input[str] status: Status of the Profile. Valid values [AWS docs](https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53profiles_Profile.html) + :param pulumi.Input[str] share_status: Share status of the Profile. + :param pulumi.Input[str] status: Status of the Profile. :param pulumi.Input[str] status_message: Status message of the Profile. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) @@ -382,7 +400,7 @@ def owner_id(self) -> pulumi.Output[str]: @pulumi.getter(name="shareStatus") def share_status(self) -> pulumi.Output[str]: """ - Share status of the Profile. Valid values [AWS docs](https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53profiles_Profile.html) + Share status of the Profile. """ return pulumi.get(self, "share_status") @@ -390,7 +408,7 @@ def share_status(self) -> pulumi.Output[str]: @pulumi.getter def status(self) -> pulumi.Output[str]: """ - Status of the Profile. Valid values [AWS docs](https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53profiles_Profile.html) + Status of the Profile. """ return pulumi.get(self, "status") @@ -405,6 +423,9 @@ def status_message(self) -> pulumi.Output[str]: @property @pulumi.getter def tags(self) -> pulumi.Output[Optional[Mapping[str, str]]]: + """ + Map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + """ return pulumi.get(self, "tags") @property diff --git a/sdk/python/pulumi_aws/sagemaker/notebook_instance.py b/sdk/python/pulumi_aws/sagemaker/notebook_instance.py index ce072b92f0f..8b5169990d5 100644 --- a/sdk/python/pulumi_aws/sagemaker/notebook_instance.py +++ b/sdk/python/pulumi_aws/sagemaker/notebook_instance.py @@ -50,7 +50,7 @@ def __init__(__self__, *, :param pulumi.Input[str] kms_key_id: The AWS Key Management Service (AWS KMS) key that Amazon SageMaker uses to encrypt the model artifacts at rest using Amazon S3 server-side encryption. :param pulumi.Input[str] lifecycle_config_name: The name of a lifecycle configuration to associate with the notebook instance. :param pulumi.Input[str] name: The name of the notebook instance (must be unique). - :param pulumi.Input[str] platform_identifier: The platform identifier of the notebook instance runtime environment. This value can be either `notebook-al1-v1`, `notebook-al2-v1`, or `notebook-al2-v2`, depending on which version of Amazon Linux you require. + :param pulumi.Input[str] platform_identifier: The platform identifier of the notebook instance runtime environment. This value can be either `notebook-al1-v1`, `notebook-al2-v1`, `notebook-al2-v2`, or `notebook-al2-v3`, depending on which version of Amazon Linux you require. :param pulumi.Input[str] root_access: Whether root access is `Enabled` or `Disabled` for users of the notebook instance. The default value is `Enabled`. :param pulumi.Input[Sequence[pulumi.Input[str]]] security_groups: The associated security groups. :param pulumi.Input[str] subnet_id: The VPC subnet ID. @@ -213,7 +213,7 @@ def name(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="platformIdentifier") def platform_identifier(self) -> Optional[pulumi.Input[str]]: """ - The platform identifier of the notebook instance runtime environment. This value can be either `notebook-al1-v1`, `notebook-al2-v1`, or `notebook-al2-v2`, depending on which version of Amazon Linux you require. + The platform identifier of the notebook instance runtime environment. This value can be either `notebook-al1-v1`, `notebook-al2-v1`, `notebook-al2-v2`, or `notebook-al2-v3`, depending on which version of Amazon Linux you require. """ return pulumi.get(self, "platform_identifier") @@ -319,7 +319,7 @@ def __init__(__self__, *, :param pulumi.Input[str] lifecycle_config_name: The name of a lifecycle configuration to associate with the notebook instance. :param pulumi.Input[str] name: The name of the notebook instance (must be unique). :param pulumi.Input[str] network_interface_id: The network interface ID that Amazon SageMaker created at the time of creating the instance. Only available when setting `subnet_id`. - :param pulumi.Input[str] platform_identifier: The platform identifier of the notebook instance runtime environment. This value can be either `notebook-al1-v1`, `notebook-al2-v1`, or `notebook-al2-v2`, depending on which version of Amazon Linux you require. + :param pulumi.Input[str] platform_identifier: The platform identifier of the notebook instance runtime environment. This value can be either `notebook-al1-v1`, `notebook-al2-v1`, `notebook-al2-v2`, or `notebook-al2-v3`, depending on which version of Amazon Linux you require. :param pulumi.Input[str] role_arn: The ARN of the IAM role to be used by the notebook instance which allows SageMaker to call other services on your behalf. :param pulumi.Input[str] root_access: Whether root access is `Enabled` or `Disabled` for users of the notebook instance. The default value is `Enabled`. :param pulumi.Input[Sequence[pulumi.Input[str]]] security_groups: The associated security groups. @@ -510,7 +510,7 @@ def network_interface_id(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="platformIdentifier") def platform_identifier(self) -> Optional[pulumi.Input[str]]: """ - The platform identifier of the notebook instance runtime environment. This value can be either `notebook-al1-v1`, `notebook-al2-v1`, or `notebook-al2-v2`, depending on which version of Amazon Linux you require. + The platform identifier of the notebook instance runtime environment. This value can be either `notebook-al1-v1`, `notebook-al2-v1`, `notebook-al2-v2`, or `notebook-al2-v3`, depending on which version of Amazon Linux you require. """ return pulumi.get(self, "platform_identifier") @@ -699,7 +699,7 @@ def __init__(__self__, :param pulumi.Input[str] kms_key_id: The AWS Key Management Service (AWS KMS) key that Amazon SageMaker uses to encrypt the model artifacts at rest using Amazon S3 server-side encryption. :param pulumi.Input[str] lifecycle_config_name: The name of a lifecycle configuration to associate with the notebook instance. :param pulumi.Input[str] name: The name of the notebook instance (must be unique). - :param pulumi.Input[str] platform_identifier: The platform identifier of the notebook instance runtime environment. This value can be either `notebook-al1-v1`, `notebook-al2-v1`, or `notebook-al2-v2`, depending on which version of Amazon Linux you require. + :param pulumi.Input[str] platform_identifier: The platform identifier of the notebook instance runtime environment. This value can be either `notebook-al1-v1`, `notebook-al2-v1`, `notebook-al2-v2`, or `notebook-al2-v3`, depending on which version of Amazon Linux you require. :param pulumi.Input[str] role_arn: The ARN of the IAM role to be used by the notebook instance which allows SageMaker to call other services on your behalf. :param pulumi.Input[str] root_access: Whether root access is `Enabled` or `Disabled` for users of the notebook instance. The default value is `Enabled`. :param pulumi.Input[Sequence[pulumi.Input[str]]] security_groups: The associated security groups. @@ -875,7 +875,7 @@ def get(resource_name: str, :param pulumi.Input[str] lifecycle_config_name: The name of a lifecycle configuration to associate with the notebook instance. :param pulumi.Input[str] name: The name of the notebook instance (must be unique). :param pulumi.Input[str] network_interface_id: The network interface ID that Amazon SageMaker created at the time of creating the instance. Only available when setting `subnet_id`. - :param pulumi.Input[str] platform_identifier: The platform identifier of the notebook instance runtime environment. This value can be either `notebook-al1-v1`, `notebook-al2-v1`, or `notebook-al2-v2`, depending on which version of Amazon Linux you require. + :param pulumi.Input[str] platform_identifier: The platform identifier of the notebook instance runtime environment. This value can be either `notebook-al1-v1`, `notebook-al2-v1`, `notebook-al2-v2`, or `notebook-al2-v3`, depending on which version of Amazon Linux you require. :param pulumi.Input[str] role_arn: The ARN of the IAM role to be used by the notebook instance which allows SageMaker to call other services on your behalf. :param pulumi.Input[str] root_access: Whether root access is `Enabled` or `Disabled` for users of the notebook instance. The default value is `Enabled`. :param pulumi.Input[Sequence[pulumi.Input[str]]] security_groups: The associated security groups. @@ -1004,7 +1004,7 @@ def network_interface_id(self) -> pulumi.Output[str]: @pulumi.getter(name="platformIdentifier") def platform_identifier(self) -> pulumi.Output[str]: """ - The platform identifier of the notebook instance runtime environment. This value can be either `notebook-al1-v1`, `notebook-al2-v1`, or `notebook-al2-v2`, depending on which version of Amazon Linux you require. + The platform identifier of the notebook instance runtime environment. This value can be either `notebook-al1-v1`, `notebook-al2-v1`, `notebook-al2-v2`, or `notebook-al2-v3`, depending on which version of Amazon Linux you require. """ return pulumi.get(self, "platform_identifier") diff --git a/sdk/python/pulumi_aws/servicecatalog/__init__.py b/sdk/python/pulumi_aws/servicecatalog/__init__.py index d7829e394f6..391db4c6a53 100644 --- a/sdk/python/pulumi_aws/servicecatalog/__init__.py +++ b/sdk/python/pulumi_aws/servicecatalog/__init__.py @@ -6,9 +6,12 @@ import typing # Export this package's modules as members: from .appregistry_application import * +from .appregistry_attribute_group import * +from .appregistry_attribute_group_association import * from .budget_resource_association import * from .constraint import * from .get_appregistry_application import * +from .get_appregistry_attribute_group import * from .get_constraint import * from .get_launch_paths import * from .get_portfolio import * diff --git a/sdk/python/pulumi_aws/servicecatalog/appregistry_application.py b/sdk/python/pulumi_aws/servicecatalog/appregistry_application.py index 77901457e1a..d716bbc4e9a 100644 --- a/sdk/python/pulumi_aws/servicecatalog/appregistry_application.py +++ b/sdk/python/pulumi_aws/servicecatalog/appregistry_application.py @@ -20,18 +20,22 @@ class AppregistryApplicationArgs: def __init__(__self__, *, description: Optional[pulumi.Input[str]] = None, - name: Optional[pulumi.Input[str]] = None): + name: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): """ The set of arguments for constructing a AppregistryApplication resource. :param pulumi.Input[str] description: Description of the application. :param pulumi.Input[str] name: Name of the application. The name must be unique within an AWS region. The following arguments are optional: + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags assigned to the Application. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. """ if description is not None: pulumi.set(__self__, "description", description) if name is not None: pulumi.set(__self__, "name", name) + if tags is not None: + pulumi.set(__self__, "tags", tags) @property @pulumi.getter @@ -59,6 +63,18 @@ def name(self) -> Optional[pulumi.Input[str]]: def name(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "name", value) + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + A map of tags assigned to the Application. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + """ + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags", value) + @pulumi.input_type class _AppregistryApplicationState: @@ -66,7 +82,9 @@ def __init__(__self__, *, application_tag: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, arn: Optional[pulumi.Input[str]] = None, description: Optional[pulumi.Input[str]] = None, - name: Optional[pulumi.Input[str]] = None): + name: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): """ Input properties used for looking up and filtering AppregistryApplication resources. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] application_tag: A map with a single tag key-value pair used to associate resources with the application. This attribute can be passed directly into the `tags` argument of another resource, or merged into a map of existing tags. @@ -75,6 +93,8 @@ def __init__(__self__, *, :param pulumi.Input[str] name: Name of the application. The name must be unique within an AWS region. The following arguments are optional: + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags assigned to the Application. 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 application_tag is not None: pulumi.set(__self__, "application_tag", application_tag) @@ -84,6 +104,13 @@ def __init__(__self__, *, pulumi.set(__self__, "description", description) if name is not None: pulumi.set(__self__, "name", name) + if tags is not None: + pulumi.set(__self__, "tags", tags) + if tags_all is not None: + warnings.warn("""Please use `tags` instead.""", DeprecationWarning) + pulumi.log.warn("""tags_all is deprecated: Please use `tags` instead.""") + if tags_all is not None: + pulumi.set(__self__, "tags_all", tags_all) @property @pulumi.getter(name="applicationTag") @@ -135,6 +162,31 @@ def name(self) -> Optional[pulumi.Input[str]]: def name(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "name", value) + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + A map of tags assigned to the Application. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + """ + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags", value) + + @property + @pulumi.getter(name="tagsAll") + @_utilities.deprecated("""Please use `tags` instead.""") + def tags_all(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + """ + return pulumi.get(self, "tags_all") + + @tags_all.setter + def tags_all(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags_all", value) + class AppregistryApplication(pulumi.CustomResource): @overload @@ -143,6 +195,7 @@ def __init__(__self__, opts: Optional[pulumi.ResourceOptions] = None, description: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, __props__=None): """ Resource for managing an AWS Service Catalog AppRegistry Application. @@ -186,6 +239,7 @@ def __init__(__self__, :param pulumi.Input[str] name: Name of the application. The name must be unique within an AWS region. The following arguments are optional: + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags assigned to the Application. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. """ ... @overload @@ -246,6 +300,7 @@ def _internal_init(__self__, opts: Optional[pulumi.ResourceOptions] = None, description: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) if not isinstance(opts, pulumi.ResourceOptions): @@ -257,8 +312,10 @@ def _internal_init(__self__, __props__.__dict__["description"] = description __props__.__dict__["name"] = name + __props__.__dict__["tags"] = tags __props__.__dict__["application_tag"] = None __props__.__dict__["arn"] = None + __props__.__dict__["tags_all"] = None super(AppregistryApplication, __self__).__init__( 'aws:servicecatalog/appregistryApplication:AppregistryApplication', resource_name, @@ -272,7 +329,9 @@ def get(resource_name: str, application_tag: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, arn: Optional[pulumi.Input[str]] = None, description: Optional[pulumi.Input[str]] = None, - name: Optional[pulumi.Input[str]] = None) -> 'AppregistryApplication': + 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) -> 'AppregistryApplication': """ Get an existing AppregistryApplication resource's state with the given name, id, and optional extra properties used to qualify the lookup. @@ -286,6 +345,8 @@ def get(resource_name: str, :param pulumi.Input[str] name: Name of the application. The name must be unique within an AWS region. The following arguments are optional: + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags assigned to the Application. 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)) @@ -295,6 +356,8 @@ def get(resource_name: str, __props__.__dict__["arn"] = arn __props__.__dict__["description"] = description __props__.__dict__["name"] = name + __props__.__dict__["tags"] = tags + __props__.__dict__["tags_all"] = tags_all return AppregistryApplication(resource_name, opts=opts, __props__=__props__) @property @@ -331,3 +394,20 @@ def name(self) -> pulumi.Output[str]: """ return pulumi.get(self, "name") + @property + @pulumi.getter + def tags(self) -> pulumi.Output[Optional[Mapping[str, str]]]: + """ + A map of tags assigned to the Application. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + """ + return pulumi.get(self, "tags") + + @property + @pulumi.getter(name="tagsAll") + @_utilities.deprecated("""Please use `tags` instead.""") + def tags_all(self) -> pulumi.Output[Mapping[str, str]]: + """ + Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + """ + return pulumi.get(self, "tags_all") + diff --git a/sdk/python/pulumi_aws/servicecatalog/appregistry_attribute_group.py b/sdk/python/pulumi_aws/servicecatalog/appregistry_attribute_group.py new file mode 100644 index 00000000000..594097710a0 --- /dev/null +++ b/sdk/python/pulumi_aws/servicecatalog/appregistry_attribute_group.py @@ -0,0 +1,419 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import sys +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias +from .. import _utilities + +__all__ = ['AppregistryAttributeGroupArgs', 'AppregistryAttributeGroup'] + +@pulumi.input_type +class AppregistryAttributeGroupArgs: + def __init__(__self__, *, + attributes: pulumi.Input[str], + description: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): + """ + The set of arguments for constructing a AppregistryAttributeGroup resource. + :param pulumi.Input[str] attributes: A JSON string of nested key-value pairs that represents the attributes of the group. + + The following arguments are optional: + :param pulumi.Input[str] description: Description of the Attribute Group. + :param pulumi.Input[str] name: Name of the Attribute Group. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags assigned to the Attribute Group. 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__, "attributes", attributes) + if description is not None: + pulumi.set(__self__, "description", description) + if name is not None: + pulumi.set(__self__, "name", name) + if tags is not None: + pulumi.set(__self__, "tags", tags) + + @property + @pulumi.getter + def attributes(self) -> pulumi.Input[str]: + """ + A JSON string of nested key-value pairs that represents the attributes of the group. + + The following arguments are optional: + """ + return pulumi.get(self, "attributes") + + @attributes.setter + def attributes(self, value: pulumi.Input[str]): + pulumi.set(self, "attributes", value) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + Description of the Attribute Group. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Name of the Attribute Group. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + A map of tags assigned to the Attribute Group. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + """ + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags", value) + + +@pulumi.input_type +class _AppregistryAttributeGroupState: + def __init__(__self__, *, + arn: Optional[pulumi.Input[str]] = None, + attributes: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): + """ + Input properties used for looking up and filtering AppregistryAttributeGroup resources. + :param pulumi.Input[str] arn: ARN of the Attribute Group. + :param pulumi.Input[str] attributes: A JSON string of nested key-value pairs that represents the attributes of the group. + + The following arguments are optional: + :param pulumi.Input[str] description: Description of the Attribute Group. + :param pulumi.Input[str] name: Name of the Attribute Group. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags assigned to the Attribute Group. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + """ + if arn is not None: + pulumi.set(__self__, "arn", arn) + if attributes is not None: + pulumi.set(__self__, "attributes", attributes) + if description is not None: + pulumi.set(__self__, "description", description) + if name is not None: + pulumi.set(__self__, "name", name) + if tags is not None: + pulumi.set(__self__, "tags", tags) + if tags_all is not None: + warnings.warn("""Please use `tags` instead.""", DeprecationWarning) + pulumi.log.warn("""tags_all is deprecated: Please use `tags` instead.""") + if tags_all is not None: + pulumi.set(__self__, "tags_all", tags_all) + + @property + @pulumi.getter + def arn(self) -> Optional[pulumi.Input[str]]: + """ + ARN of the Attribute Group. + """ + return pulumi.get(self, "arn") + + @arn.setter + def arn(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "arn", value) + + @property + @pulumi.getter + def attributes(self) -> Optional[pulumi.Input[str]]: + """ + A JSON string of nested key-value pairs that represents the attributes of the group. + + The following arguments are optional: + """ + return pulumi.get(self, "attributes") + + @attributes.setter + def attributes(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "attributes", value) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + Description of the Attribute Group. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Name of the Attribute Group. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + A map of tags assigned to the Attribute Group. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + """ + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags", value) + + @property + @pulumi.getter(name="tagsAll") + @_utilities.deprecated("""Please use `tags` instead.""") + def tags_all(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + """ + return pulumi.get(self, "tags_all") + + @tags_all.setter + def tags_all(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags_all", value) + + +class AppregistryAttributeGroup(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + attributes: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + __props__=None): + """ + Resource for managing an AWS Service Catalog AppRegistry Attribute Group. + + ## Example Usage + + ### Basic Usage + + ```python + import pulumi + import json + import pulumi_aws as aws + + example = aws.servicecatalog.AppregistryAttributeGroup("example", + name="example", + description="example description", + attributes=json.dumps({ + "app": "exampleapp", + "group": "examplegroup", + })) + ``` + + ## Import + + Using `pulumi import`, import Service Catalog AppRegistry Attribute Group using the `id`. For example: + + ```sh + $ pulumi import aws:servicecatalog/appregistryAttributeGroup:AppregistryAttributeGroup example 1234567890abcfedhijk09876s + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] attributes: A JSON string of nested key-value pairs that represents the attributes of the group. + + The following arguments are optional: + :param pulumi.Input[str] description: Description of the Attribute Group. + :param pulumi.Input[str] name: Name of the Attribute Group. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags assigned to the Attribute Group. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: AppregistryAttributeGroupArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Resource for managing an AWS Service Catalog AppRegistry Attribute Group. + + ## Example Usage + + ### Basic Usage + + ```python + import pulumi + import json + import pulumi_aws as aws + + example = aws.servicecatalog.AppregistryAttributeGroup("example", + name="example", + description="example description", + attributes=json.dumps({ + "app": "exampleapp", + "group": "examplegroup", + })) + ``` + + ## Import + + Using `pulumi import`, import Service Catalog AppRegistry Attribute Group using the `id`. For example: + + ```sh + $ pulumi import aws:servicecatalog/appregistryAttributeGroup:AppregistryAttributeGroup example 1234567890abcfedhijk09876s + ``` + + :param str resource_name: The name of the resource. + :param AppregistryAttributeGroupArgs 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(AppregistryAttributeGroupArgs, 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, + attributes: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = AppregistryAttributeGroupArgs.__new__(AppregistryAttributeGroupArgs) + + if attributes is None and not opts.urn: + raise TypeError("Missing required property 'attributes'") + __props__.__dict__["attributes"] = attributes + __props__.__dict__["description"] = description + __props__.__dict__["name"] = name + __props__.__dict__["tags"] = tags + __props__.__dict__["arn"] = None + __props__.__dict__["tags_all"] = None + super(AppregistryAttributeGroup, __self__).__init__( + 'aws:servicecatalog/appregistryAttributeGroup:AppregistryAttributeGroup', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + arn: Optional[pulumi.Input[str]] = None, + attributes: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None) -> 'AppregistryAttributeGroup': + """ + Get an existing AppregistryAttributeGroup resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] arn: ARN of the Attribute Group. + :param pulumi.Input[str] attributes: A JSON string of nested key-value pairs that represents the attributes of the group. + + The following arguments are optional: + :param pulumi.Input[str] description: Description of the Attribute Group. + :param pulumi.Input[str] name: Name of the Attribute Group. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags assigned to the Attribute Group. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _AppregistryAttributeGroupState.__new__(_AppregistryAttributeGroupState) + + __props__.__dict__["arn"] = arn + __props__.__dict__["attributes"] = attributes + __props__.__dict__["description"] = description + __props__.__dict__["name"] = name + __props__.__dict__["tags"] = tags + __props__.__dict__["tags_all"] = tags_all + return AppregistryAttributeGroup(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter + def arn(self) -> pulumi.Output[str]: + """ + ARN of the Attribute Group. + """ + return pulumi.get(self, "arn") + + @property + @pulumi.getter + def attributes(self) -> pulumi.Output[str]: + """ + A JSON string of nested key-value pairs that represents the attributes of the group. + + The following arguments are optional: + """ + return pulumi.get(self, "attributes") + + @property + @pulumi.getter + def description(self) -> pulumi.Output[Optional[str]]: + """ + Description of the Attribute Group. + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + Name of the Attribute Group. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def tags(self) -> pulumi.Output[Optional[Mapping[str, str]]]: + """ + A map of tags assigned to the Attribute Group. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + """ + return pulumi.get(self, "tags") + + @property + @pulumi.getter(name="tagsAll") + @_utilities.deprecated("""Please use `tags` instead.""") + def tags_all(self) -> pulumi.Output[Mapping[str, str]]: + """ + A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + """ + return pulumi.get(self, "tags_all") + diff --git a/sdk/python/pulumi_aws/servicecatalog/appregistry_attribute_group_association.py b/sdk/python/pulumi_aws/servicecatalog/appregistry_attribute_group_association.py new file mode 100644 index 00000000000..7a22b365cce --- /dev/null +++ b/sdk/python/pulumi_aws/servicecatalog/appregistry_attribute_group_association.py @@ -0,0 +1,259 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import sys +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias +from .. import _utilities + +__all__ = ['AppregistryAttributeGroupAssociationArgs', 'AppregistryAttributeGroupAssociation'] + +@pulumi.input_type +class AppregistryAttributeGroupAssociationArgs: + def __init__(__self__, *, + application_id: pulumi.Input[str], + attribute_group_id: pulumi.Input[str]): + """ + The set of arguments for constructing a AppregistryAttributeGroupAssociation resource. + :param pulumi.Input[str] application_id: ID of the application. + :param pulumi.Input[str] attribute_group_id: ID of the attribute group to associate with the application. + """ + pulumi.set(__self__, "application_id", application_id) + pulumi.set(__self__, "attribute_group_id", attribute_group_id) + + @property + @pulumi.getter(name="applicationId") + def application_id(self) -> pulumi.Input[str]: + """ + ID of the application. + """ + return pulumi.get(self, "application_id") + + @application_id.setter + def application_id(self, value: pulumi.Input[str]): + pulumi.set(self, "application_id", value) + + @property + @pulumi.getter(name="attributeGroupId") + def attribute_group_id(self) -> pulumi.Input[str]: + """ + ID of the attribute group to associate with the application. + """ + return pulumi.get(self, "attribute_group_id") + + @attribute_group_id.setter + def attribute_group_id(self, value: pulumi.Input[str]): + pulumi.set(self, "attribute_group_id", value) + + +@pulumi.input_type +class _AppregistryAttributeGroupAssociationState: + def __init__(__self__, *, + application_id: Optional[pulumi.Input[str]] = None, + attribute_group_id: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering AppregistryAttributeGroupAssociation resources. + :param pulumi.Input[str] application_id: ID of the application. + :param pulumi.Input[str] attribute_group_id: ID of the attribute group to associate with the application. + """ + if application_id is not None: + pulumi.set(__self__, "application_id", application_id) + if attribute_group_id is not None: + pulumi.set(__self__, "attribute_group_id", attribute_group_id) + + @property + @pulumi.getter(name="applicationId") + def application_id(self) -> Optional[pulumi.Input[str]]: + """ + ID of the application. + """ + return pulumi.get(self, "application_id") + + @application_id.setter + def application_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "application_id", value) + + @property + @pulumi.getter(name="attributeGroupId") + def attribute_group_id(self) -> Optional[pulumi.Input[str]]: + """ + ID of the attribute group to associate with the application. + """ + return pulumi.get(self, "attribute_group_id") + + @attribute_group_id.setter + def attribute_group_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "attribute_group_id", value) + + +class AppregistryAttributeGroupAssociation(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + application_id: Optional[pulumi.Input[str]] = None, + attribute_group_id: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Resource for managing an AWS Service Catalog AppRegistry Attribute Group Association. + + ## Example Usage + + ### Basic Usage + + ```python + import pulumi + import json + import pulumi_aws as aws + + example = aws.servicecatalog.AppregistryApplication("example", name="example-app") + example_appregistry_attribute_group = aws.servicecatalog.AppregistryAttributeGroup("example", + name="example", + description="example description", + attributes=json.dumps({ + "app": "exampleapp", + "group": "examplegroup", + })) + example_appregistry_attribute_group_association = aws.servicecatalog.AppregistryAttributeGroupAssociation("example", + application_id=example.id, + attribute_group_id=example_appregistry_attribute_group.id) + ``` + + ## Import + + Using `pulumi import`, import Service Catalog AppRegistry Attribute Group Association using `application_id` and `attribute_group_id` arguments separated by a comma (`,`). For example: + + ```sh + $ pulumi import aws:servicecatalog/appregistryAttributeGroupAssociation:AppregistryAttributeGroupAssociation example 12456778723424sdffsdfsdq34,12234t3564dsfsdf34asff4ww3 + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] application_id: ID of the application. + :param pulumi.Input[str] attribute_group_id: ID of the attribute group to associate with the application. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: AppregistryAttributeGroupAssociationArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Resource for managing an AWS Service Catalog AppRegistry Attribute Group Association. + + ## Example Usage + + ### Basic Usage + + ```python + import pulumi + import json + import pulumi_aws as aws + + example = aws.servicecatalog.AppregistryApplication("example", name="example-app") + example_appregistry_attribute_group = aws.servicecatalog.AppregistryAttributeGroup("example", + name="example", + description="example description", + attributes=json.dumps({ + "app": "exampleapp", + "group": "examplegroup", + })) + example_appregistry_attribute_group_association = aws.servicecatalog.AppregistryAttributeGroupAssociation("example", + application_id=example.id, + attribute_group_id=example_appregistry_attribute_group.id) + ``` + + ## Import + + Using `pulumi import`, import Service Catalog AppRegistry Attribute Group Association using `application_id` and `attribute_group_id` arguments separated by a comma (`,`). For example: + + ```sh + $ pulumi import aws:servicecatalog/appregistryAttributeGroupAssociation:AppregistryAttributeGroupAssociation example 12456778723424sdffsdfsdq34,12234t3564dsfsdf34asff4ww3 + ``` + + :param str resource_name: The name of the resource. + :param AppregistryAttributeGroupAssociationArgs 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(AppregistryAttributeGroupAssociationArgs, 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, + application_id: Optional[pulumi.Input[str]] = None, + attribute_group_id: Optional[pulumi.Input[str]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = AppregistryAttributeGroupAssociationArgs.__new__(AppregistryAttributeGroupAssociationArgs) + + if application_id is None and not opts.urn: + raise TypeError("Missing required property 'application_id'") + __props__.__dict__["application_id"] = application_id + if attribute_group_id is None and not opts.urn: + raise TypeError("Missing required property 'attribute_group_id'") + __props__.__dict__["attribute_group_id"] = attribute_group_id + super(AppregistryAttributeGroupAssociation, __self__).__init__( + 'aws:servicecatalog/appregistryAttributeGroupAssociation:AppregistryAttributeGroupAssociation', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + application_id: Optional[pulumi.Input[str]] = None, + attribute_group_id: Optional[pulumi.Input[str]] = None) -> 'AppregistryAttributeGroupAssociation': + """ + Get an existing AppregistryAttributeGroupAssociation 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] application_id: ID of the application. + :param pulumi.Input[str] attribute_group_id: ID of the attribute group to associate with the application. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _AppregistryAttributeGroupAssociationState.__new__(_AppregistryAttributeGroupAssociationState) + + __props__.__dict__["application_id"] = application_id + __props__.__dict__["attribute_group_id"] = attribute_group_id + return AppregistryAttributeGroupAssociation(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="applicationId") + def application_id(self) -> pulumi.Output[str]: + """ + ID of the application. + """ + return pulumi.get(self, "application_id") + + @property + @pulumi.getter(name="attributeGroupId") + def attribute_group_id(self) -> pulumi.Output[str]: + """ + ID of the attribute group to associate with the application. + """ + return pulumi.get(self, "attribute_group_id") + diff --git a/sdk/python/pulumi_aws/servicecatalog/get_appregistry_application.py b/sdk/python/pulumi_aws/servicecatalog/get_appregistry_application.py index 9df0943df4b..8b778bdb1c1 100644 --- a/sdk/python/pulumi_aws/servicecatalog/get_appregistry_application.py +++ b/sdk/python/pulumi_aws/servicecatalog/get_appregistry_application.py @@ -26,7 +26,7 @@ class GetAppregistryApplicationResult: """ A collection of values returned by getAppregistryApplication. """ - def __init__(__self__, application_tag=None, arn=None, description=None, id=None, name=None): + def __init__(__self__, application_tag=None, arn=None, description=None, id=None, name=None, tags=None): if application_tag and not isinstance(application_tag, dict): raise TypeError("Expected argument 'application_tag' to be a dict") pulumi.set(__self__, "application_tag", application_tag) @@ -42,6 +42,9 @@ def __init__(__self__, application_tag=None, arn=None, description=None, id=None if name and not isinstance(name, str): raise TypeError("Expected argument 'name' to be a str") pulumi.set(__self__, "name", name) + 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="applicationTag") @@ -80,6 +83,14 @@ def name(self) -> str: """ return pulumi.get(self, "name") + @property + @pulumi.getter + def tags(self) -> Mapping[str, str]: + """ + A map of tags assigned to the Application. 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") + class AwaitableGetAppregistryApplicationResult(GetAppregistryApplicationResult): # pylint: disable=using-constant-test @@ -91,7 +102,8 @@ def __await__(self): arn=self.arn, description=self.description, id=self.id, - name=self.name) + name=self.name, + tags=self.tags) def get_appregistry_application(id: Optional[str] = None, @@ -123,7 +135,8 @@ def get_appregistry_application(id: Optional[str] = None, arn=pulumi.get(__ret__, 'arn'), description=pulumi.get(__ret__, 'description'), id=pulumi.get(__ret__, 'id'), - name=pulumi.get(__ret__, 'name')) + name=pulumi.get(__ret__, 'name'), + tags=pulumi.get(__ret__, 'tags')) def get_appregistry_application_output(id: Optional[pulumi.Input[str]] = None, opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetAppregistryApplicationResult]: """ @@ -152,4 +165,5 @@ def get_appregistry_application_output(id: Optional[pulumi.Input[str]] = None, arn=pulumi.get(__response__, 'arn'), description=pulumi.get(__response__, 'description'), id=pulumi.get(__response__, 'id'), - name=pulumi.get(__response__, 'name'))) + name=pulumi.get(__response__, 'name'), + tags=pulumi.get(__response__, 'tags'))) diff --git a/sdk/python/pulumi_aws/servicecatalog/get_appregistry_attribute_group.py b/sdk/python/pulumi_aws/servicecatalog/get_appregistry_attribute_group.py new file mode 100644 index 00000000000..fb34c494194 --- /dev/null +++ b/sdk/python/pulumi_aws/servicecatalog/get_appregistry_attribute_group.py @@ -0,0 +1,175 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import sys +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias +from .. import _utilities + +__all__ = [ + 'GetAppregistryAttributeGroupResult', + 'AwaitableGetAppregistryAttributeGroupResult', + 'get_appregistry_attribute_group', + 'get_appregistry_attribute_group_output', +] + +@pulumi.output_type +class GetAppregistryAttributeGroupResult: + """ + A collection of values returned by getAppregistryAttributeGroup. + """ + def __init__(__self__, arn=None, attributes=None, description=None, id=None, name=None, tags=None): + if arn and not isinstance(arn, str): + raise TypeError("Expected argument 'arn' to be a str") + pulumi.set(__self__, "arn", arn) + if attributes and not isinstance(attributes, str): + raise TypeError("Expected argument 'attributes' to be a str") + pulumi.set(__self__, "attributes", attributes) + if description and not isinstance(description, str): + raise TypeError("Expected argument 'description' to be a str") + pulumi.set(__self__, "description", description) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + if tags and not isinstance(tags, dict): + raise TypeError("Expected argument 'tags' to be a dict") + pulumi.set(__self__, "tags", tags) + + @property + @pulumi.getter + def arn(self) -> str: + return pulumi.get(self, "arn") + + @property + @pulumi.getter + def attributes(self) -> str: + """ + A JSON string of nested key-value pairs that represents the attributes of the group. + """ + return pulumi.get(self, "attributes") + + @property + @pulumi.getter + def description(self) -> str: + """ + Description of the Attribute Group. + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter + def id(self) -> str: + return pulumi.get(self, "id") + + @property + @pulumi.getter + def name(self) -> str: + return pulumi.get(self, "name") + + @property + @pulumi.getter + def tags(self) -> Mapping[str, str]: + """ + A map of tags assigned to the Attribute Group. 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") + + +class AwaitableGetAppregistryAttributeGroupResult(GetAppregistryAttributeGroupResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetAppregistryAttributeGroupResult( + arn=self.arn, + attributes=self.attributes, + description=self.description, + id=self.id, + name=self.name, + tags=self.tags) + + +def get_appregistry_attribute_group(arn: Optional[str] = None, + id: Optional[str] = None, + name: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetAppregistryAttributeGroupResult: + """ + Data source for managing an AWS Service Catalog AppRegistry Attribute Group. + + ## Example Usage + + ### Basic Usage + + ```python + import pulumi + import pulumi_aws as aws + + example = aws.servicecatalog.get_appregistry_attribute_group(name="example_attribute_group") + ``` + + + :param str arn: ARN of the Attribute Group to find. + :param str id: ID of the Attribute Group to find. + :param str name: Name of the Attribute Group to find. + """ + __args__ = dict() + __args__['arn'] = arn + __args__['id'] = id + __args__['name'] = name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('aws:servicecatalog/getAppregistryAttributeGroup:getAppregistryAttributeGroup', __args__, opts=opts, typ=GetAppregistryAttributeGroupResult).value + + return AwaitableGetAppregistryAttributeGroupResult( + arn=pulumi.get(__ret__, 'arn'), + attributes=pulumi.get(__ret__, 'attributes'), + description=pulumi.get(__ret__, 'description'), + id=pulumi.get(__ret__, 'id'), + name=pulumi.get(__ret__, 'name'), + tags=pulumi.get(__ret__, 'tags')) +def get_appregistry_attribute_group_output(arn: Optional[pulumi.Input[Optional[str]]] = None, + id: Optional[pulumi.Input[Optional[str]]] = None, + name: Optional[pulumi.Input[Optional[str]]] = None, + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetAppregistryAttributeGroupResult]: + """ + Data source for managing an AWS Service Catalog AppRegistry Attribute Group. + + ## Example Usage + + ### Basic Usage + + ```python + import pulumi + import pulumi_aws as aws + + example = aws.servicecatalog.get_appregistry_attribute_group(name="example_attribute_group") + ``` + + + :param str arn: ARN of the Attribute Group to find. + :param str id: ID of the Attribute Group to find. + :param str name: Name of the Attribute Group to find. + """ + __args__ = dict() + __args__['arn'] = arn + __args__['id'] = id + __args__['name'] = name + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('aws:servicecatalog/getAppregistryAttributeGroup:getAppregistryAttributeGroup', __args__, opts=opts, typ=GetAppregistryAttributeGroupResult) + return __ret__.apply(lambda __response__: GetAppregistryAttributeGroupResult( + arn=pulumi.get(__response__, 'arn'), + attributes=pulumi.get(__response__, 'attributes'), + description=pulumi.get(__response__, 'description'), + id=pulumi.get(__response__, 'id'), + name=pulumi.get(__response__, 'name'), + tags=pulumi.get(__response__, 'tags'))) diff --git a/sdk/python/pulumi_aws/sesv2/_inputs.py b/sdk/python/pulumi_aws/sesv2/_inputs.py index 649371747b9..ed05b314b9f 100644 --- a/sdk/python/pulumi_aws/sesv2/_inputs.py +++ b/sdk/python/pulumi_aws/sesv2/_inputs.py @@ -123,6 +123,10 @@ def optimized_shared_delivery(self, value: Optional[pulumi.Input[str]]): if not MYPY: class ConfigurationSetDeliveryOptionsArgsDict(TypedDict): + max_delivery_seconds: NotRequired[pulumi.Input[int]] + """ + The maximum amount of time, in seconds, that Amazon SES API v2 will attempt delivery of email. If specified, the value must greater than or equal to 300 seconds (5 minutes) and less than or equal to 50400 seconds (840 minutes). + """ sending_pool_name: NotRequired[pulumi.Input[str]] """ The name of the dedicated IP pool to associate with the configuration set. @@ -137,17 +141,33 @@ class ConfigurationSetDeliveryOptionsArgsDict(TypedDict): @pulumi.input_type class ConfigurationSetDeliveryOptionsArgs: def __init__(__self__, *, + max_delivery_seconds: Optional[pulumi.Input[int]] = None, sending_pool_name: Optional[pulumi.Input[str]] = None, tls_policy: Optional[pulumi.Input[str]] = None): """ + :param pulumi.Input[int] max_delivery_seconds: The maximum amount of time, in seconds, that Amazon SES API v2 will attempt delivery of email. If specified, the value must greater than or equal to 300 seconds (5 minutes) and less than or equal to 50400 seconds (840 minutes). :param pulumi.Input[str] sending_pool_name: The name of the dedicated IP pool to associate with the configuration set. :param pulumi.Input[str] tls_policy: Specifies whether messages that use the configuration set are required to use Transport Layer Security (TLS). Valid values: `REQUIRE`, `OPTIONAL`. """ + if max_delivery_seconds is not None: + pulumi.set(__self__, "max_delivery_seconds", max_delivery_seconds) if sending_pool_name is not None: pulumi.set(__self__, "sending_pool_name", sending_pool_name) if tls_policy is not None: pulumi.set(__self__, "tls_policy", tls_policy) + @property + @pulumi.getter(name="maxDeliverySeconds") + def max_delivery_seconds(self) -> Optional[pulumi.Input[int]]: + """ + The maximum amount of time, in seconds, that Amazon SES API v2 will attempt delivery of email. If specified, the value must greater than or equal to 300 seconds (5 minutes) and less than or equal to 50400 seconds (840 minutes). + """ + return pulumi.get(self, "max_delivery_seconds") + + @max_delivery_seconds.setter + def max_delivery_seconds(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "max_delivery_seconds", value) + @property @pulumi.getter(name="sendingPoolName") def sending_pool_name(self) -> Optional[pulumi.Input[str]]: @@ -673,17 +693,25 @@ class ConfigurationSetTrackingOptionsArgsDict(TypedDict): """ The domain to use for tracking open and click events. """ + https_policy: NotRequired[pulumi.Input[str]] + """ + The https policy to use for tracking open and click events. Valid values are `REQUIRE`, `REQUIRE_OPEN_ONLY` or `OPTIONAL`. + """ elif False: ConfigurationSetTrackingOptionsArgsDict: TypeAlias = Mapping[str, Any] @pulumi.input_type class ConfigurationSetTrackingOptionsArgs: def __init__(__self__, *, - custom_redirect_domain: pulumi.Input[str]): + custom_redirect_domain: pulumi.Input[str], + https_policy: Optional[pulumi.Input[str]] = None): """ :param pulumi.Input[str] custom_redirect_domain: The domain to use for tracking open and click events. + :param pulumi.Input[str] https_policy: The https policy to use for tracking open and click events. Valid values are `REQUIRE`, `REQUIRE_OPEN_ONLY` or `OPTIONAL`. """ pulumi.set(__self__, "custom_redirect_domain", custom_redirect_domain) + if https_policy is not None: + pulumi.set(__self__, "https_policy", https_policy) @property @pulumi.getter(name="customRedirectDomain") @@ -697,6 +725,18 @@ def custom_redirect_domain(self) -> pulumi.Input[str]: def custom_redirect_domain(self, value: pulumi.Input[str]): pulumi.set(self, "custom_redirect_domain", value) + @property + @pulumi.getter(name="httpsPolicy") + def https_policy(self) -> Optional[pulumi.Input[str]]: + """ + The https policy to use for tracking open and click events. Valid values are `REQUIRE`, `REQUIRE_OPEN_ONLY` or `OPTIONAL`. + """ + return pulumi.get(self, "https_policy") + + @https_policy.setter + def https_policy(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "https_policy", value) + if not MYPY: class ConfigurationSetVdmOptionsArgsDict(TypedDict): diff --git a/sdk/python/pulumi_aws/sesv2/configuration_set.py b/sdk/python/pulumi_aws/sesv2/configuration_set.py index 78bff1545fc..58f0cefef4b 100644 --- a/sdk/python/pulumi_aws/sesv2/configuration_set.py +++ b/sdk/python/pulumi_aws/sesv2/configuration_set.py @@ -349,6 +349,7 @@ def __init__(__self__, example = aws.sesv2.ConfigurationSet("example", configuration_set_name="example", delivery_options={ + "max_delivery_seconds": 300, "tls_policy": "REQUIRE", }, reputation_options={ @@ -365,6 +366,7 @@ def __init__(__self__, }, tracking_options={ "custom_redirect_domain": "example.com", + "https_policy": "REQUIRE", }) ``` @@ -407,6 +409,7 @@ def __init__(__self__, example = aws.sesv2.ConfigurationSet("example", configuration_set_name="example", delivery_options={ + "max_delivery_seconds": 300, "tls_policy": "REQUIRE", }, reputation_options={ @@ -423,6 +426,7 @@ def __init__(__self__, }, tracking_options={ "custom_redirect_domain": "example.com", + "https_policy": "REQUIRE", }) ``` diff --git a/sdk/python/pulumi_aws/sesv2/outputs.py b/sdk/python/pulumi_aws/sesv2/outputs.py index 27763553eee..2d98e3342a8 100644 --- a/sdk/python/pulumi_aws/sesv2/outputs.py +++ b/sdk/python/pulumi_aws/sesv2/outputs.py @@ -124,7 +124,9 @@ class ConfigurationSetDeliveryOptions(dict): @staticmethod def __key_warning(key: str): suggest = None - if key == "sendingPoolName": + if key == "maxDeliverySeconds": + suggest = "max_delivery_seconds" + elif key == "sendingPoolName": suggest = "sending_pool_name" elif key == "tlsPolicy": suggest = "tls_policy" @@ -141,17 +143,29 @@ def get(self, key: str, default = None) -> Any: return super().get(key, default) def __init__(__self__, *, + max_delivery_seconds: Optional[int] = None, sending_pool_name: Optional[str] = None, tls_policy: Optional[str] = None): """ + :param int max_delivery_seconds: The maximum amount of time, in seconds, that Amazon SES API v2 will attempt delivery of email. If specified, the value must greater than or equal to 300 seconds (5 minutes) and less than or equal to 50400 seconds (840 minutes). :param str sending_pool_name: The name of the dedicated IP pool to associate with the configuration set. :param str tls_policy: Specifies whether messages that use the configuration set are required to use Transport Layer Security (TLS). Valid values: `REQUIRE`, `OPTIONAL`. """ + if max_delivery_seconds is not None: + pulumi.set(__self__, "max_delivery_seconds", max_delivery_seconds) if sending_pool_name is not None: pulumi.set(__self__, "sending_pool_name", sending_pool_name) if tls_policy is not None: pulumi.set(__self__, "tls_policy", tls_policy) + @property + @pulumi.getter(name="maxDeliverySeconds") + def max_delivery_seconds(self) -> Optional[int]: + """ + The maximum amount of time, in seconds, that Amazon SES API v2 will attempt delivery of email. If specified, the value must greater than or equal to 300 seconds (5 minutes) and less than or equal to 50400 seconds (840 minutes). + """ + return pulumi.get(self, "max_delivery_seconds") + @property @pulumi.getter(name="sendingPoolName") def sending_pool_name(self) -> Optional[str]: @@ -654,6 +668,8 @@ def __key_warning(key: str): suggest = None if key == "customRedirectDomain": suggest = "custom_redirect_domain" + elif key == "httpsPolicy": + suggest = "https_policy" if suggest: pulumi.log.warn(f"Key '{key}' not found in ConfigurationSetTrackingOptions. Access the value via the '{suggest}' property getter instead.") @@ -667,11 +683,15 @@ def get(self, key: str, default = None) -> Any: return super().get(key, default) def __init__(__self__, *, - custom_redirect_domain: str): + custom_redirect_domain: str, + https_policy: Optional[str] = None): """ :param str custom_redirect_domain: The domain to use for tracking open and click events. + :param str https_policy: The https policy to use for tracking open and click events. Valid values are `REQUIRE`, `REQUIRE_OPEN_ONLY` or `OPTIONAL`. """ pulumi.set(__self__, "custom_redirect_domain", custom_redirect_domain) + if https_policy is not None: + pulumi.set(__self__, "https_policy", https_policy) @property @pulumi.getter(name="customRedirectDomain") @@ -681,6 +701,14 @@ def custom_redirect_domain(self) -> str: """ return pulumi.get(self, "custom_redirect_domain") + @property + @pulumi.getter(name="httpsPolicy") + def https_policy(self) -> Optional[str]: + """ + The https policy to use for tracking open and click events. Valid values are `REQUIRE`, `REQUIRE_OPEN_ONLY` or `OPTIONAL`. + """ + return pulumi.get(self, "https_policy") + @pulumi.output_type class ConfigurationSetVdmOptions(dict): @@ -1018,15 +1046,26 @@ def tokens(self) -> Optional[Sequence[str]]: @pulumi.output_type class GetConfigurationSetDeliveryOptionResult(dict): def __init__(__self__, *, + max_delivery_seconds: int, sending_pool_name: str, tls_policy: str): """ + :param int max_delivery_seconds: The maximum amount of time, in seconds, that Amazon SES API v2 will attempt delivery of email. If specified, the value must greater than or equal to 300 seconds (5 minutes) and less than or equal to 50400 seconds (840 minutes). :param str sending_pool_name: The name of the dedicated IP pool to associate with the configuration set. :param str tls_policy: Specifies whether messages that use the configuration set are required to use Transport Layer Security (TLS). """ + pulumi.set(__self__, "max_delivery_seconds", max_delivery_seconds) pulumi.set(__self__, "sending_pool_name", sending_pool_name) pulumi.set(__self__, "tls_policy", tls_policy) + @property + @pulumi.getter(name="maxDeliverySeconds") + def max_delivery_seconds(self) -> int: + """ + The maximum amount of time, in seconds, that Amazon SES API v2 will attempt delivery of email. If specified, the value must greater than or equal to 300 seconds (5 minutes) and less than or equal to 50400 seconds (840 minutes). + """ + return pulumi.get(self, "max_delivery_seconds") + @property @pulumi.getter(name="sendingPoolName") def sending_pool_name(self) -> str: @@ -1112,11 +1151,14 @@ def suppressed_reasons(self) -> Sequence[str]: @pulumi.output_type class GetConfigurationSetTrackingOptionResult(dict): def __init__(__self__, *, - custom_redirect_domain: str): + custom_redirect_domain: str, + https_policy: str): """ :param str custom_redirect_domain: The domain to use for tracking open and click events. + :param str https_policy: The https policy to use for tracking open and click events. Valid values are `REQUIRE`, `REQUIRE_OPEN_ONLY` or `OPTIONAL`. """ pulumi.set(__self__, "custom_redirect_domain", custom_redirect_domain) + pulumi.set(__self__, "https_policy", https_policy) @property @pulumi.getter(name="customRedirectDomain") @@ -1126,6 +1168,14 @@ def custom_redirect_domain(self) -> str: """ return pulumi.get(self, "custom_redirect_domain") + @property + @pulumi.getter(name="httpsPolicy") + def https_policy(self) -> str: + """ + The https policy to use for tracking open and click events. Valid values are `REQUIRE`, `REQUIRE_OPEN_ONLY` or `OPTIONAL`. + """ + return pulumi.get(self, "https_policy") + @pulumi.output_type class GetConfigurationSetVdmOptionResult(dict): diff --git a/upstream b/upstream index 9273b07bad8..c38d7c284d0 160000 --- a/upstream +++ b/upstream @@ -1 +1 @@ -Subproject commit 9273b07bad89e6aa730482f3a8fc7840b38b9d68 +Subproject commit c38d7c284d0684653d53452eb1f9dd3e65b905fd