diff --git a/examples/go.mod b/examples/go.mod index d2d30634ccd..e27f0d75df2 100644 --- a/examples/go.mod +++ b/examples/go.mod @@ -60,7 +60,7 @@ require ( github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.7 // indirect github.com/aws/aws-sdk-go-v2/credentials v1.17.47 // indirect github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.21 // indirect - github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.17.42 // indirect + github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.17.43 // indirect github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.25 // indirect github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.25 // indirect github.com/aws/aws-sdk-go-v2/internal/ini v1.8.1 // indirect @@ -84,15 +84,15 @@ require ( github.com/aws/aws-sdk-go-v2/service/apprunner v1.32.7 // indirect github.com/aws/aws-sdk-go-v2/service/appstream v1.41.7 // indirect github.com/aws/aws-sdk-go-v2/service/appsync v1.40.1 // indirect - github.com/aws/aws-sdk-go-v2/service/athena v1.48.5 // indirect + github.com/aws/aws-sdk-go-v2/service/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 github.com/aws/aws-sdk-go-v2/service/autoscalingplans v1.24.7 // indirect github.com/aws/aws-sdk-go-v2/service/backup v1.39.8 // indirect github.com/aws/aws-sdk-go-v2/service/batch v1.48.2 // indirect github.com/aws/aws-sdk-go-v2/service/bcmdataexports v1.7.7 // indirect - github.com/aws/aws-sdk-go-v2/service/bedrock v1.23.0 // indirect - github.com/aws/aws-sdk-go-v2/service/bedrockagent v1.30.0 // indirect + github.com/aws/aws-sdk-go-v2/service/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/chatbot v1.9.1 // indirect github.com/aws/aws-sdk-go-v2/service/chime v1.34.7 // indirect @@ -107,7 +107,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/cloudhsmv2 v1.27.8 // indirect github.com/aws/aws-sdk-go-v2/service/cloudsearch v1.26.6 // indirect github.com/aws/aws-sdk-go-v2/service/cloudtrail v1.46.2 // indirect - github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.43.2 // indirect + github.com/aws/aws-sdk-go-v2/service/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 github.com/aws/aws-sdk-go-v2/service/codebuild v1.49.2 // indirect @@ -137,7 +137,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/dataexchange v1.33.5 // indirect github.com/aws/aws-sdk-go-v2/service/datapipeline v1.25.7 // indirect github.com/aws/aws-sdk-go-v2/service/datasync v1.43.5 // indirect - github.com/aws/aws-sdk-go-v2/service/datazone v1.24.1 // indirect + github.com/aws/aws-sdk-go-v2/service/datazone v1.25.0 // indirect github.com/aws/aws-sdk-go-v2/service/dax v1.23.7 // indirect github.com/aws/aws-sdk-go-v2/service/detective v1.31.7 // indirect github.com/aws/aws-sdk-go-v2/service/devicefarm v1.28.7 // indirect @@ -148,7 +148,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/docdb v1.39.6 // indirect github.com/aws/aws-sdk-go-v2/service/docdbelastic v1.14.4 // indirect github.com/aws/aws-sdk-go-v2/service/drs v1.30.7 // indirect - github.com/aws/aws-sdk-go-v2/service/dynamodb v1.37.2 // indirect + github.com/aws/aws-sdk-go-v2/service/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/ecr v1.36.7 // indirect github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.27.7 // indirect @@ -156,7 +156,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/efs v1.34.1 // indirect github.com/aws/aws-sdk-go-v2/service/eks v1.53.0 // indirect github.com/aws/aws-sdk-go-v2/service/elasticache v1.44.1 // indirect - github.com/aws/aws-sdk-go-v2/service/elasticbeanstalk v1.28.6 // indirect + github.com/aws/aws-sdk-go-v2/service/elasticbeanstalk v1.28.7 // indirect github.com/aws/aws-sdk-go-v2/service/elasticloadbalancing v1.28.6 // indirect github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2 v1.43.1 // indirect github.com/aws/aws-sdk-go-v2/service/elasticsearchservice v1.32.7 // indirect @@ -174,7 +174,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/gamelift v1.37.2 // indirect github.com/aws/aws-sdk-go-v2/service/glacier v1.26.7 // indirect github.com/aws/aws-sdk-go-v2/service/globalaccelerator v1.29.7 // indirect - github.com/aws/aws-sdk-go-v2/service/glue v1.102.1 // indirect + github.com/aws/aws-sdk-go-v2/service/glue v1.103.0 // indirect github.com/aws/aws-sdk-go-v2/service/grafana v1.26.7 // indirect github.com/aws/aws-sdk-go-v2/service/greengrass v1.27.7 // indirect github.com/aws/aws-sdk-go-v2/service/groundstation v1.31.7 // indirect @@ -204,7 +204,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/kinesisanalyticsv2 v1.31.8 // indirect github.com/aws/aws-sdk-go-v2/service/kinesisvideo v1.27.7 // indirect github.com/aws/aws-sdk-go-v2/service/kms v1.37.7 // indirect - github.com/aws/aws-sdk-go-v2/service/lakeformation v1.38.4 // indirect + github.com/aws/aws-sdk-go-v2/service/lakeformation v1.39.0 // indirect github.com/aws/aws-sdk-go-v2/service/lambda v1.69.1 // indirect github.com/aws/aws-sdk-go-v2/service/launchwizard v1.8.7 // indirect github.com/aws/aws-sdk-go-v2/service/lexmodelbuildingservice v1.28.7 // indirect @@ -244,15 +244,15 @@ 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.17.0 // indirect + github.com/aws/aws-sdk-go-v2/service/qbusiness v1.18.0 // indirect github.com/aws/aws-sdk-go-v2/service/qldb v1.25.7 // indirect - github.com/aws/aws-sdk-go-v2/service/quicksight v1.80.1 // indirect + github.com/aws/aws-sdk-go-v2/service/quicksight v1.81.0 // indirect github.com/aws/aws-sdk-go-v2/service/ram v1.29.7 // indirect github.com/aws/aws-sdk-go-v2/service/rbin v1.21.1 // indirect github.com/aws/aws-sdk-go-v2/service/rds v1.92.0 // indirect - github.com/aws/aws-sdk-go-v2/service/redshift v1.52.2 // indirect + github.com/aws/aws-sdk-go-v2/service/redshift v1.53.0 // indirect github.com/aws/aws-sdk-go-v2/service/redshiftdata v1.31.4 // indirect - github.com/aws/aws-sdk-go-v2/service/redshiftserverless v1.24.4 // indirect + github.com/aws/aws-sdk-go-v2/service/redshiftserverless v1.25.0 // indirect github.com/aws/aws-sdk-go-v2/service/rekognition v1.45.8 // indirect github.com/aws/aws-sdk-go-v2/service/resiliencehub v1.28.1 // indirect github.com/aws/aws-sdk-go-v2/service/resourceexplorer2 v1.16.2 // indirect @@ -266,9 +266,10 @@ require ( github.com/aws/aws-sdk-go-v2/service/route53recoveryreadiness v1.21.7 // indirect github.com/aws/aws-sdk-go-v2/service/route53resolver v1.34.2 // indirect github.com/aws/aws-sdk-go-v2/service/rum v1.21.7 // indirect - github.com/aws/aws-sdk-go-v2/service/s3 v1.70.0 // indirect - github.com/aws/aws-sdk-go-v2/service/s3control v1.51.0 // indirect + github.com/aws/aws-sdk-go-v2/service/s3 v1.71.0 // indirect + 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/scheduler v1.12.7 // indirect github.com/aws/aws-sdk-go-v2/service/schemas v1.28.8 // indirect diff --git a/examples/go.sum b/examples/go.sum index 5590e3200ba..1b4832e80fd 100644 --- a/examples/go.sum +++ b/examples/go.sum @@ -1246,8 +1246,8 @@ github.com/aws/aws-sdk-go-v2/credentials v1.17.47 h1:48bA+3/fCdi2yAwVt+3COvmatZ6 github.com/aws/aws-sdk-go-v2/credentials v1.17.47/go.mod h1:+KdckOejLW3Ks3b0E3b5rHsr2f9yuORBum0WPnE5o5w= github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.21 h1:AmoU1pziydclFT/xRV+xXE/Vb8fttJCLRPv8oAkprc0= github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.21/go.mod h1:AjUdLYe4Tgs6kpH4Bv7uMZo7pottoyHMn4eTcIcneaY= -github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.17.42 h1:vEnk9vtjJ62OO2wOhEmgKMZgNcn1w0aF7XCiNXO5rK0= -github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.17.42/go.mod h1:GUOPbPJWRZsdt1OJ355upCrry4d3ZFgdX6rhT7gtkto= +github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.17.43 h1:iLdpkYZ4cXIQMO7ud+cqMWR1xK5ESbt1rvN77tRi1BY= +github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.17.43/go.mod h1:OgbsKPAswXDd5kxnR4vZov69p3oYjbvUyIRBAAV0y9o= github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.25 h1:s/fF4+yDQDoElYhfIVvSNyeCydfbuTKzhxSXDXCPasU= github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.25/go.mod h1:IgPfDv5jqFIzQSNbUEMoitNooSMXjRSDkhXv8jiROvU= github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.25 h1:ZntTCl5EsYnhN/IygQEUugpdwbhdkom9uHcbCftiGgA= @@ -1294,8 +1294,8 @@ github.com/aws/aws-sdk-go-v2/service/appstream v1.41.7 h1:9KTwRIeh67p4JjOtkAiUQ6 github.com/aws/aws-sdk-go-v2/service/appstream v1.41.7/go.mod h1:YC50kSYeBhmjzeJKNf4CB85KN9Gdy+RKhtt4MvMx4ro= github.com/aws/aws-sdk-go-v2/service/appsync v1.40.1 h1:+fJ03y/PaSNBw6ZrJZFnyix+hTOagn1/+iRLQbW/Crg= github.com/aws/aws-sdk-go-v2/service/appsync v1.40.1/go.mod h1:YN/LhOApnQGAgb4AljjHkcpl+OmaLrkD6cGPL1dkajI= -github.com/aws/aws-sdk-go-v2/service/athena v1.48.5 h1:nfeCwaDRq4tXZUoBENWNydZQ7YeP3lPuWnAMCJSYcuE= -github.com/aws/aws-sdk-go-v2/service/athena v1.48.5/go.mod h1:27ljwDsnZvfrZKsLzWD4WFjI4OZutEFIjvVtYfj9gHc= +github.com/aws/aws-sdk-go-v2/service/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= github.com/aws/aws-sdk-go-v2/service/auditmanager v1.37.7/go.mod h1:UZOdtpOTwIj4yHbPVNxfayWIlQp4c3Xht/7sDaFzZs0= github.com/aws/aws-sdk-go-v2/service/autoscaling v1.51.1 h1:XFZsqNpwwi/D8nFI/tdUQn1QW1BTVcuQH382RNUXojE= @@ -1308,10 +1308,10 @@ 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.23.0 h1:/fvYAZjlXlKTC88cFjZeHLjW+bTV69aK23VbGZQGjbU= -github.com/aws/aws-sdk-go-v2/service/bedrock v1.23.0/go.mod h1:BKSewSMuaeUidKqXArDlT06PWK/PP3wsgLWTXKeKgQw= -github.com/aws/aws-sdk-go-v2/service/bedrockagent v1.30.0 h1:NnApuV9cjAjJMtUmTzp6gPDvzAqUdEVljpW1W5u+6Vo= -github.com/aws/aws-sdk-go-v2/service/bedrockagent v1.30.0/go.mod h1:d+BIleA83BNMLQbwc1gYB/Kgrogwl4lzn2RN+XPIC0s= +github.com/aws/aws-sdk-go-v2/service/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/chatbot v1.9.1 h1:g+Xnw4sHm/T5xDTlNvPBeM6gAAQSzj7EwOI0vBXscSE= @@ -1340,8 +1340,8 @@ github.com/aws/aws-sdk-go-v2/service/cloudsearch v1.26.6 h1:m1CAIBZzVi05OAocQs7S github.com/aws/aws-sdk-go-v2/service/cloudsearch v1.26.6/go.mod h1:4ogUNAMmF9rtIYGYnFm21WXc/8+lcAuoNYUkS534MfI= github.com/aws/aws-sdk-go-v2/service/cloudtrail v1.46.2 h1:DrN2vg75JseLCepYjMVav43e+v7+AhArtWlm2F0OJ6Y= github.com/aws/aws-sdk-go-v2/service/cloudtrail v1.46.2/go.mod h1:WcTfALKgqv+VCMRCLtG4155sAwcfdYhFADc/yDJgSlc= -github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.43.2 h1:+M/uY6CU2TjCyi9u8ZcowyguWvpifU7C4eQowdZeXBU= -github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.43.2/go.mod h1:URs8sqsyaxiAZkKP6tOEmhcs9j2ynFIomqOKY/CAHJc= +github.com/aws/aws-sdk-go-v2/service/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= github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.45.0/go.mod h1:LZafBHU62ByizrdhNLMnzWGsUX+abAW4q35PN+FOj+A= github.com/aws/aws-sdk-go-v2/service/codeartifact v1.33.7 h1:5us9BU1TnHeSqgQEiQCH9qpDbwGEtYAz6fhSL0jiAyA= @@ -1400,8 +1400,8 @@ github.com/aws/aws-sdk-go-v2/service/datapipeline v1.25.7 h1:b2xXuJ5Yh5RuyOzs3vd github.com/aws/aws-sdk-go-v2/service/datapipeline v1.25.7/go.mod h1:IH2WIe0ol0aDtM5a/+nP6UYRwrDXi/gwF+DA0nJK+i8= github.com/aws/aws-sdk-go-v2/service/datasync v1.43.5 h1:4tdw3XO+pUwsjE6j2a4kWxZt80NtRxhOl9OnDtPS1fY= github.com/aws/aws-sdk-go-v2/service/datasync v1.43.5/go.mod h1:ty1/xBfWRiv/C+e/cbTLkM4UGMfkOavUgp3daLZ2QKc= -github.com/aws/aws-sdk-go-v2/service/datazone v1.24.1 h1:/7+bznm0eo+AtBUZZY6cNzrmmto3Mv57Cg8BZeJDBXI= -github.com/aws/aws-sdk-go-v2/service/datazone v1.24.1/go.mod h1:2MCAq6PXnLOI6NVaUES50GGvOl1pa5l6N2XmRAVWWWw= +github.com/aws/aws-sdk-go-v2/service/datazone v1.25.0 h1:L1IGMQ1T1eZtJLDA4n0SgTYFaHeJ7OJYqy00+JrEGoY= +github.com/aws/aws-sdk-go-v2/service/datazone v1.25.0/go.mod h1:2MCAq6PXnLOI6NVaUES50GGvOl1pa5l6N2XmRAVWWWw= github.com/aws/aws-sdk-go-v2/service/dax v1.23.7 h1:hZg1sHhWXGZShzHGpwcaOT8HZfx26kkbRDNZgZda4xI= github.com/aws/aws-sdk-go-v2/service/dax v1.23.7/go.mod h1:fYBjETTq8hZfirBEgXM1xIMy+tvCGYZTeWpjeKKp0bU= github.com/aws/aws-sdk-go-v2/service/detective v1.31.7 h1:Pw3K9Leqg7SfEoPZek374z1pTJXSKbbS+zbGolMCsWI= @@ -1422,8 +1422,8 @@ github.com/aws/aws-sdk-go-v2/service/docdbelastic v1.14.4 h1:pT1NLJ04YA/05ZEbYBN github.com/aws/aws-sdk-go-v2/service/docdbelastic v1.14.4/go.mod h1:ZupWmXwSQwiyktsk0/7C71pCkTn7dLgOw47TmpvtU1Q= github.com/aws/aws-sdk-go-v2/service/drs v1.30.7 h1:0jUZJqidFnPF9LlSSsYD9yQcbIYLyNKjGa+gFPh9UlA= github.com/aws/aws-sdk-go-v2/service/drs v1.30.7/go.mod h1:myL1h4VGyN3HU1B/7WBs2MsjKYX3FugwPJ09muIM8tE= -github.com/aws/aws-sdk-go-v2/service/dynamodb v1.37.2 h1:dTzxoKbznBEm2xscSQc4DXQ447j/IZRTCwhJxiDN3mg= -github.com/aws/aws-sdk-go-v2/service/dynamodb v1.37.2/go.mod h1:xDvUyIkwBwNtVZJdHEwAuhFly3mezwdEWkbJ5oNYwIw= +github.com/aws/aws-sdk-go-v2/service/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/ecr v1.36.7 h1:R+5XKIJga2K9Dkj0/iQ6fD/MBGo02oxGGFTc512lK/Q= @@ -1438,8 +1438,8 @@ github.com/aws/aws-sdk-go-v2/service/eks v1.53.0 h1:ACTxnLwL6YNmuYbxtp/VR3HGL9SW github.com/aws/aws-sdk-go-v2/service/eks v1.53.0/go.mod h1:ZzOjZXGGUQxOq+T3xmfPLKCZe4OaB5vm1LdGaC8IPn4= github.com/aws/aws-sdk-go-v2/service/elasticache v1.44.1 h1:Dch9DIcyrHf6OTEhgzz7wIFKrHZAWfcZ1BCAlZtwpYo= github.com/aws/aws-sdk-go-v2/service/elasticache v1.44.1/go.mod h1:gzplo968xB24VkeHC4wKfDbSERguKL2xKPL1Csd/mH4= -github.com/aws/aws-sdk-go-v2/service/elasticbeanstalk v1.28.6 h1:QMEpOzwWVIfi6V1vWA4ONGZictI9Ch/ZNiveQTgYq2M= -github.com/aws/aws-sdk-go-v2/service/elasticbeanstalk v1.28.6/go.mod h1:U47A7lAuy5QYMD7lnRHA8WJCzV/W0POLZrUfjZ7HLro= +github.com/aws/aws-sdk-go-v2/service/elasticbeanstalk v1.28.7 h1:ieY1UqWTqjb83Rx1KiUO2pxFRdebobkKxHKDXIlIMhM= +github.com/aws/aws-sdk-go-v2/service/elasticbeanstalk v1.28.7/go.mod h1:U47A7lAuy5QYMD7lnRHA8WJCzV/W0POLZrUfjZ7HLro= github.com/aws/aws-sdk-go-v2/service/elasticloadbalancing v1.28.6 h1:uQFPQNvc9hIaF7SyHQyg2vRtTcWONaa1LUUy+8LEzT8= github.com/aws/aws-sdk-go-v2/service/elasticloadbalancing v1.28.6/go.mod h1:KkaWcwL6GJtS/TNn1+fVJPAR+6G7Bs7kEm8E3MlgbhQ= github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2 v1.43.1 h1:L9Wt9zgtoYKIlaeFTy+EztGjL4oaXBBGtVXA+jaeYko= @@ -1474,8 +1474,8 @@ github.com/aws/aws-sdk-go-v2/service/glacier v1.26.7 h1:YTg3h8OBu4x3UCsu9vKz9VHq github.com/aws/aws-sdk-go-v2/service/glacier v1.26.7/go.mod h1:w/cFjxbAVqNeAMQf31PI9KopvcFYoXdv0oG2Y9wU0uA= github.com/aws/aws-sdk-go-v2/service/globalaccelerator v1.29.7 h1:TB66P1ES3DvjeR7YNTfO4/4ncB2MiFx0jzazbPisWkw= github.com/aws/aws-sdk-go-v2/service/globalaccelerator v1.29.7/go.mod h1:geddg2iWFvxpfa7SIoJztvcdP/Prm1xk9W4+IUhGs7Y= -github.com/aws/aws-sdk-go-v2/service/glue v1.102.1 h1:E8/vYD7uGzp9mwKErJdQBH77FqEtt/BK35hM7UP3PLM= -github.com/aws/aws-sdk-go-v2/service/glue v1.102.1/go.mod h1:ajiRue7mZ0vQjVHQkQG2KBaPHW8lL5GtvmjRTHWDaqk= +github.com/aws/aws-sdk-go-v2/service/glue v1.103.0 h1:aWkaWcO6AWKOZgnm45es3lL+jZ9tece2kfQ2Na4xoQs= +github.com/aws/aws-sdk-go-v2/service/glue v1.103.0/go.mod h1:ajiRue7mZ0vQjVHQkQG2KBaPHW8lL5GtvmjRTHWDaqk= github.com/aws/aws-sdk-go-v2/service/grafana v1.26.7 h1:LVJA+YR5tHGo95E8P5W1GFnqrQIiOOagnYCGLExvVr0= github.com/aws/aws-sdk-go-v2/service/grafana v1.26.7/go.mod h1:oEez2RtKrs3oJ6EgbLV0aBC5YJ/bPcMbkGNtsrW1L3Q= github.com/aws/aws-sdk-go-v2/service/greengrass v1.27.7 h1:ZYq/OyCCRtS55xvC73U7klRHzWlV4AG0XvG8/jbBH1E= @@ -1536,8 +1536,8 @@ github.com/aws/aws-sdk-go-v2/service/kinesisvideo v1.27.7 h1:u312E9WSNS3aL0fMkD3 github.com/aws/aws-sdk-go-v2/service/kinesisvideo v1.27.7/go.mod h1:pdoRfafdWneitPJSDJEIUH3npcWNF0a9ReMblcQC+hA= github.com/aws/aws-sdk-go-v2/service/kms v1.37.7 h1:dZmNIRtPUvtvUIIDVNpvtnJQ8N8Iqm7SQAxf18htZYw= github.com/aws/aws-sdk-go-v2/service/kms v1.37.7/go.mod h1:vj8PlfJH9mnGeIzd6uMLPi5VgiqzGG7AZoe1kf1uTXM= -github.com/aws/aws-sdk-go-v2/service/lakeformation v1.38.4 h1:H4/iEpKAywuFxE/lTe2TygdLrUs6bsdaxBB4Ry76Mjo= -github.com/aws/aws-sdk-go-v2/service/lakeformation v1.38.4/go.mod h1:TrZ6XeQ86aBjOsy+ae7RKlYWh3TQ53QQcA6YhtFadYk= +github.com/aws/aws-sdk-go-v2/service/lakeformation v1.39.0 h1:1tONU+X0IWsiNJIXZGCHQC25GVGbuTcH2EufcOH4gJA= +github.com/aws/aws-sdk-go-v2/service/lakeformation v1.39.0/go.mod h1:TrZ6XeQ86aBjOsy+ae7RKlYWh3TQ53QQcA6YhtFadYk= github.com/aws/aws-sdk-go-v2/service/lambda v1.69.1 h1:q1NrvoJiz0rm9ayKOJ9wsMGmStK6rZSY36BDICMrcuY= github.com/aws/aws-sdk-go-v2/service/lambda v1.69.1/go.mod h1:hDj7He9kbR9T5zugnS+T21l4z6do4SEGuno/BpJLpA0= github.com/aws/aws-sdk-go-v2/service/launchwizard v1.8.7 h1:nMYxTZs0WjVLEyTEqRtD6WR83nMqF65uPHSv43SrFDQ= @@ -1616,24 +1616,24 @@ 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.17.0 h1:pAtj3eD8KO5dW1D6Q0q0cVyIJ2GQI+/KqD5BCYQZFVE= -github.com/aws/aws-sdk-go-v2/service/qbusiness v1.17.0/go.mod h1:cmW8VmRWKpSEhqy70H3+QCFfHcTguZMZphBIdqcWsIo= +github.com/aws/aws-sdk-go-v2/service/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/qldb v1.25.7 h1:TWJzwB7S/SBBVitz/0HtdB7pqyf1iv9OUCQ6qeYob5Q= github.com/aws/aws-sdk-go-v2/service/qldb v1.25.7/go.mod h1:8AyevnOHnUsSNTlqH723oxU2hGgIdhVsUjtDS6JIi8w= -github.com/aws/aws-sdk-go-v2/service/quicksight v1.80.1 h1:K0Jp2QnU6w76zFUUHf8ssh7k8wPVVG9JjINXehGm9dY= -github.com/aws/aws-sdk-go-v2/service/quicksight v1.80.1/go.mod h1:GE3TPXNfQ2OETAUjwhnFl3CYWqzF9SPB1sJjeUSOkJA= +github.com/aws/aws-sdk-go-v2/service/quicksight v1.81.0 h1:U/ktIgrHh0l1Azkhl8sNxNvknhz1Ql6PtEgluc9R8GU= +github.com/aws/aws-sdk-go-v2/service/quicksight v1.81.0/go.mod h1:GE3TPXNfQ2OETAUjwhnFl3CYWqzF9SPB1sJjeUSOkJA= github.com/aws/aws-sdk-go-v2/service/ram v1.29.7 h1:c6XYrBzh3J8J5Vaxcj4fbfuzDtKv7Blg/bYmd12PG44= github.com/aws/aws-sdk-go-v2/service/ram v1.29.7/go.mod h1:Znaic26hqqKZ3mmG+UA8aLdnWrOYmkdHUd5KoT/DzGY= github.com/aws/aws-sdk-go-v2/service/rbin v1.21.1 h1:4w3T6RGy/jrGrup/o9WwtVXEWbwbL/up/+dPaGR5IfU= github.com/aws/aws-sdk-go-v2/service/rbin v1.21.1/go.mod h1:R1qdIYNn+b3mrEkq9r7jM7FVpgGDeOkeYVr3Poc+95g= github.com/aws/aws-sdk-go-v2/service/rds v1.92.0 h1:W0gUYAjO24u/M6tpR041wMHJWGzleOhxtCnNLImdrZs= github.com/aws/aws-sdk-go-v2/service/rds v1.92.0/go.mod h1:ADD2uROOoEIXjbjDPEvDDZWnGmfKFYMddgKwG5RlBGw= -github.com/aws/aws-sdk-go-v2/service/redshift v1.52.2 h1:mUObSWeMlDwNEZEJAC/72AtnEwfjZqwTCli+up5Yj9A= -github.com/aws/aws-sdk-go-v2/service/redshift v1.52.2/go.mod h1:UydVhUJOB/DaCJWiaBkPlvuzvWVcUlgbS2Bxn33bcKI= +github.com/aws/aws-sdk-go-v2/service/redshift v1.53.0 h1:4/hmROBioc89sKlMVjHgOaH92zAkrAAMZR3BIvYwyD0= +github.com/aws/aws-sdk-go-v2/service/redshift v1.53.0/go.mod h1:UydVhUJOB/DaCJWiaBkPlvuzvWVcUlgbS2Bxn33bcKI= github.com/aws/aws-sdk-go-v2/service/redshiftdata v1.31.4 h1:A0vlEMhhjNwiDuSeyqCV5E+nKi71xB7JEZ3zmSk9C2o= github.com/aws/aws-sdk-go-v2/service/redshiftdata v1.31.4/go.mod h1:D22t6rKMIQkle+JZOeXSyPbhluGCmp64qfBYnJciyNo= -github.com/aws/aws-sdk-go-v2/service/redshiftserverless v1.24.4 h1:41IjzWVSWq0V5Dc/aZKINc4J4WMdf5zjCYi7hM+JI/Y= -github.com/aws/aws-sdk-go-v2/service/redshiftserverless v1.24.4/go.mod h1:HR4+m/4+W7RiaFMme0p6Y5dV7bDKhAIn8UiiZfWJVXg= +github.com/aws/aws-sdk-go-v2/service/redshiftserverless v1.25.0 h1:g72Z/eRmA5dK2v6LCw5hwPpCLI36bbgyIQkUS4KlCPM= +github.com/aws/aws-sdk-go-v2/service/redshiftserverless v1.25.0/go.mod h1:HR4+m/4+W7RiaFMme0p6Y5dV7bDKhAIn8UiiZfWJVXg= github.com/aws/aws-sdk-go-v2/service/rekognition v1.45.8 h1:K21+kYo7APUzqhc6pvCxHWAGxdyaxJqnEfBSySbFlGM= github.com/aws/aws-sdk-go-v2/service/rekognition v1.45.8/go.mod h1:LIrvj+qa6+K+FfiOFv/DXgmBxDU/LCZebFYulAITgps= github.com/aws/aws-sdk-go-v2/service/resiliencehub v1.28.1 h1:NBrNat0V6a0IlxwURP/kixLzvW7sSYy4/PAqe/OwB5Q= @@ -1660,12 +1660,14 @@ github.com/aws/aws-sdk-go-v2/service/route53resolver v1.34.2 h1:9YaCGPw0s0qmxlyP github.com/aws/aws-sdk-go-v2/service/route53resolver v1.34.2/go.mod h1:m0CMmlFRzCrscSzjkH7GOPstcuKhgJCgK2153O2bP1I= github.com/aws/aws-sdk-go-v2/service/rum v1.21.7 h1:AEl97eESj/H7fjtDH1dNyUCXHH2Dj16o2JYXLePaRH0= github.com/aws/aws-sdk-go-v2/service/rum v1.21.7/go.mod h1:D54Xit4pURxcusZV7N1/J9U+/1LSTA2wmrAb2zAJhdA= -github.com/aws/aws-sdk-go-v2/service/s3 v1.70.0 h1:HrHFR8RoS4l4EvodRMFcJMYQ8o3UhmALn2nbInXaxZA= -github.com/aws/aws-sdk-go-v2/service/s3 v1.70.0/go.mod h1:sT/iQz8JK3u/5gZkT+Hmr7GzVZehUMkRZpOaAwYXeGY= -github.com/aws/aws-sdk-go-v2/service/s3control v1.51.0 h1:1Kpbjv27QmQHXZ2wv7Tuikz3syVONMghb9CvfTEWNoQ= -github.com/aws/aws-sdk-go-v2/service/s3control v1.51.0/go.mod h1:sAOVMYapLSs3nCfdQo63qfVkKHlu97oqHDPrRbqayNg= +github.com/aws/aws-sdk-go-v2/service/s3 v1.71.0 h1:nyuzXooUNJexRT0Oy0UQY6AhOzxPxhtt4DcBIHyCnmw= +github.com/aws/aws-sdk-go-v2/service/s3 v1.71.0/go.mod h1:sT/iQz8JK3u/5gZkT+Hmr7GzVZehUMkRZpOaAwYXeGY= +github.com/aws/aws-sdk-go-v2/service/s3control v1.52.0 h1:tH6HJdKj1O5N8Uti8D2X20JYoDe9ZdC827iY92U+Ooo= +github.com/aws/aws-sdk-go-v2/service/s3control v1.52.0/go.mod h1:sAOVMYapLSs3nCfdQo63qfVkKHlu97oqHDPrRbqayNg= github.com/aws/aws-sdk-go-v2/service/s3outposts v1.28.7 h1:yUuN4xIlI/2bUqniq5OdIw13FIGtUdPhzU4dzl2v6fM= github.com/aws/aws-sdk-go-v2/service/s3outposts v1.28.7/go.mod h1:yCIumXPHLHsjmrD8P9UvXFVT0R9R+Wlqut71bW5+ZY4= +github.com/aws/aws-sdk-go-v2/service/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/scheduler v1.12.7 h1:lRA+BvESWVoldCxaw3SG9UssITkVref8rlVy5xCsh0A= diff --git a/patches/0034-Fix-tags_all-Computed-for-PF-resources.patch b/patches/0034-Fix-tags_all-Computed-for-PF-resources.patch index af930864fbf..fe968d4648d 100644 --- a/patches/0034-Fix-tags_all-Computed-for-PF-resources.patch +++ b/patches/0034-Fix-tags_all-Computed-for-PF-resources.patch @@ -18,10 +18,10 @@ index b6d8c71ef7..f78c4502b0 100644 Blocks: map[string]schema.Block{ names.AttrDestination: schema.ListNestedBlock{ diff --git a/internal/service/bedrock/custom_model.go b/internal/service/bedrock/custom_model.go -index daba31c85d..8ce47d7720 100644 +index 7d1bbff332..0b7cdf8f23 100644 --- a/internal/service/bedrock/custom_model.go +++ b/internal/service/bedrock/custom_model.go -@@ -136,7 +136,7 @@ func (r *customModelResource) Schema(ctx context.Context, request resource.Schem +@@ -139,7 +139,7 @@ func (r *customModelResource) Schema(ctx context.Context, request resource.Schem }, }, names.AttrTags: tftags.TagsAttribute(), diff --git a/patches/0040-Do-not-Compute-tags_all-of-aws_bedrock_provisioned_m.patch b/patches/0040-Do-not-Compute-tags_all-of-aws_bedrock_provisioned_m.patch index 56987503eca..84a1398ae76 100644 --- a/patches/0040-Do-not-Compute-tags_all-of-aws_bedrock_provisioned_m.patch +++ b/patches/0040-Do-not-Compute-tags_all-of-aws_bedrock_provisioned_m.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Do not Compute tags_all of diff --git a/internal/service/bedrock/provisioned_model_throughput.go b/internal/service/bedrock/provisioned_model_throughput.go -index 03b0b9c72f..912ad47272 100644 +index 792d41b9fd..d308ef4566 100644 --- a/internal/service/bedrock/provisioned_model_throughput.go +++ b/internal/service/bedrock/provisioned_model_throughput.go -@@ -85,7 +85,7 @@ func (r *resourceProvisionedModelThroughput) Schema(ctx context.Context, request +@@ -86,7 +86,7 @@ func (r *resourceProvisionedModelThroughput) Schema(ctx context.Context, request }, }, names.AttrTags: tftags.TagsAttribute(), diff --git a/patches/0052-Patch-tags-ComputedOnly-on-bedrockagent-and-other-mo.patch b/patches/0052-Patch-tags-ComputedOnly-on-bedrockagent-and-other-mo.patch index 010d4e98934..07c48d04537 100644 --- a/patches/0052-Patch-tags-ComputedOnly-on-bedrockagent-and-other-mo.patch +++ b/patches/0052-Patch-tags-ComputedOnly-on-bedrockagent-and-other-mo.patch @@ -18,7 +18,7 @@ index 18133c7439..ea9f2d088f 100644 Blocks: map[string]schema.Block{ "export": schema.ListNestedBlock{ diff --git a/internal/service/bedrockagent/agent.go b/internal/service/bedrockagent/agent.go -index fd25ee5bd0..f57bccf80e 100644 +index 4a983c9ca6..b596196ea6 100644 --- a/internal/service/bedrockagent/agent.go +++ b/internal/service/bedrockagent/agent.go @@ -165,7 +165,7 @@ func (r *agentResource) Schema(ctx context.Context, request resource.SchemaReque diff --git a/patches/0064-Adapt-gamelift-matchmaking-resources.patch b/patches/0064-Adapt-gamelift-matchmaking-resources.patch index 4a0780e9d92..e97bfc5cd42 100644 --- a/patches/0064-Adapt-gamelift-matchmaking-resources.patch +++ b/patches/0064-Adapt-gamelift-matchmaking-resources.patch @@ -645,7 +645,7 @@ index 4295987ae6..7554a3029c 100644 return nil } diff --git a/names/data/names_data.hcl b/names/data/names_data.hcl -index 43a89b7719..c932b8e482 100644 +index d51897bf5a..c1d81088f2 100644 --- a/names/data/names_data.hcl +++ b/names/data/names_data.hcl @@ -3883,7 +3883,8 @@ service "fsx" { diff --git a/patches/0065-Patch-Tags-for-bedrock-and-pinpoint.patch b/patches/0065-Patch-Tags-for-bedrock-and-pinpoint.patch index 1e9d0167866..656648ef662 100644 --- a/patches/0065-Patch-Tags-for-bedrock-and-pinpoint.patch +++ b/patches/0065-Patch-Tags-for-bedrock-and-pinpoint.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Patch Tags for bedrock and pinpoint diff --git a/internal/service/bedrock/guardrail.go b/internal/service/bedrock/guardrail.go -index f2c70aa5a1..32b96aa5d0 100644 +index 7d83ca812a..a9abb0d2ee 100644 --- a/internal/service/bedrock/guardrail.go +++ b/internal/service/bedrock/guardrail.go -@@ -119,7 +119,7 @@ func (r *resourceGuardrail) Schema(ctx context.Context, req resource.SchemaReque +@@ -122,7 +122,7 @@ func (r *resourceGuardrail) Schema(ctx context.Context, req resource.SchemaReque }, }, names.AttrTags: tftags.TagsAttribute(), diff --git a/patches/0073-Restore-AWS-Go-SDK-v1-session.patch b/patches/0073-Restore-AWS-Go-SDK-v1-session.patch index f32a5289fca..eca6b8c1a86 100644 --- a/patches/0073-Restore-AWS-Go-SDK-v1-session.patch +++ b/patches/0073-Restore-AWS-Go-SDK-v1-session.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Restore AWS Go SDK v1 session diff --git a/internal/conns/awsclient.go b/internal/conns/awsclient.go -index d84b29d997..7eb5b562e5 100644 +index 14395a7413..96197a1b56 100644 --- a/internal/conns/awsclient.go +++ b/internal/conns/awsclient.go -@@ -294,6 +294,7 @@ func (c *AWSClient) apiClientConfig(ctx context.Context, servicePackageName stri +@@ -295,6 +295,7 @@ func (c *AWSClient) apiClientConfig(ctx context.Context, servicePackageName stri "aws_sdkv2_config": c.awsConfig, "endpoint": c.endpoints[servicePackageName], "partition": c.Partition(ctx), diff --git a/patches/0077-Fix-tags_all-Computed-for-CodeConnections-Host-and-C.patch b/patches/0077-Fix-tags_all-Computed-for-CodeConnections-Host-and-C.patch new file mode 100644 index 00000000000..1c7fb02f9cd --- /dev/null +++ b/patches/0077-Fix-tags_all-Computed-for-CodeConnections-Host-and-C.patch @@ -0,0 +1,32 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Florian Stadler +Date: Thu, 5 Dec 2024 20:46:24 +0100 +Subject: [PATCH] Fix tags_all Computed for CodeConnections Host and Connection + + +diff --git a/internal/service/codeconnections/connection.go b/internal/service/codeconnections/connection.go +index 1beba6fd2c..0b8e5597e5 100644 +--- a/internal/service/codeconnections/connection.go ++++ b/internal/service/codeconnections/connection.go +@@ -108,7 +108,7 @@ func (r *connectionResource) Schema(ctx context.Context, req resource.SchemaRequ + }, + }, + names.AttrTags: tftags.TagsAttribute(), +- names.AttrTagsAll: tftags.TagsAttributeComputedOnly(), ++ names.AttrTagsAll: tftags.TagsAttribute(), + }, + Blocks: map[string]schema.Block{ + names.AttrTimeouts: timeouts.Block(ctx, timeouts.Opts{ +diff --git a/internal/service/codeconnections/host.go b/internal/service/codeconnections/host.go +index bcaee2c2d9..88bdbf102c 100644 +--- a/internal/service/codeconnections/host.go ++++ b/internal/service/codeconnections/host.go +@@ -87,7 +87,7 @@ func (r *hostResource) Schema(ctx context.Context, req resource.SchemaRequest, r + }, + }, + names.AttrTags: tftags.TagsAttribute(), +- names.AttrTagsAll: tftags.TagsAttributeComputedOnly(), ++ names.AttrTagsAll: tftags.TagsAttribute(), + }, + Blocks: map[string]schema.Block{ + names.AttrVPCConfiguration: schema.ListNestedBlock{ diff --git a/provider/cmd/pulumi-resource-aws/bridge-metadata.json b/provider/cmd/pulumi-resource-aws/bridge-metadata.json index a470c8546f4..7e88b354f46 100644 --- a/provider/cmd/pulumi-resource-aws/bridge-metadata.json +++ b/provider/cmd/pulumi-resource-aws/bridge-metadata.json @@ -7145,6 +7145,29 @@ } } }, + "aws_codeconnections_connection": { + "current": "aws:codeconnections/connection:Connection", + "majorVersion": 6 + }, + "aws_codeconnections_host": { + "current": "aws:codeconnections/host:Host", + "majorVersion": 6, + "fields": { + "vpc_configuration": { + "maxItemsOne": true, + "elem": { + "fields": { + "security_group_ids": { + "maxItemsOne": false + }, + "subnet_ids": { + "maxItemsOne": false + } + } + } + } + } + }, "aws_codedeploy_app": { "current": "aws:codedeploy/application:Application", "majorVersion": 6 @@ -157000,6 +157023,26 @@ } } }, + "aws_s3tables_namespace": { + "current": "aws:s3tables/namespace:Namespace", + "majorVersion": 6 + }, + "aws_s3tables_table": { + "current": "aws:s3tables/table:Table", + "majorVersion": 6 + }, + "aws_s3tables_table_bucket": { + "current": "aws:s3tables/tableBucket:TableBucket", + "majorVersion": 6 + }, + "aws_s3tables_table_bucket_policy": { + "current": "aws:s3tables/tableBucketPolicy:TableBucketPolicy", + "majorVersion": 6 + }, + "aws_s3tables_table_policy": { + "current": "aws:s3tables/tablePolicy:TablePolicy", + "majorVersion": 6 + }, "aws_sagemaker_app": { "current": "aws:sagemaker/app:App", "majorVersion": 6, @@ -276222,6 +276265,8 @@ "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, @@ -277144,6 +277189,11 @@ "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, diff --git a/provider/cmd/pulumi-resource-aws/runtime-bridge-metadata.json b/provider/cmd/pulumi-resource-aws/runtime-bridge-metadata.json index aeb7ae7e25e..3867549c8e3 100644 --- a/provider/cmd/pulumi-resource-aws/runtime-bridge-metadata.json +++ b/provider/cmd/pulumi-resource-aws/runtime-bridge-metadata.json @@ -1 +1 @@ -{"auto-settings":{"resources":{"aws_batch_job_definition":{"maxItemsOneOverrides":{"eks_properties.$.pod_properties.$.containers":true}},"aws_eks_cluster":{"maxItemsOneOverrides":{"certificate_authority":true}},"aws_lexv2models_slot":{"maxItemsOneOverrides":{"value_elicitation_setting.$.prompt_specification.$.message_group.$.message.$.custom_payload":false,"value_elicitation_setting.$.prompt_specification.$.message_group.$.variation.$.custom_payload":false,"value_elicitation_setting.$.wait_and_continue_specification.$.continue_response.$.message_group.$.message.$.custom_payload":false,"value_elicitation_setting.$.wait_and_continue_specification.$.continue_response.$.message_group.$.variation.$.custom_payload":false,"value_elicitation_setting.$.wait_and_continue_specification.$.still_waiting_response.$.message_group.$.message.$.custom_payload":false,"value_elicitation_setting.$.wait_and_continue_specification.$.still_waiting_response.$.message_group.$.variation.$.custom_payload":false,"value_elicitation_setting.$.wait_and_continue_specification.$.waiting_response.$.message_group.$.message.$.custom_payload":false,"value_elicitation_setting.$.wait_and_continue_specification.$.waiting_response.$.message_group.$.variation.$.custom_payload":false}},"aws_lexv2models_slot_type":{"maxItemsOneOverrides":{"composite_slot_type_setting":true,"external_source_setting":true,"external_source_setting.$.grammar_slot_type_setting":true,"external_source_setting.$.grammar_slot_type_setting.$.source":true,"slot_type_values":true}},"aws_sagemaker_app_image_config":{"maxItemsOneOverrides":{"kernel_gateway_image_config.$.kernel_spec":true}},"aws_securitylake_subscriber":{"maxItemsOneOverrides":{"source":true}},"aws_wafv2_web_acl":{"maxItemsOneOverrides":{"association_config.$.request_body.$.api_gateway":false,"association_config.$.request_body.$.app_runner_service":false,"association_config.$.request_body.$.cloudfront":false,"association_config.$.request_body.$.cognito_user_pool":false,"association_config.$.request_body.$.verified_access_instance":false}}},"datasources":{"aws_efs_file_system":{"maxItemsOneOverrides":{"lifecycle_policy":true}},"aws_quicksight_analysis":{"renames":["aws:quicksight/getAnalysis:getAnalysis"]},"aws_vpc_ipam_pool":{"renames":["aws:ec2/getVpcIamPool:getVpcIamPool"]},"aws_vpc_ipam_pool_cidrs":{"renames":["aws:ec2/getVpcIamPoolCidrs:getVpcIamPoolCidrs"]},"aws_vpc_ipam_pools":{"renames":["aws:ec2/getVpcIamPools:getVpcIamPools"]}}},"mux":{"resources":{"aws:accessanalyzer/analyzer:Analyzer":0,"aws:accessanalyzer/archiveRule:ArchiveRule":0,"aws:account/alternativeContact:AlternativeContact":0,"aws:account/primaryContact:PrimaryContact":0,"aws:account/region:Region":0,"aws:acm/certificate:Certificate":0,"aws:acm/certificateValidation:CertificateValidation":0,"aws:acmpca/certificate:Certificate":0,"aws:acmpca/certificateAuthority:CertificateAuthority":0,"aws:acmpca/certificateAuthorityCertificate:CertificateAuthorityCertificate":0,"aws:acmpca/permission:Permission":0,"aws:acmpca/policy:Policy":0,"aws:alb/listener:Listener":0,"aws:alb/listenerCertificate:ListenerCertificate":0,"aws:alb/listenerRule:ListenerRule":0,"aws:alb/loadBalancer:LoadBalancer":0,"aws:alb/targetGroup:TargetGroup":0,"aws:alb/targetGroupAttachment:TargetGroupAttachment":0,"aws:amp/alertManagerDefinition:AlertManagerDefinition":0,"aws:amp/ruleGroupNamespace:RuleGroupNamespace":0,"aws:amp/scraper:Scraper":1,"aws:amp/workspace:Workspace":0,"aws:amplify/app:App":0,"aws:amplify/backendEnvironment:BackendEnvironment":0,"aws:amplify/branch:Branch":0,"aws:amplify/domainAssociation:DomainAssociation":0,"aws:amplify/webhook:Webhook":0,"aws:apigateway/account:Account":1,"aws:apigateway/apiKey:ApiKey":0,"aws:apigateway/authorizer:Authorizer":0,"aws:apigateway/basePathMapping:BasePathMapping":0,"aws:apigateway/clientCertificate:ClientCertificate":0,"aws:apigateway/deployment:Deployment":0,"aws:apigateway/documentationPart:DocumentationPart":0,"aws:apigateway/documentationVersion:DocumentationVersion":0,"aws:apigateway/domainName:DomainName":0,"aws:apigateway/integration:Integration":0,"aws:apigateway/integrationResponse:IntegrationResponse":0,"aws:apigateway/method:Method":0,"aws:apigateway/methodResponse:MethodResponse":0,"aws:apigateway/methodSettings:MethodSettings":0,"aws:apigateway/model:Model":0,"aws:apigateway/requestValidator:RequestValidator":0,"aws:apigateway/resource:Resource":0,"aws:apigateway/response:Response":0,"aws:apigateway/restApi:RestApi":0,"aws:apigateway/restApiPolicy:RestApiPolicy":0,"aws:apigateway/stage:Stage":0,"aws:apigateway/usagePlan:UsagePlan":0,"aws:apigateway/usagePlanKey:UsagePlanKey":0,"aws:apigateway/vpcLink:VpcLink":0,"aws:apigatewayv2/api:Api":0,"aws:apigatewayv2/apiMapping:ApiMapping":0,"aws:apigatewayv2/authorizer:Authorizer":0,"aws:apigatewayv2/deployment:Deployment":0,"aws:apigatewayv2/domainName:DomainName":0,"aws:apigatewayv2/integration:Integration":0,"aws:apigatewayv2/integrationResponse:IntegrationResponse":0,"aws:apigatewayv2/model:Model":0,"aws:apigatewayv2/route:Route":0,"aws:apigatewayv2/routeResponse:RouteResponse":0,"aws:apigatewayv2/stage:Stage":0,"aws:apigatewayv2/vpcLink:VpcLink":0,"aws:appautoscaling/policy:Policy":0,"aws:appautoscaling/scheduledAction:ScheduledAction":0,"aws:appautoscaling/target:Target":0,"aws:appconfig/application:Application":0,"aws:appconfig/configurationProfile:ConfigurationProfile":0,"aws:appconfig/deployment:Deployment":0,"aws:appconfig/deploymentStrategy:DeploymentStrategy":0,"aws:appconfig/environment:Environment":1,"aws:appconfig/eventIntegration:EventIntegration":0,"aws:appconfig/extension:Extension":0,"aws:appconfig/extensionAssociation:ExtensionAssociation":0,"aws:appconfig/hostedConfigurationVersion:HostedConfigurationVersion":0,"aws:appfabric/appAuthorization:AppAuthorization":1,"aws:appfabric/appAuthorizationConnection:AppAuthorizationConnection":1,"aws:appfabric/appBundle:AppBundle":1,"aws:appfabric/ingestion:Ingestion":1,"aws:appfabric/ingestionDestination:IngestionDestination":1,"aws:appflow/connectorProfile:ConnectorProfile":0,"aws:appflow/flow:Flow":0,"aws:appintegrations/dataIntegration:DataIntegration":0,"aws:applicationinsights/application:Application":0,"aws:appmesh/gatewayRoute:GatewayRoute":0,"aws:appmesh/mesh:Mesh":0,"aws:appmesh/route:Route":0,"aws:appmesh/virtualGateway:VirtualGateway":0,"aws:appmesh/virtualNode:VirtualNode":0,"aws:appmesh/virtualRouter:VirtualRouter":0,"aws:appmesh/virtualService:VirtualService":0,"aws:apprunner/autoScalingConfigurationVersion:AutoScalingConfigurationVersion":0,"aws:apprunner/connection:Connection":0,"aws:apprunner/customDomainAssociation:CustomDomainAssociation":0,"aws:apprunner/defaultAutoScalingConfigurationVersion:DefaultAutoScalingConfigurationVersion":1,"aws:apprunner/deployment:Deployment":1,"aws:apprunner/observabilityConfiguration:ObservabilityConfiguration":0,"aws:apprunner/service:Service":0,"aws:apprunner/vpcConnector:VpcConnector":0,"aws:apprunner/vpcIngressConnection:VpcIngressConnection":0,"aws:appstream/directoryConfig:DirectoryConfig":0,"aws:appstream/fleet:Fleet":0,"aws:appstream/fleetStackAssociation:FleetStackAssociation":0,"aws:appstream/imageBuilder:ImageBuilder":0,"aws:appstream/stack:Stack":0,"aws:appstream/user:User":0,"aws:appstream/userStackAssociation:UserStackAssociation":0,"aws:appsync/apiCache:ApiCache":0,"aws:appsync/apiKey:ApiKey":0,"aws:appsync/dataSource:DataSource":0,"aws:appsync/domainName:DomainName":0,"aws:appsync/domainNameApiAssociation:DomainNameApiAssociation":0,"aws:appsync/function:Function":0,"aws:appsync/graphQLApi:GraphQLApi":0,"aws:appsync/resolver:Resolver":0,"aws:appsync/sourceApiAssociation:SourceApiAssociation":1,"aws:appsync/type:Type":0,"aws:athena/dataCatalog:DataCatalog":0,"aws:athena/database:Database":0,"aws:athena/namedQuery:NamedQuery":0,"aws:athena/preparedStatement:PreparedStatement":0,"aws:athena/workgroup:Workgroup":0,"aws:auditmanager/accountRegistration:AccountRegistration":1,"aws:auditmanager/assessment:Assessment":1,"aws:auditmanager/assessmentDelegation:AssessmentDelegation":1,"aws:auditmanager/assessmentReport:AssessmentReport":1,"aws:auditmanager/control:Control":1,"aws:auditmanager/framework:Framework":1,"aws:auditmanager/frameworkShare:FrameworkShare":1,"aws:auditmanager/organizationAdminAccountRegistration:OrganizationAdminAccountRegistration":1,"aws:autoscaling/attachment:Attachment":0,"aws:autoscaling/group:Group":0,"aws:autoscaling/lifecycleHook:LifecycleHook":0,"aws:autoscaling/notification:Notification":0,"aws:autoscaling/policy:Policy":0,"aws:autoscaling/schedule:Schedule":0,"aws:autoscaling/tag:Tag":0,"aws:autoscaling/trafficSourceAttachment:TrafficSourceAttachment":0,"aws:autoscalingplans/scalingPlan:ScalingPlan":0,"aws:backup/framework:Framework":0,"aws:backup/globalSettings:GlobalSettings":0,"aws:backup/logicallyAirGappedVault:LogicallyAirGappedVault":1,"aws:backup/plan:Plan":0,"aws:backup/regionSettings:RegionSettings":0,"aws:backup/reportPlan:ReportPlan":0,"aws:backup/restoreTestingPlan:RestoreTestingPlan":1,"aws:backup/restoreTestingSelection:RestoreTestingSelection":1,"aws:backup/selection:Selection":0,"aws:backup/vault:Vault":0,"aws:backup/vaultLockConfiguration:VaultLockConfiguration":0,"aws:backup/vaultNotifications:VaultNotifications":0,"aws:backup/vaultPolicy:VaultPolicy":0,"aws:batch/computeEnvironment:ComputeEnvironment":0,"aws:batch/jobDefinition:JobDefinition":0,"aws:batch/jobQueue:JobQueue":1,"aws:batch/schedulingPolicy:SchedulingPolicy":0,"aws:bcmdata/export:Export":1,"aws:bedrock/agentAgent:AgentAgent":1,"aws:bedrock/agentAgentActionGroup:AgentAgentActionGroup":1,"aws:bedrock/agentAgentAlias:AgentAgentAlias":1,"aws:bedrock/agentAgentKnowledgeBaseAssociation:AgentAgentKnowledgeBaseAssociation":1,"aws:bedrock/agentDataSource:AgentDataSource":1,"aws:bedrock/agentKnowledgeBase:AgentKnowledgeBase":1,"aws:bedrock/customModel:CustomModel":1,"aws:bedrock/guardrail:Guardrail":1,"aws:bedrock/guardrailVersion:GuardrailVersion":1,"aws:bedrock/provisionedModelThroughput:ProvisionedModelThroughput":1,"aws:bedrockmodel/invocationLoggingConfiguration:InvocationLoggingConfiguration":1,"aws:budgets/budget:Budget":0,"aws:budgets/budgetAction:BudgetAction":0,"aws:cfg/aggregateAuthorization:AggregateAuthorization":0,"aws:cfg/configurationAggregator:ConfigurationAggregator":0,"aws:cfg/conformancePack:ConformancePack":0,"aws:cfg/deliveryChannel:DeliveryChannel":0,"aws:cfg/organizationConformancePack:OrganizationConformancePack":0,"aws:cfg/organizationCustomPolicyRule:OrganizationCustomPolicyRule":0,"aws:cfg/organizationCustomRule:OrganizationCustomRule":0,"aws:cfg/organizationManagedRule:OrganizationManagedRule":0,"aws:cfg/recorder:Recorder":0,"aws:cfg/recorderStatus:RecorderStatus":0,"aws:cfg/remediationConfiguration:RemediationConfiguration":0,"aws:cfg/retentionConfiguration:RetentionConfiguration":1,"aws:cfg/rule:Rule":0,"aws:chatbot/slackChannelConfiguration:SlackChannelConfiguration":1,"aws:chatbot/teamsChannelConfiguration:TeamsChannelConfiguration":1,"aws:chime/sdkvoiceGlobalSettings:SdkvoiceGlobalSettings":0,"aws:chime/sdkvoiceSipMediaApplication:SdkvoiceSipMediaApplication":0,"aws:chime/sdkvoiceSipRule:SdkvoiceSipRule":0,"aws:chime/sdkvoiceVoiceProfileDomain:SdkvoiceVoiceProfileDomain":0,"aws:chime/voiceConnector:VoiceConnector":0,"aws:chime/voiceConnectorGroup:VoiceConnectorGroup":0,"aws:chime/voiceConnectorLogging:VoiceConnectorLogging":0,"aws:chime/voiceConnectorOrganization:VoiceConnectorOrganization":0,"aws:chime/voiceConnectorStreaming:VoiceConnectorStreaming":0,"aws:chime/voiceConnectorTermination:VoiceConnectorTermination":0,"aws:chime/voiceConnectorTerminationCredentials:VoiceConnectorTerminationCredentials":0,"aws:chimesdkmediapipelines/mediaInsightsPipelineConfiguration:MediaInsightsPipelineConfiguration":0,"aws:cleanrooms/collaboration:Collaboration":0,"aws:cleanrooms/configuredTable:ConfiguredTable":0,"aws:cloud9/environmentEC2:EnvironmentEC2":0,"aws:cloud9/environmentMembership:EnvironmentMembership":0,"aws:cloudcontrol/resource:Resource":0,"aws:cloudformation/cloudFormationType:CloudFormationType":0,"aws:cloudformation/stack:Stack":0,"aws:cloudformation/stackInstances:StackInstances":0,"aws:cloudformation/stackSet:StackSet":0,"aws:cloudformation/stackSetInstance:StackSetInstance":0,"aws:cloudfront/cachePolicy:CachePolicy":0,"aws:cloudfront/continuousDeploymentPolicy:ContinuousDeploymentPolicy":1,"aws:cloudfront/distribution:Distribution":0,"aws:cloudfront/fieldLevelEncryptionConfig:FieldLevelEncryptionConfig":0,"aws:cloudfront/fieldLevelEncryptionProfile:FieldLevelEncryptionProfile":0,"aws:cloudfront/function:Function":0,"aws:cloudfront/keyGroup:KeyGroup":0,"aws:cloudfront/keyValueStore:KeyValueStore":1,"aws:cloudfront/keyvaluestoreKey:KeyvaluestoreKey":1,"aws:cloudfront/monitoringSubscription:MonitoringSubscription":0,"aws:cloudfront/originAccessControl:OriginAccessControl":0,"aws:cloudfront/originAccessIdentity:OriginAccessIdentity":0,"aws:cloudfront/originRequestPolicy:OriginRequestPolicy":0,"aws:cloudfront/publicKey:PublicKey":0,"aws:cloudfront/realtimeLogConfig:RealtimeLogConfig":0,"aws:cloudfront/responseHeadersPolicy:ResponseHeadersPolicy":0,"aws:cloudhsmv2/cluster:Cluster":0,"aws:cloudhsmv2/hsm:Hsm":0,"aws:cloudsearch/domain:Domain":0,"aws:cloudsearch/domainServiceAccessPolicy:DomainServiceAccessPolicy":0,"aws:cloudtrail/eventDataStore:EventDataStore":0,"aws:cloudtrail/organizationDelegatedAdminAccount:OrganizationDelegatedAdminAccount":1,"aws:cloudtrail/trail:Trail":0,"aws:cloudwatch/compositeAlarm:CompositeAlarm":0,"aws:cloudwatch/dashboard:Dashboard":0,"aws:cloudwatch/eventApiDestination:EventApiDestination":0,"aws:cloudwatch/eventArchive:EventArchive":0,"aws:cloudwatch/eventBus:EventBus":0,"aws:cloudwatch/eventBusPolicy:EventBusPolicy":0,"aws:cloudwatch/eventConnection:EventConnection":0,"aws:cloudwatch/eventEndpoint:EventEndpoint":0,"aws:cloudwatch/eventPermission:EventPermission":0,"aws:cloudwatch/eventRule:EventRule":0,"aws:cloudwatch/eventTarget:EventTarget":0,"aws:cloudwatch/internetMonitor:InternetMonitor":0,"aws:cloudwatch/logAccountPolicy:LogAccountPolicy":0,"aws:cloudwatch/logDataProtectionPolicy:LogDataProtectionPolicy":0,"aws:cloudwatch/logDestination:LogDestination":0,"aws:cloudwatch/logDestinationPolicy:LogDestinationPolicy":0,"aws:cloudwatch/logGroup:LogGroup":0,"aws:cloudwatch/logMetricFilter:LogMetricFilter":0,"aws:cloudwatch/logResourcePolicy:LogResourcePolicy":0,"aws:cloudwatch/logStream:LogStream":0,"aws:cloudwatch/logSubscriptionFilter:LogSubscriptionFilter":0,"aws:cloudwatch/metricAlarm:MetricAlarm":0,"aws:cloudwatch/metricStream:MetricStream":0,"aws:cloudwatch/queryDefinition:QueryDefinition":0,"aws:codeartifact/domain:Domain":0,"aws:codeartifact/domainPermissions:DomainPermissions":0,"aws:codeartifact/repository:Repository":0,"aws:codeartifact/repositoryPermissionsPolicy:RepositoryPermissionsPolicy":0,"aws:codebuild/fleet:Fleet":0,"aws:codebuild/project:Project":0,"aws:codebuild/reportGroup:ReportGroup":0,"aws:codebuild/resourcePolicy:ResourcePolicy":0,"aws:codebuild/sourceCredential:SourceCredential":0,"aws:codebuild/webhook:Webhook":0,"aws:codecatalyst/devEnvironment:DevEnvironment":0,"aws:codecatalyst/project:Project":0,"aws:codecatalyst/sourceRepository:SourceRepository":0,"aws:codecommit/approvalRuleTemplate:ApprovalRuleTemplate":0,"aws:codecommit/approvalRuleTemplateAssociation:ApprovalRuleTemplateAssociation":0,"aws:codecommit/repository:Repository":0,"aws:codecommit/trigger:Trigger":0,"aws:codedeploy/application:Application":0,"aws:codedeploy/deploymentConfig:DeploymentConfig":0,"aws:codedeploy/deploymentGroup:DeploymentGroup":0,"aws:codeguruprofiler/profilingGroup:ProfilingGroup":1,"aws:codegurureviewer/repositoryAssociation:RepositoryAssociation":0,"aws:codepipeline/customActionType:CustomActionType":0,"aws:codepipeline/pipeline:Pipeline":0,"aws:codepipeline/webhook:Webhook":0,"aws:codestarconnections/connection:Connection":0,"aws:codestarconnections/host:Host":0,"aws:codestarnotifications/notificationRule:NotificationRule":0,"aws:cognito/identityPool:IdentityPool":0,"aws:cognito/identityPoolProviderPrincipalTag:IdentityPoolProviderPrincipalTag":0,"aws:cognito/identityPoolRoleAttachment:IdentityPoolRoleAttachment":0,"aws:cognito/identityProvider:IdentityProvider":0,"aws:cognito/managedUserPoolClient:ManagedUserPoolClient":1,"aws:cognito/resourceServer:ResourceServer":0,"aws:cognito/riskConfiguration:RiskConfiguration":0,"aws:cognito/user:User":0,"aws:cognito/userGroup:UserGroup":0,"aws:cognito/userInGroup:UserInGroup":0,"aws:cognito/userPool:UserPool":0,"aws:cognito/userPoolClient:UserPoolClient":1,"aws:cognito/userPoolDomain:UserPoolDomain":0,"aws:cognito/userPoolUICustomization:UserPoolUICustomization":0,"aws:comprehend/documentClassifier:DocumentClassifier":0,"aws:comprehend/entityRecognizer:EntityRecognizer":0,"aws:computeoptimizer/enrollmentStatus:EnrollmentStatus":1,"aws:computeoptimizer/recommendationPreferences:RecommendationPreferences":1,"aws:connect/botAssociation:BotAssociation":0,"aws:connect/contactFlow:ContactFlow":0,"aws:connect/contactFlowModule:ContactFlowModule":0,"aws:connect/hoursOfOperation:HoursOfOperation":0,"aws:connect/instance:Instance":0,"aws:connect/instanceStorageConfig:InstanceStorageConfig":0,"aws:connect/lambdaFunctionAssociation:LambdaFunctionAssociation":0,"aws:connect/phoneNumber:PhoneNumber":0,"aws:connect/queue:Queue":0,"aws:connect/quickConnect:QuickConnect":0,"aws:connect/routingProfile:RoutingProfile":0,"aws:connect/securityProfile:SecurityProfile":0,"aws:connect/user:User":0,"aws:connect/userHierarchyGroup:UserHierarchyGroup":0,"aws:connect/userHierarchyStructure:UserHierarchyStructure":0,"aws:connect/vocabulary:Vocabulary":0,"aws:controltower/controlTowerControl:ControlTowerControl":0,"aws:controltower/landingZone:LandingZone":0,"aws:costexplorer/anomalyMonitor:AnomalyMonitor":0,"aws:costexplorer/anomalySubscription:AnomalySubscription":0,"aws:costexplorer/costAllocationTag:CostAllocationTag":0,"aws:costexplorer/costCategory:CostCategory":0,"aws:costoptimizationhub/enrollmentStatus:EnrollmentStatus":1,"aws:costoptimizationhub/preferences:Preferences":1,"aws:cur/reportDefinition:ReportDefinition":0,"aws:customerprofiles/domain:Domain":0,"aws:customerprofiles/profile:Profile":0,"aws:dataexchange/dataSet:DataSet":0,"aws:dataexchange/revision:Revision":0,"aws:datapipeline/pipeline:Pipeline":0,"aws:datapipeline/pipelineDefinition:PipelineDefinition":0,"aws:datasync/agent:Agent":0,"aws:datasync/efsLocation:EfsLocation":0,"aws:datasync/fsxOpenZfsFileSystem:FsxOpenZfsFileSystem":0,"aws:datasync/locationAzureBlob:LocationAzureBlob":0,"aws:datasync/locationFsxLustre:LocationFsxLustre":0,"aws:datasync/locationFsxOntapFileSystem:LocationFsxOntapFileSystem":0,"aws:datasync/locationFsxWindows:LocationFsxWindows":0,"aws:datasync/locationHdfs:LocationHdfs":0,"aws:datasync/locationObjectStorage:LocationObjectStorage":0,"aws:datasync/locationSmb:LocationSmb":0,"aws:datasync/nfsLocation:NfsLocation":0,"aws:datasync/s3Location:S3Location":0,"aws:datasync/task:Task":0,"aws:datazone/assetType:AssetType":1,"aws:datazone/domain:Domain":1,"aws:datazone/environment:Environment":1,"aws:datazone/environmentBlueprintConfiguration:EnvironmentBlueprintConfiguration":1,"aws:datazone/environmentProfile:EnvironmentProfile":1,"aws:datazone/formType:FormType":1,"aws:datazone/glossary:Glossary":1,"aws:datazone/glossaryTerm:GlossaryTerm":1,"aws:datazone/project:Project":1,"aws:datazone/userProfile:UserProfile":1,"aws:dax/cluster:Cluster":0,"aws:dax/parameterGroup:ParameterGroup":0,"aws:dax/subnetGroup:SubnetGroup":0,"aws:detective/graph:Graph":0,"aws:detective/invitationAccepter:InvitationAccepter":0,"aws:detective/member:Member":0,"aws:detective/organizationAdminAccount:OrganizationAdminAccount":0,"aws:detective/organizationConfiguration:OrganizationConfiguration":0,"aws:devicefarm/devicePool:DevicePool":0,"aws:devicefarm/instanceProfile:InstanceProfile":0,"aws:devicefarm/networkProfile:NetworkProfile":0,"aws:devicefarm/project:Project":0,"aws:devicefarm/testGridProject:TestGridProject":0,"aws:devicefarm/upload:Upload":0,"aws:devopsguru/eventSourcesConfig:EventSourcesConfig":1,"aws:devopsguru/notificationChannel:NotificationChannel":1,"aws:devopsguru/resourceCollection:ResourceCollection":1,"aws:devopsguru/serviceIntegration:ServiceIntegration":1,"aws:directconnect/bgpPeer:BgpPeer":0,"aws:directconnect/connection:Connection":0,"aws:directconnect/connectionAssociation:ConnectionAssociation":0,"aws:directconnect/connectionConfirmation:ConnectionConfirmation":0,"aws:directconnect/gateway:Gateway":0,"aws:directconnect/gatewayAssociation:GatewayAssociation":0,"aws:directconnect/gatewayAssociationProposal:GatewayAssociationProposal":0,"aws:directconnect/hostedConnection:HostedConnection":0,"aws:directconnect/hostedPrivateVirtualInterface:HostedPrivateVirtualInterface":0,"aws:directconnect/hostedPrivateVirtualInterfaceAccepter:HostedPrivateVirtualInterfaceAccepter":0,"aws:directconnect/hostedPublicVirtualInterface:HostedPublicVirtualInterface":0,"aws:directconnect/hostedPublicVirtualInterfaceAccepter:HostedPublicVirtualInterfaceAccepter":0,"aws:directconnect/hostedTransitVirtualInterface:HostedTransitVirtualInterface":0,"aws:directconnect/hostedTransitVirtualInterfaceAcceptor:HostedTransitVirtualInterfaceAcceptor":0,"aws:directconnect/linkAggregationGroup:LinkAggregationGroup":0,"aws:directconnect/macsecKeyAssociation:MacsecKeyAssociation":0,"aws:directconnect/privateVirtualInterface:PrivateVirtualInterface":0,"aws:directconnect/publicVirtualInterface:PublicVirtualInterface":0,"aws:directconnect/transitVirtualInterface:TransitVirtualInterface":0,"aws:directoryservice/conditionalForwader:ConditionalForwader":0,"aws:directoryservice/directory:Directory":0,"aws:directoryservice/logService:LogService":0,"aws:directoryservice/radiusSettings:RadiusSettings":0,"aws:directoryservice/serviceRegion:ServiceRegion":0,"aws:directoryservice/sharedDirectory:SharedDirectory":0,"aws:directoryservice/sharedDirectoryAccepter:SharedDirectoryAccepter":0,"aws:directoryservice/trust:Trust":1,"aws:dlm/lifecyclePolicy:LifecyclePolicy":0,"aws:dms/certificate:Certificate":0,"aws:dms/endpoint:Endpoint":0,"aws:dms/eventSubscription:EventSubscription":0,"aws:dms/replicationConfig:ReplicationConfig":0,"aws:dms/replicationInstance:ReplicationInstance":0,"aws:dms/replicationSubnetGroup:ReplicationSubnetGroup":0,"aws:dms/replicationTask:ReplicationTask":0,"aws:dms/s3Endpoint:S3Endpoint":0,"aws:docdb/cluster:Cluster":0,"aws:docdb/clusterInstance:ClusterInstance":0,"aws:docdb/clusterParameterGroup:ClusterParameterGroup":0,"aws:docdb/clusterSnapshot:ClusterSnapshot":0,"aws:docdb/elasticCluster:ElasticCluster":1,"aws:docdb/eventSubscription:EventSubscription":0,"aws:docdb/globalCluster:GlobalCluster":0,"aws:docdb/subnetGroup:SubnetGroup":0,"aws:drs/replicationConfigurationTemplate:ReplicationConfigurationTemplate":1,"aws:dynamodb/contributorInsights:ContributorInsights":0,"aws:dynamodb/globalTable:GlobalTable":0,"aws:dynamodb/kinesisStreamingDestination:KinesisStreamingDestination":0,"aws:dynamodb/resourcePolicy:ResourcePolicy":1,"aws:dynamodb/table:Table":0,"aws:dynamodb/tableExport:TableExport":0,"aws:dynamodb/tableItem:TableItem":0,"aws:dynamodb/tableReplica:TableReplica":0,"aws:dynamodb/tag:Tag":0,"aws:ebs/defaultKmsKey:DefaultKmsKey":0,"aws:ebs/encryptionByDefault:EncryptionByDefault":0,"aws:ebs/fastSnapshotRestore:FastSnapshotRestore":1,"aws:ebs/snapshot:Snapshot":0,"aws:ebs/snapshotBlockPublicAccess:SnapshotBlockPublicAccess":0,"aws:ebs/snapshotCopy:SnapshotCopy":0,"aws:ebs/snapshotImport:SnapshotImport":0,"aws:ebs/volume:Volume":0,"aws:ec2/ami:Ami":0,"aws:ec2/amiCopy:AmiCopy":0,"aws:ec2/amiFromInstance:AmiFromInstance":0,"aws:ec2/amiLaunchPermission:AmiLaunchPermission":0,"aws:ec2/availabilityZoneGroup:AvailabilityZoneGroup":0,"aws:ec2/capacityBlockReservation:CapacityBlockReservation":1,"aws:ec2/capacityReservation:CapacityReservation":0,"aws:ec2/carrierGateway:CarrierGateway":0,"aws:ec2/customerGateway:CustomerGateway":0,"aws:ec2/dedicatedHost:DedicatedHost":0,"aws:ec2/defaultNetworkAcl:DefaultNetworkAcl":0,"aws:ec2/defaultRouteTable:DefaultRouteTable":0,"aws:ec2/defaultSecurityGroup:DefaultSecurityGroup":0,"aws:ec2/defaultSubnet:DefaultSubnet":0,"aws:ec2/defaultVpc:DefaultVpc":0,"aws:ec2/defaultVpcDhcpOptions:DefaultVpcDhcpOptions":0,"aws:ec2/egressOnlyInternetGateway:EgressOnlyInternetGateway":0,"aws:ec2/eip:Eip":0,"aws:ec2/eipAssociation:EipAssociation":0,"aws:ec2/eipDomainName:EipDomainName":1,"aws:ec2/fleet:Fleet":0,"aws:ec2/flowLog:FlowLog":0,"aws:ec2/imageBlockPublicAccess:ImageBlockPublicAccess":0,"aws:ec2/instance:Instance":0,"aws:ec2/instanceMetadataDefaults:InstanceMetadataDefaults":1,"aws:ec2/internetGateway:InternetGateway":0,"aws:ec2/internetGatewayAttachment:InternetGatewayAttachment":0,"aws:ec2/keyPair:KeyPair":0,"aws:ec2/launchConfiguration:LaunchConfiguration":0,"aws:ec2/launchTemplate:LaunchTemplate":0,"aws:ec2/localGatewayRoute:LocalGatewayRoute":0,"aws:ec2/localGatewayRouteTableVpcAssociation:LocalGatewayRouteTableVpcAssociation":0,"aws:ec2/mainRouteTableAssociation:MainRouteTableAssociation":0,"aws:ec2/managedPrefixList:ManagedPrefixList":0,"aws:ec2/managedPrefixListEntry:ManagedPrefixListEntry":0,"aws:ec2/natGateway:NatGateway":0,"aws:ec2/networkAcl:NetworkAcl":0,"aws:ec2/networkAclAssociation:NetworkAclAssociation":0,"aws:ec2/networkAclRule:NetworkAclRule":0,"aws:ec2/networkInsightsAnalysis:NetworkInsightsAnalysis":0,"aws:ec2/networkInsightsPath:NetworkInsightsPath":0,"aws:ec2/networkInterface:NetworkInterface":0,"aws:ec2/networkInterfaceAttachment:NetworkInterfaceAttachment":0,"aws:ec2/networkInterfaceSecurityGroupAttachment:NetworkInterfaceSecurityGroupAttachment":0,"aws:ec2/peeringConnectionOptions:PeeringConnectionOptions":0,"aws:ec2/placementGroup:PlacementGroup":0,"aws:ec2/proxyProtocolPolicy:ProxyProtocolPolicy":0,"aws:ec2/route:Route":0,"aws:ec2/routeTable:RouteTable":0,"aws:ec2/routeTableAssociation:RouteTableAssociation":0,"aws:ec2/securityGroup:SecurityGroup":0,"aws:ec2/securityGroupAssociation:SecurityGroupAssociation":0,"aws:ec2/securityGroupRule:SecurityGroupRule":0,"aws:ec2/serialConsoleAccess:SerialConsoleAccess":0,"aws:ec2/snapshotCreateVolumePermission:SnapshotCreateVolumePermission":0,"aws:ec2/spotDatafeedSubscription:SpotDatafeedSubscription":0,"aws:ec2/spotFleetRequest:SpotFleetRequest":0,"aws:ec2/spotInstanceRequest:SpotInstanceRequest":0,"aws:ec2/subnet:Subnet":0,"aws:ec2/subnetCidrReservation:SubnetCidrReservation":0,"aws:ec2/tag:Tag":0,"aws:ec2/trafficMirrorFilter:TrafficMirrorFilter":0,"aws:ec2/trafficMirrorFilterRule:TrafficMirrorFilterRule":0,"aws:ec2/trafficMirrorSession:TrafficMirrorSession":0,"aws:ec2/trafficMirrorTarget:TrafficMirrorTarget":0,"aws:ec2/volumeAttachment:VolumeAttachment":0,"aws:ec2/vpc:Vpc":0,"aws:ec2/vpcBlockPublicAccessExclusion:VpcBlockPublicAccessExclusion":1,"aws:ec2/vpcBlockPublicAccessOptions:VpcBlockPublicAccessOptions":1,"aws:ec2/vpcDhcpOptions:VpcDhcpOptions":0,"aws:ec2/vpcDhcpOptionsAssociation:VpcDhcpOptionsAssociation":0,"aws:ec2/vpcEndpoint:VpcEndpoint":0,"aws:ec2/vpcEndpointConnectionAccepter:VpcEndpointConnectionAccepter":0,"aws:ec2/vpcEndpointConnectionNotification:VpcEndpointConnectionNotification":0,"aws:ec2/vpcEndpointPolicy:VpcEndpointPolicy":0,"aws:ec2/vpcEndpointRouteTableAssociation:VpcEndpointRouteTableAssociation":0,"aws:ec2/vpcEndpointService:VpcEndpointService":0,"aws:ec2/vpcEndpointServiceAllowedPrinciple:VpcEndpointServiceAllowedPrinciple":0,"aws:ec2/vpcEndpointSubnetAssociation:VpcEndpointSubnetAssociation":0,"aws:ec2/vpcIpam:VpcIpam":0,"aws:ec2/vpcIpamOrganizationAdminAccount:VpcIpamOrganizationAdminAccount":0,"aws:ec2/vpcIpamPool:VpcIpamPool":0,"aws:ec2/vpcIpamPoolCidr:VpcIpamPoolCidr":0,"aws:ec2/vpcIpamPoolCidrAllocation:VpcIpamPoolCidrAllocation":0,"aws:ec2/vpcIpamPreviewNextCidr:VpcIpamPreviewNextCidr":0,"aws:ec2/vpcIpamResourceDiscovery:VpcIpamResourceDiscovery":0,"aws:ec2/vpcIpamResourceDiscoveryAssociation:VpcIpamResourceDiscoveryAssociation":0,"aws:ec2/vpcIpamScope:VpcIpamScope":0,"aws:ec2/vpcIpv4CidrBlockAssociation:VpcIpv4CidrBlockAssociation":0,"aws:ec2/vpcIpv6CidrBlockAssociation:VpcIpv6CidrBlockAssociation":0,"aws:ec2/vpcNetworkPerformanceMetricSubscription:VpcNetworkPerformanceMetricSubscription":0,"aws:ec2/vpcPeeringConnection:VpcPeeringConnection":0,"aws:ec2/vpcPeeringConnectionAccepter:VpcPeeringConnectionAccepter":0,"aws:ec2/vpnConnection:VpnConnection":0,"aws:ec2/vpnConnectionRoute:VpnConnectionRoute":0,"aws:ec2/vpnGateway:VpnGateway":0,"aws:ec2/vpnGatewayAttachment:VpnGatewayAttachment":0,"aws:ec2/vpnGatewayRoutePropagation:VpnGatewayRoutePropagation":0,"aws:ec2clientvpn/authorizationRule:AuthorizationRule":0,"aws:ec2clientvpn/endpoint:Endpoint":0,"aws:ec2clientvpn/networkAssociation:NetworkAssociation":0,"aws:ec2clientvpn/route:Route":0,"aws:ec2transitgateway/connect:Connect":0,"aws:ec2transitgateway/connectPeer:ConnectPeer":0,"aws:ec2transitgateway/defaultRouteTableAssociation:DefaultRouteTableAssociation":1,"aws:ec2transitgateway/defaultRouteTablePropagation:DefaultRouteTablePropagation":1,"aws:ec2transitgateway/instanceConnectEndpoint:InstanceConnectEndpoint":1,"aws:ec2transitgateway/instanceState:InstanceState":0,"aws:ec2transitgateway/multicastDomain:MulticastDomain":0,"aws:ec2transitgateway/multicastDomainAssociation:MulticastDomainAssociation":0,"aws:ec2transitgateway/multicastGroupMember:MulticastGroupMember":0,"aws:ec2transitgateway/multicastGroupSource:MulticastGroupSource":0,"aws:ec2transitgateway/peeringAttachment:PeeringAttachment":0,"aws:ec2transitgateway/peeringAttachmentAccepter:PeeringAttachmentAccepter":0,"aws:ec2transitgateway/policyTable:PolicyTable":0,"aws:ec2transitgateway/policyTableAssociation:PolicyTableAssociation":0,"aws:ec2transitgateway/prefixListReference:PrefixListReference":0,"aws:ec2transitgateway/route:Route":0,"aws:ec2transitgateway/routeTable:RouteTable":0,"aws:ec2transitgateway/routeTableAssociation:RouteTableAssociation":0,"aws:ec2transitgateway/routeTablePropagation:RouteTablePropagation":0,"aws:ec2transitgateway/transitGateway:TransitGateway":0,"aws:ec2transitgateway/vpcAttachment:VpcAttachment":0,"aws:ec2transitgateway/vpcAttachmentAccepter:VpcAttachmentAccepter":0,"aws:ecr/lifecyclePolicy:LifecyclePolicy":0,"aws:ecr/pullThroughCacheRule:PullThroughCacheRule":0,"aws:ecr/registryPolicy:RegistryPolicy":0,"aws:ecr/registryScanningConfiguration:RegistryScanningConfiguration":0,"aws:ecr/replicationConfiguration:ReplicationConfiguration":0,"aws:ecr/repository:Repository":0,"aws:ecr/repositoryCreationTemplate:RepositoryCreationTemplate":0,"aws:ecr/repositoryPolicy:RepositoryPolicy":0,"aws:ecrpublic/repository:Repository":0,"aws:ecrpublic/repositoryPolicy:RepositoryPolicy":0,"aws:ecs/accountSettingDefault:AccountSettingDefault":0,"aws:ecs/capacityProvider:CapacityProvider":0,"aws:ecs/cluster:Cluster":0,"aws:ecs/clusterCapacityProviders:ClusterCapacityProviders":0,"aws:ecs/service:Service":0,"aws:ecs/tag:Tag":0,"aws:ecs/taskDefinition:TaskDefinition":0,"aws:ecs/taskSet:TaskSet":0,"aws:efs/accessPoint:AccessPoint":0,"aws:efs/backupPolicy:BackupPolicy":0,"aws:efs/fileSystem:FileSystem":0,"aws:efs/fileSystemPolicy:FileSystemPolicy":0,"aws:efs/mountTarget:MountTarget":0,"aws:efs/replicationConfiguration:ReplicationConfiguration":0,"aws:eks/accessEntry:AccessEntry":0,"aws:eks/accessPolicyAssociation:AccessPolicyAssociation":0,"aws:eks/addon:Addon":0,"aws:eks/cluster:Cluster":0,"aws:eks/fargateProfile:FargateProfile":0,"aws:eks/identityProviderConfig:IdentityProviderConfig":0,"aws:eks/nodeGroup:NodeGroup":0,"aws:eks/podIdentityAssociation:PodIdentityAssociation":1,"aws:elasticache/cluster:Cluster":0,"aws:elasticache/globalReplicationGroup:GlobalReplicationGroup":0,"aws:elasticache/parameterGroup:ParameterGroup":0,"aws:elasticache/replicationGroup:ReplicationGroup":0,"aws:elasticache/reservedCacheNode:ReservedCacheNode":1,"aws:elasticache/serverlessCache:ServerlessCache":1,"aws:elasticache/subnetGroup:SubnetGroup":0,"aws:elasticache/user:User":0,"aws:elasticache/userGroup:UserGroup":0,"aws:elasticache/userGroupAssociation:UserGroupAssociation":0,"aws:elasticbeanstalk/application:Application":0,"aws:elasticbeanstalk/applicationVersion:ApplicationVersion":0,"aws:elasticbeanstalk/configurationTemplate:ConfigurationTemplate":0,"aws:elasticbeanstalk/environment:Environment":0,"aws:elasticsearch/domain:Domain":0,"aws:elasticsearch/domainPolicy:DomainPolicy":0,"aws:elasticsearch/domainSamlOptions:DomainSamlOptions":0,"aws:elasticsearch/vpcEndpoint:VpcEndpoint":0,"aws:elastictranscoder/pipeline:Pipeline":0,"aws:elastictranscoder/preset:Preset":0,"aws:elb/appCookieStickinessPolicy:AppCookieStickinessPolicy":0,"aws:elb/attachment:Attachment":0,"aws:elb/listenerPolicy:ListenerPolicy":0,"aws:elb/loadBalancer:LoadBalancer":0,"aws:elb/loadBalancerBackendServerPolicy:LoadBalancerBackendServerPolicy":0,"aws:elb/loadBalancerCookieStickinessPolicy:LoadBalancerCookieStickinessPolicy":0,"aws:elb/loadBalancerPolicy:LoadBalancerPolicy":0,"aws:elb/sslNegotiationPolicy:SslNegotiationPolicy":0,"aws:emr/blockPublicAccessConfiguration:BlockPublicAccessConfiguration":0,"aws:emr/cluster:Cluster":0,"aws:emr/instanceFleet:InstanceFleet":0,"aws:emr/instanceGroup:InstanceGroup":0,"aws:emr/managedScalingPolicy:ManagedScalingPolicy":0,"aws:emr/securityConfiguration:SecurityConfiguration":0,"aws:emr/studio:Studio":0,"aws:emr/studioSessionMapping:StudioSessionMapping":0,"aws:emrcontainers/jobTemplate:JobTemplate":0,"aws:emrcontainers/virtualCluster:VirtualCluster":0,"aws:emrserverless/application:Application":0,"aws:evidently/feature:Feature":0,"aws:evidently/launch:Launch":0,"aws:evidently/project:Project":0,"aws:evidently/segment:Segment":0,"aws:finspace/kxCluster:KxCluster":0,"aws:finspace/kxDatabase:KxDatabase":0,"aws:finspace/kxDataview:KxDataview":0,"aws:finspace/kxEnvironment:KxEnvironment":0,"aws:finspace/kxScalingGroup:KxScalingGroup":0,"aws:finspace/kxUser:KxUser":0,"aws:finspace/kxVolume:KxVolume":0,"aws:fis/experimentTemplate:ExperimentTemplate":0,"aws:fms/adminAccount:AdminAccount":0,"aws:fms/policy:Policy":0,"aws:fms/resourceSet:ResourceSet":1,"aws:fsx/backup:Backup":0,"aws:fsx/dataRepositoryAssociation:DataRepositoryAssociation":0,"aws:fsx/fileCache:FileCache":0,"aws:fsx/lustreFileSystem:LustreFileSystem":0,"aws:fsx/ontapFileSystem:OntapFileSystem":0,"aws:fsx/ontapStorageVirtualMachine:OntapStorageVirtualMachine":0,"aws:fsx/ontapVolume:OntapVolume":0,"aws:fsx/openZfsFileSystem:OpenZfsFileSystem":0,"aws:fsx/openZfsSnapshot:OpenZfsSnapshot":0,"aws:fsx/openZfsVolume:OpenZfsVolume":0,"aws:fsx/windowsFileSystem:WindowsFileSystem":0,"aws:gamelift/alias:Alias":0,"aws:gamelift/build:Build":0,"aws:gamelift/fleet:Fleet":0,"aws:gamelift/gameServerGroup:GameServerGroup":0,"aws:gamelift/gameSessionQueue:GameSessionQueue":0,"aws:gamelift/matchmakingConfiguration:MatchmakingConfiguration":0,"aws:gamelift/matchmakingRuleSet:MatchmakingRuleSet":0,"aws:gamelift/script:Script":0,"aws:glacier/vault:Vault":0,"aws:glacier/vaultLock:VaultLock":0,"aws:globalaccelerator/accelerator:Accelerator":0,"aws:globalaccelerator/crossAccountAttachment:CrossAccountAttachment":1,"aws:globalaccelerator/customRoutingAccelerator:CustomRoutingAccelerator":0,"aws:globalaccelerator/customRoutingEndpointGroup:CustomRoutingEndpointGroup":0,"aws:globalaccelerator/customRoutingListener:CustomRoutingListener":0,"aws:globalaccelerator/endpointGroup:EndpointGroup":0,"aws:globalaccelerator/listener:Listener":0,"aws:glue/catalogDatabase:CatalogDatabase":0,"aws:glue/catalogTable:CatalogTable":0,"aws:glue/catalogTableOptimizer:CatalogTableOptimizer":1,"aws:glue/classifier:Classifier":0,"aws:glue/connection:Connection":0,"aws:glue/crawler:Crawler":0,"aws:glue/dataCatalogEncryptionSettings:DataCatalogEncryptionSettings":0,"aws:glue/dataQualityRuleset:DataQualityRuleset":0,"aws:glue/devEndpoint:DevEndpoint":0,"aws:glue/job:Job":0,"aws:glue/mLTransform:MLTransform":0,"aws:glue/partition:Partition":0,"aws:glue/partitionIndex:PartitionIndex":0,"aws:glue/registry:Registry":0,"aws:glue/resourcePolicy:ResourcePolicy":0,"aws:glue/schema:Schema":0,"aws:glue/securityConfiguration:SecurityConfiguration":0,"aws:glue/trigger:Trigger":0,"aws:glue/userDefinedFunction:UserDefinedFunction":0,"aws:glue/workflow:Workflow":0,"aws:grafana/licenseAssociation:LicenseAssociation":0,"aws:grafana/roleAssociation:RoleAssociation":0,"aws:grafana/workspace:Workspace":0,"aws:grafana/workspaceApiKey:WorkspaceApiKey":0,"aws:grafana/workspaceSamlConfiguration:WorkspaceSamlConfiguration":0,"aws:grafana/workspaceServiceAccount:WorkspaceServiceAccount":1,"aws:grafana/workspaceServiceAccountToken:WorkspaceServiceAccountToken":1,"aws:guardduty/detector:Detector":0,"aws:guardduty/detectorFeature:DetectorFeature":0,"aws:guardduty/filter:Filter":0,"aws:guardduty/iPSet:IPSet":0,"aws:guardduty/inviteAccepter:InviteAccepter":0,"aws:guardduty/malwareProtectionPlan:MalwareProtectionPlan":1,"aws:guardduty/member:Member":0,"aws:guardduty/organizationAdminAccount:OrganizationAdminAccount":0,"aws:guardduty/organizationConfiguration:OrganizationConfiguration":0,"aws:guardduty/organizationConfigurationFeature:OrganizationConfigurationFeature":0,"aws:guardduty/publishingDestination:PublishingDestination":0,"aws:guardduty/threatIntelSet:ThreatIntelSet":0,"aws:iam/accessKey:AccessKey":0,"aws:iam/accountAlias:AccountAlias":0,"aws:iam/accountPasswordPolicy:AccountPasswordPolicy":0,"aws:iam/group:Group":0,"aws:iam/groupMembership:GroupMembership":0,"aws:iam/groupPoliciesExclusive:GroupPoliciesExclusive":1,"aws:iam/groupPolicy:GroupPolicy":0,"aws:iam/groupPolicyAttachment:GroupPolicyAttachment":0,"aws:iam/groupPolicyAttachmentsExclusive:GroupPolicyAttachmentsExclusive":1,"aws:iam/instanceProfile:InstanceProfile":0,"aws:iam/openIdConnectProvider:OpenIdConnectProvider":0,"aws:iam/organizationsFeatures:OrganizationsFeatures":1,"aws:iam/policy:Policy":0,"aws:iam/policyAttachment:PolicyAttachment":0,"aws:iam/role:Role":0,"aws:iam/rolePoliciesExclusive:RolePoliciesExclusive":1,"aws:iam/rolePolicy:RolePolicy":0,"aws:iam/rolePolicyAttachment:RolePolicyAttachment":0,"aws:iam/rolePolicyAttachmentsExclusive:RolePolicyAttachmentsExclusive":1,"aws:iam/samlProvider:SamlProvider":0,"aws:iam/securityTokenServicePreferences:SecurityTokenServicePreferences":0,"aws:iam/serverCertificate:ServerCertificate":0,"aws:iam/serviceLinkedRole:ServiceLinkedRole":0,"aws:iam/serviceSpecificCredential:ServiceSpecificCredential":0,"aws:iam/signingCertificate:SigningCertificate":0,"aws:iam/sshKey:SshKey":0,"aws:iam/user:User":0,"aws:iam/userGroupMembership:UserGroupMembership":0,"aws:iam/userLoginProfile:UserLoginProfile":0,"aws:iam/userPoliciesExclusive:UserPoliciesExclusive":1,"aws:iam/userPolicy:UserPolicy":0,"aws:iam/userPolicyAttachment:UserPolicyAttachment":0,"aws:iam/userPolicyAttachmentsExclusive:UserPolicyAttachmentsExclusive":1,"aws:iam/virtualMfaDevice:VirtualMfaDevice":0,"aws:identitystore/group:Group":0,"aws:identitystore/groupMembership:GroupMembership":0,"aws:identitystore/user:User":0,"aws:imagebuilder/component:Component":0,"aws:imagebuilder/containerRecipe:ContainerRecipe":0,"aws:imagebuilder/distributionConfiguration:DistributionConfiguration":0,"aws:imagebuilder/image:Image":0,"aws:imagebuilder/imagePipeline:ImagePipeline":0,"aws:imagebuilder/imageRecipe:ImageRecipe":0,"aws:imagebuilder/infrastructureConfiguration:InfrastructureConfiguration":0,"aws:imagebuilder/lifecyclePolicy:LifecyclePolicy":1,"aws:imagebuilder/workflow:Workflow":0,"aws:inspector/assessmentTarget:AssessmentTarget":0,"aws:inspector/assessmentTemplate:AssessmentTemplate":0,"aws:inspector/resourceGroup:ResourceGroup":0,"aws:inspector2/delegatedAdminAccount:DelegatedAdminAccount":0,"aws:inspector2/enabler:Enabler":0,"aws:inspector2/memberAssociation:MemberAssociation":0,"aws:inspector2/organizationConfiguration:OrganizationConfiguration":0,"aws:iot/authorizer:Authorizer":0,"aws:iot/billingGroup:BillingGroup":1,"aws:iot/caCertificate:CaCertificate":0,"aws:iot/certificate:Certificate":0,"aws:iot/domainConfiguration:DomainConfiguration":0,"aws:iot/eventConfigurations:EventConfigurations":0,"aws:iot/indexingConfiguration:IndexingConfiguration":0,"aws:iot/loggingOptions:LoggingOptions":0,"aws:iot/policy:Policy":0,"aws:iot/policyAttachment:PolicyAttachment":0,"aws:iot/provisioningTemplate:ProvisioningTemplate":0,"aws:iot/roleAlias:RoleAlias":0,"aws:iot/thing:Thing":0,"aws:iot/thingGroup:ThingGroup":0,"aws:iot/thingGroupMembership:ThingGroupMembership":0,"aws:iot/thingPrincipalAttachment:ThingPrincipalAttachment":0,"aws:iot/thingType:ThingType":0,"aws:iot/topicRule:TopicRule":0,"aws:iot/topicRuleDestination:TopicRuleDestination":0,"aws:ivs/channel:Channel":0,"aws:ivs/playbackKeyPair:PlaybackKeyPair":0,"aws:ivs/recordingConfiguration:RecordingConfiguration":0,"aws:ivschat/loggingConfiguration:LoggingConfiguration":0,"aws:ivschat/room:Room":0,"aws:kendra/dataSource:DataSource":0,"aws:kendra/experience:Experience":0,"aws:kendra/faq:Faq":0,"aws:kendra/index:Index":0,"aws:kendra/querySuggestionsBlockList:QuerySuggestionsBlockList":0,"aws:kendra/thesaurus:Thesaurus":0,"aws:keyspaces/keyspace:Keyspace":0,"aws:keyspaces/table:Table":0,"aws:kinesis/analyticsApplication:AnalyticsApplication":0,"aws:kinesis/firehoseDeliveryStream:FirehoseDeliveryStream":0,"aws:kinesis/resourcePolicy:ResourcePolicy":1,"aws:kinesis/stream:Stream":0,"aws:kinesis/streamConsumer:StreamConsumer":0,"aws:kinesis/videoStream:VideoStream":0,"aws:kinesisanalyticsv2/application:Application":0,"aws:kinesisanalyticsv2/applicationSnapshot:ApplicationSnapshot":0,"aws:kms/alias:Alias":0,"aws:kms/ciphertext:Ciphertext":0,"aws:kms/customKeyStore:CustomKeyStore":0,"aws:kms/externalKey:ExternalKey":0,"aws:kms/grant:Grant":0,"aws:kms/key:Key":0,"aws:kms/keyPolicy:KeyPolicy":0,"aws:kms/replicaExternalKey:ReplicaExternalKey":0,"aws:kms/replicaKey:ReplicaKey":0,"aws:lakeformation/dataCellsFilter:DataCellsFilter":1,"aws:lakeformation/dataLakeSettings:DataLakeSettings":0,"aws:lakeformation/lfTag:LfTag":0,"aws:lakeformation/permissions:Permissions":0,"aws:lakeformation/resource:Resource":0,"aws:lakeformation/resourceLfTag:ResourceLfTag":1,"aws:lakeformation/resourceLfTags:ResourceLfTags":0,"aws:lambda/alias:Alias":0,"aws:lambda/codeSigningConfig:CodeSigningConfig":0,"aws:lambda/eventSourceMapping:EventSourceMapping":0,"aws:lambda/function:Function":0,"aws:lambda/functionEventInvokeConfig:FunctionEventInvokeConfig":0,"aws:lambda/functionRecursionConfig:FunctionRecursionConfig":1,"aws:lambda/functionUrl:FunctionUrl":0,"aws:lambda/invocation:Invocation":0,"aws:lambda/layerVersion:LayerVersion":0,"aws:lambda/layerVersionPermission:LayerVersionPermission":0,"aws:lambda/permission:Permission":0,"aws:lambda/provisionedConcurrencyConfig:ProvisionedConcurrencyConfig":0,"aws:lambda/runtimeManagementConfig:RuntimeManagementConfig":1,"aws:lb/listener:Listener":0,"aws:lb/listenerCertificate:ListenerCertificate":0,"aws:lb/listenerRule:ListenerRule":0,"aws:lb/loadBalancer:LoadBalancer":0,"aws:lb/targetGroup:TargetGroup":0,"aws:lb/targetGroupAttachment:TargetGroupAttachment":0,"aws:lb/trustStore:TrustStore":0,"aws:lb/trustStoreRevocation:TrustStoreRevocation":0,"aws:lex/bot:Bot":0,"aws:lex/botAlias:BotAlias":0,"aws:lex/intent:Intent":0,"aws:lex/slotType:SlotType":0,"aws:lex/v2modelsBot:V2modelsBot":1,"aws:lex/v2modelsBotLocale:V2modelsBotLocale":1,"aws:lex/v2modelsBotVersion:V2modelsBotVersion":1,"aws:lex/v2modelsIntent:V2modelsIntent":1,"aws:lex/v2modelsSlot:V2modelsSlot":1,"aws:lex/v2modelsSlotType:V2modelsSlotType":1,"aws:licensemanager/association:Association":0,"aws:licensemanager/licenseConfiguration:LicenseConfiguration":0,"aws:licensemanager/licenseGrant:LicenseGrant":0,"aws:licensemanager/licenseGrantAccepter:LicenseGrantAccepter":0,"aws:lightsail/bucket:Bucket":0,"aws:lightsail/bucketAccessKey:BucketAccessKey":0,"aws:lightsail/bucketResourceAccess:BucketResourceAccess":0,"aws:lightsail/certificate:Certificate":0,"aws:lightsail/containerService:ContainerService":0,"aws:lightsail/containerServiceDeploymentVersion:ContainerServiceDeploymentVersion":0,"aws:lightsail/database:Database":0,"aws:lightsail/disk:Disk":0,"aws:lightsail/disk_attachment:Disk_attachment":0,"aws:lightsail/distribution:Distribution":0,"aws:lightsail/domain:Domain":0,"aws:lightsail/domainEntry:DomainEntry":0,"aws:lightsail/instance:Instance":0,"aws:lightsail/instancePublicPorts:InstancePublicPorts":0,"aws:lightsail/keyPair:KeyPair":0,"aws:lightsail/lb:Lb":0,"aws:lightsail/lbAttachment:LbAttachment":0,"aws:lightsail/lbCertificate:LbCertificate":0,"aws:lightsail/lbCertificateAttachment:LbCertificateAttachment":0,"aws:lightsail/lbHttpsRedirectionPolicy:LbHttpsRedirectionPolicy":0,"aws:lightsail/lbStickinessPolicy:LbStickinessPolicy":0,"aws:lightsail/staticIp:StaticIp":0,"aws:lightsail/staticIpAttachment:StaticIpAttachment":0,"aws:location/geofenceCollection:GeofenceCollection":0,"aws:location/map:Map":0,"aws:location/placeIndex:PlaceIndex":0,"aws:location/routeCalculation:RouteCalculation":0,"aws:location/tracker:Tracker":0,"aws:location/trackerAssociation:TrackerAssociation":0,"aws:m2/application:Application":1,"aws:m2/deployment:Deployment":1,"aws:m2/environment:Environment":1,"aws:macie/customDataIdentifier:CustomDataIdentifier":0,"aws:macie/findingsFilter:FindingsFilter":0,"aws:macie2/account:Account":0,"aws:macie2/classificationExportConfiguration:ClassificationExportConfiguration":0,"aws:macie2/classificationJob:ClassificationJob":0,"aws:macie2/invitationAccepter:InvitationAccepter":0,"aws:macie2/member:Member":0,"aws:macie2/organizationAdminAccount:OrganizationAdminAccount":0,"aws:mediaconvert/queue:Queue":0,"aws:medialive/channel:Channel":0,"aws:medialive/input:Input":0,"aws:medialive/inputSecurityGroup:InputSecurityGroup":0,"aws:medialive/multiplex:Multiplex":0,"aws:medialive/multiplexProgram:MultiplexProgram":1,"aws:mediapackage/channel:Channel":0,"aws:mediastore/container:Container":0,"aws:mediastore/containerPolicy:ContainerPolicy":0,"aws:memorydb/acl:Acl":0,"aws:memorydb/cluster:Cluster":0,"aws:memorydb/parameterGroup:ParameterGroup":0,"aws:memorydb/snapshot:Snapshot":0,"aws:memorydb/subnetGroup:SubnetGroup":0,"aws:memorydb/user:User":0,"aws:mq/broker:Broker":0,"aws:mq/configuration:Configuration":0,"aws:msk/cluster:Cluster":0,"aws:msk/clusterPolicy:ClusterPolicy":0,"aws:msk/configuration:Configuration":0,"aws:msk/replicator:Replicator":0,"aws:msk/scramSecretAssociation:ScramSecretAssociation":0,"aws:msk/serverlessCluster:ServerlessCluster":0,"aws:msk/vpcConnection:VpcConnection":0,"aws:mskconnect/connector:Connector":0,"aws:mskconnect/customPlugin:CustomPlugin":0,"aws:mskconnect/workerConfiguration:WorkerConfiguration":0,"aws:mwaa/environment:Environment":0,"aws:neptune/cluster:Cluster":0,"aws:neptune/clusterEndpoint:ClusterEndpoint":0,"aws:neptune/clusterInstance:ClusterInstance":0,"aws:neptune/clusterParameterGroup:ClusterParameterGroup":0,"aws:neptune/clusterSnapshot:ClusterSnapshot":0,"aws:neptune/eventSubscription:EventSubscription":0,"aws:neptune/globalCluster:GlobalCluster":0,"aws:neptune/parameterGroup:ParameterGroup":0,"aws:neptune/subnetGroup:SubnetGroup":0,"aws:networkfirewall/firewall:Firewall":0,"aws:networkfirewall/firewallPolicy:FirewallPolicy":0,"aws:networkfirewall/loggingConfiguration:LoggingConfiguration":0,"aws:networkfirewall/resourcePolicy:ResourcePolicy":0,"aws:networkfirewall/ruleGroup:RuleGroup":0,"aws:networkfirewall/tlsInspectionConfiguration:TlsInspectionConfiguration":1,"aws:networkmanager/attachmentAccepter:AttachmentAccepter":0,"aws:networkmanager/connectAttachment:ConnectAttachment":0,"aws:networkmanager/connectPeer:ConnectPeer":0,"aws:networkmanager/connection:Connection":0,"aws:networkmanager/coreNetwork:CoreNetwork":0,"aws:networkmanager/coreNetworkPolicyAttachment:CoreNetworkPolicyAttachment":0,"aws:networkmanager/customerGatewayAssociation:CustomerGatewayAssociation":0,"aws:networkmanager/device:Device":0,"aws:networkmanager/globalNetwork:GlobalNetwork":0,"aws:networkmanager/link:Link":0,"aws:networkmanager/linkAssociation:LinkAssociation":0,"aws:networkmanager/site:Site":0,"aws:networkmanager/siteToSiteVpnAttachment:SiteToSiteVpnAttachment":0,"aws:networkmanager/transitGatewayConnectPeerAssociation:TransitGatewayConnectPeerAssociation":0,"aws:networkmanager/transitGatewayPeering:TransitGatewayPeering":0,"aws:networkmanager/transitGatewayRegistration:TransitGatewayRegistration":0,"aws:networkmanager/transitGatewayRouteTableAttachment:TransitGatewayRouteTableAttachment":0,"aws:networkmanager/vpcAttachment:VpcAttachment":0,"aws:networkmonitor/monitor:Monitor":1,"aws:networkmonitor/probe:Probe":1,"aws:oam/link:Link":0,"aws:oam/sink:Sink":0,"aws:oam/sinkPolicy:SinkPolicy":0,"aws:opensearch/authorizeVpcEndpointAccess:AuthorizeVpcEndpointAccess":1,"aws:opensearch/domain:Domain":0,"aws:opensearch/domainPolicy:DomainPolicy":0,"aws:opensearch/domainSamlOptions:DomainSamlOptions":0,"aws:opensearch/inboundConnectionAccepter:InboundConnectionAccepter":0,"aws:opensearch/outboundConnection:OutboundConnection":0,"aws:opensearch/package:Package":0,"aws:opensearch/packageAssociation:PackageAssociation":0,"aws:opensearch/serverlessAccessPolicy:ServerlessAccessPolicy":1,"aws:opensearch/serverlessCollection:ServerlessCollection":1,"aws:opensearch/serverlessLifecyclePolicy:ServerlessLifecyclePolicy":1,"aws:opensearch/serverlessSecurityConfig:ServerlessSecurityConfig":1,"aws:opensearch/serverlessSecurityPolicy:ServerlessSecurityPolicy":1,"aws:opensearch/serverlessVpcEndpoint:ServerlessVpcEndpoint":1,"aws:opensearch/vpcEndpoint:VpcEndpoint":0,"aws:opensearchingest/pipeline:Pipeline":1,"aws:opsworks/application:Application":0,"aws:opsworks/customLayer:CustomLayer":0,"aws:opsworks/ecsClusterLayer:EcsClusterLayer":0,"aws:opsworks/gangliaLayer:GangliaLayer":0,"aws:opsworks/haproxyLayer:HaproxyLayer":0,"aws:opsworks/instance:Instance":0,"aws:opsworks/javaAppLayer:JavaAppLayer":0,"aws:opsworks/memcachedLayer:MemcachedLayer":0,"aws:opsworks/mysqlLayer:MysqlLayer":0,"aws:opsworks/nodejsAppLayer:NodejsAppLayer":0,"aws:opsworks/permission:Permission":0,"aws:opsworks/phpAppLayer:PhpAppLayer":0,"aws:opsworks/railsAppLayer:RailsAppLayer":0,"aws:opsworks/rdsDbInstance:RdsDbInstance":0,"aws:opsworks/stack:Stack":0,"aws:opsworks/staticWebLayer:StaticWebLayer":0,"aws:opsworks/userProfile:UserProfile":0,"aws:organizations/account:Account":0,"aws:organizations/delegatedAdministrator:DelegatedAdministrator":0,"aws:organizations/organization:Organization":0,"aws:organizations/organizationalUnit:OrganizationalUnit":0,"aws:organizations/policy:Policy":0,"aws:organizations/policyAttachment:PolicyAttachment":0,"aws:organizations/resourcePolicy:ResourcePolicy":0,"aws:paymentcryptography/key:Key":1,"aws:paymentcryptography/keyAlias:KeyAlias":1,"aws:pinpoint/admChannel:AdmChannel":0,"aws:pinpoint/apnsChannel:ApnsChannel":0,"aws:pinpoint/apnsSandboxChannel:ApnsSandboxChannel":0,"aws:pinpoint/apnsVoipChannel:ApnsVoipChannel":0,"aws:pinpoint/apnsVoipSandboxChannel:ApnsVoipSandboxChannel":0,"aws:pinpoint/app:App":0,"aws:pinpoint/baiduChannel:BaiduChannel":0,"aws:pinpoint/emailChannel:EmailChannel":0,"aws:pinpoint/emailTemplate:EmailTemplate":1,"aws:pinpoint/eventStream:EventStream":0,"aws:pinpoint/gcmChannel:GcmChannel":0,"aws:pinpoint/smsChannel:SmsChannel":0,"aws:pinpoint/smsvoicev2ConfigurationSet:Smsvoicev2ConfigurationSet":1,"aws:pinpoint/smsvoicev2OptOutList:Smsvoicev2OptOutList":1,"aws:pinpoint/smsvoicev2PhoneNumber:Smsvoicev2PhoneNumber":1,"aws:pipes/pipe:Pipe":0,"aws:qldb/ledger:Ledger":0,"aws:qldb/stream:Stream":0,"aws:quicksight/accountSubscription:AccountSubscription":0,"aws:quicksight/analysis:Analysis":0,"aws:quicksight/dashboard:Dashboard":0,"aws:quicksight/dataSet:DataSet":0,"aws:quicksight/dataSource:DataSource":0,"aws:quicksight/folder:Folder":0,"aws:quicksight/folderMembership:FolderMembership":1,"aws:quicksight/group:Group":0,"aws:quicksight/groupMembership:GroupMembership":0,"aws:quicksight/iamPolicyAssignment:IamPolicyAssignment":1,"aws:quicksight/ingestion:Ingestion":1,"aws:quicksight/namespace:Namespace":1,"aws:quicksight/refreshSchedule:RefreshSchedule":1,"aws:quicksight/template:Template":0,"aws:quicksight/templateAlias:TemplateAlias":1,"aws:quicksight/theme:Theme":0,"aws:quicksight/user:User":0,"aws:quicksight/vpcConnection:VpcConnection":1,"aws:ram/principalAssociation:PrincipalAssociation":0,"aws:ram/resourceAssociation:ResourceAssociation":0,"aws:ram/resourceShare:ResourceShare":0,"aws:ram/resourceShareAccepter:ResourceShareAccepter":0,"aws:ram/sharingWithOrganization:SharingWithOrganization":0,"aws:rbin/rule:Rule":0,"aws:rds/certificate:Certificate":0,"aws:rds/cluster:Cluster":0,"aws:rds/clusterActivityStream:ClusterActivityStream":0,"aws:rds/clusterEndpoint:ClusterEndpoint":0,"aws:rds/clusterInstance:ClusterInstance":0,"aws:rds/clusterParameterGroup:ClusterParameterGroup":0,"aws:rds/clusterRoleAssociation:ClusterRoleAssociation":0,"aws:rds/clusterSnapshot:ClusterSnapshot":0,"aws:rds/customDbEngineVersion:CustomDbEngineVersion":0,"aws:rds/eventSubscription:EventSubscription":0,"aws:rds/exportTask:ExportTask":1,"aws:rds/globalCluster:GlobalCluster":0,"aws:rds/instance:Instance":0,"aws:rds/instanceAutomatedBackupsReplication:InstanceAutomatedBackupsReplication":0,"aws:rds/instanceDesiredState:InstanceDesiredState":1,"aws:rds/integration:Integration":1,"aws:rds/optionGroup:OptionGroup":0,"aws:rds/parameterGroup:ParameterGroup":0,"aws:rds/proxy:Proxy":0,"aws:rds/proxyDefaultTargetGroup:ProxyDefaultTargetGroup":0,"aws:rds/proxyEndpoint:ProxyEndpoint":0,"aws:rds/proxyTarget:ProxyTarget":0,"aws:rds/reservedInstance:ReservedInstance":0,"aws:rds/roleAssociation:RoleAssociation":0,"aws:rds/snapshot:Snapshot":0,"aws:rds/snapshotCopy:SnapshotCopy":0,"aws:rds/subnetGroup:SubnetGroup":0,"aws:redshift/authenticationProfile:AuthenticationProfile":0,"aws:redshift/cluster:Cluster":0,"aws:redshift/clusterIamRoles:ClusterIamRoles":0,"aws:redshift/clusterSnapshot:ClusterSnapshot":0,"aws:redshift/dataShareAuthorization:DataShareAuthorization":1,"aws:redshift/dataShareConsumerAssociation:DataShareConsumerAssociation":1,"aws:redshift/endpointAccess:EndpointAccess":0,"aws:redshift/endpointAuthorization:EndpointAuthorization":0,"aws:redshift/eventSubscription:EventSubscription":0,"aws:redshift/hsmClientCertificate:HsmClientCertificate":0,"aws:redshift/hsmConfiguration:HsmConfiguration":0,"aws:redshift/logging:Logging":1,"aws:redshift/parameterGroup:ParameterGroup":0,"aws:redshift/partner:Partner":0,"aws:redshift/resourcePolicy:ResourcePolicy":0,"aws:redshift/scheduledAction:ScheduledAction":0,"aws:redshift/snapshotCopy:SnapshotCopy":1,"aws:redshift/snapshotCopyGrant:SnapshotCopyGrant":0,"aws:redshift/snapshotSchedule:SnapshotSchedule":0,"aws:redshift/snapshotScheduleAssociation:SnapshotScheduleAssociation":0,"aws:redshift/subnetGroup:SubnetGroup":0,"aws:redshift/usageLimit:UsageLimit":0,"aws:redshiftdata/statement:Statement":0,"aws:redshiftserverless/customDomainAssociation:CustomDomainAssociation":1,"aws:redshiftserverless/endpointAccess:EndpointAccess":0,"aws:redshiftserverless/namespace:Namespace":0,"aws:redshiftserverless/resourcePolicy:ResourcePolicy":0,"aws:redshiftserverless/snapshot:Snapshot":0,"aws:redshiftserverless/usageLimit:UsageLimit":0,"aws:redshiftserverless/workgroup:Workgroup":0,"aws:rekognition/collection:Collection":1,"aws:rekognition/project:Project":1,"aws:rekognition/streamProcessor:StreamProcessor":1,"aws:resiliencehub/resiliencyPolicy:ResiliencyPolicy":1,"aws:resourceexplorer/index:Index":1,"aws:resourceexplorer/view:View":1,"aws:resourcegroups/group:Group":0,"aws:resourcegroups/resource:Resource":0,"aws:rolesanywhere/profile:Profile":0,"aws:rolesanywhere/trustAnchor:TrustAnchor":0,"aws:route53/cidrCollection:CidrCollection":1,"aws:route53/cidrLocation:CidrLocation":1,"aws:route53/delegationSet:DelegationSet":0,"aws:route53/healthCheck:HealthCheck":0,"aws:route53/hostedZoneDnsSec:HostedZoneDnsSec":0,"aws:route53/keySigningKey:KeySigningKey":0,"aws:route53/profilesAssociation:ProfilesAssociation":1,"aws:route53/profilesProfile:ProfilesProfile":1,"aws:route53/profilesResourceAssociation:ProfilesResourceAssociation":1,"aws:route53/queryLog:QueryLog":0,"aws:route53/record:Record":0,"aws:route53/resolverConfig:ResolverConfig":0,"aws:route53/resolverDnsSecConfig:ResolverDnsSecConfig":0,"aws:route53/resolverEndpoint:ResolverEndpoint":0,"aws:route53/resolverFirewallConfig:ResolverFirewallConfig":0,"aws:route53/resolverFirewallDomainList:ResolverFirewallDomainList":0,"aws:route53/resolverFirewallRule:ResolverFirewallRule":0,"aws:route53/resolverFirewallRuleGroup:ResolverFirewallRuleGroup":0,"aws:route53/resolverFirewallRuleGroupAssociation:ResolverFirewallRuleGroupAssociation":0,"aws:route53/resolverQueryLogConfig:ResolverQueryLogConfig":0,"aws:route53/resolverQueryLogConfigAssociation:ResolverQueryLogConfigAssociation":0,"aws:route53/resolverRule:ResolverRule":0,"aws:route53/resolverRuleAssociation:ResolverRuleAssociation":0,"aws:route53/trafficPolicy:TrafficPolicy":0,"aws:route53/trafficPolicyInstance:TrafficPolicyInstance":0,"aws:route53/vpcAssociationAuthorization:VpcAssociationAuthorization":0,"aws:route53/zone:Zone":0,"aws:route53/zoneAssociation:ZoneAssociation":0,"aws:route53domains/delegationSignerRecord:DelegationSignerRecord":1,"aws:route53domains/registeredDomain:RegisteredDomain":0,"aws:route53recoverycontrol/cluster:Cluster":0,"aws:route53recoverycontrol/controlPanel:ControlPanel":0,"aws:route53recoverycontrol/routingControl:RoutingControl":0,"aws:route53recoverycontrol/safetyRule:SafetyRule":0,"aws:route53recoveryreadiness/cell:Cell":0,"aws:route53recoveryreadiness/readinessCheck:ReadinessCheck":0,"aws:route53recoveryreadiness/recoveryGroup:RecoveryGroup":0,"aws:route53recoveryreadiness/resourceSet:ResourceSet":0,"aws:rum/appMonitor:AppMonitor":0,"aws:rum/metricsDestination:MetricsDestination":0,"aws:s3/accessPoint:AccessPoint":0,"aws:s3/accountPublicAccessBlock:AccountPublicAccessBlock":0,"aws:s3/analyticsConfiguration:AnalyticsConfiguration":0,"aws:s3/bucket:Bucket":0,"aws:s3/bucketAccelerateConfigurationV2:BucketAccelerateConfigurationV2":0,"aws:s3/bucketAclV2:BucketAclV2":0,"aws:s3/bucketCorsConfigurationV2:BucketCorsConfigurationV2":0,"aws:s3/bucketIntelligentTieringConfiguration:BucketIntelligentTieringConfiguration":0,"aws:s3/bucketLifecycleConfigurationV2:BucketLifecycleConfigurationV2":0,"aws:s3/bucketLoggingV2:BucketLoggingV2":0,"aws:s3/bucketMetric:BucketMetric":0,"aws:s3/bucketNotification:BucketNotification":0,"aws:s3/bucketObject:BucketObject":0,"aws:s3/bucketObjectLockConfigurationV2:BucketObjectLockConfigurationV2":0,"aws:s3/bucketObjectv2:BucketObjectv2":0,"aws:s3/bucketOwnershipControls:BucketOwnershipControls":0,"aws:s3/bucketPolicy:BucketPolicy":0,"aws:s3/bucketPublicAccessBlock:BucketPublicAccessBlock":0,"aws:s3/bucketReplicationConfig:BucketReplicationConfig":0,"aws:s3/bucketRequestPaymentConfigurationV2:BucketRequestPaymentConfigurationV2":0,"aws:s3/bucketServerSideEncryptionConfigurationV2:BucketServerSideEncryptionConfigurationV2":0,"aws:s3/bucketV2:BucketV2":0,"aws:s3/bucketVersioningV2:BucketVersioningV2":0,"aws:s3/bucketWebsiteConfigurationV2:BucketWebsiteConfigurationV2":0,"aws:s3/directoryBucket:DirectoryBucket":1,"aws:s3/inventory:Inventory":0,"aws:s3/objectCopy:ObjectCopy":0,"aws:s3control/accessGrant:AccessGrant":1,"aws:s3control/accessGrantsInstance:AccessGrantsInstance":1,"aws:s3control/accessGrantsInstanceResourcePolicy:AccessGrantsInstanceResourcePolicy":1,"aws:s3control/accessGrantsLocation:AccessGrantsLocation":1,"aws:s3control/accessPointPolicy:AccessPointPolicy":0,"aws:s3control/bucket:Bucket":0,"aws:s3control/bucketLifecycleConfiguration:BucketLifecycleConfiguration":0,"aws:s3control/bucketPolicy:BucketPolicy":0,"aws:s3control/multiRegionAccessPoint:MultiRegionAccessPoint":0,"aws:s3control/multiRegionAccessPointPolicy:MultiRegionAccessPointPolicy":0,"aws:s3control/objectLambdaAccessPoint:ObjectLambdaAccessPoint":0,"aws:s3control/objectLambdaAccessPointPolicy:ObjectLambdaAccessPointPolicy":0,"aws:s3control/storageLensConfiguration:StorageLensConfiguration":0,"aws:s3outposts/endpoint:Endpoint":0,"aws:sagemaker/app:App":0,"aws:sagemaker/appImageConfig:AppImageConfig":0,"aws:sagemaker/codeRepository:CodeRepository":0,"aws:sagemaker/dataQualityJobDefinition:DataQualityJobDefinition":0,"aws:sagemaker/device:Device":0,"aws:sagemaker/deviceFleet:DeviceFleet":0,"aws:sagemaker/domain:Domain":0,"aws:sagemaker/endpoint:Endpoint":0,"aws:sagemaker/endpointConfiguration:EndpointConfiguration":0,"aws:sagemaker/featureGroup:FeatureGroup":0,"aws:sagemaker/flowDefinition:FlowDefinition":0,"aws:sagemaker/hub:Hub":0,"aws:sagemaker/humanTaskUI:HumanTaskUI":0,"aws:sagemaker/image:Image":0,"aws:sagemaker/imageVersion:ImageVersion":0,"aws:sagemaker/mlflowTrackingServer:MlflowTrackingServer":0,"aws:sagemaker/model:Model":0,"aws:sagemaker/modelPackageGroup:ModelPackageGroup":0,"aws:sagemaker/modelPackageGroupPolicy:ModelPackageGroupPolicy":0,"aws:sagemaker/monitoringSchedule:MonitoringSchedule":0,"aws:sagemaker/notebookInstance:NotebookInstance":0,"aws:sagemaker/notebookInstanceLifecycleConfiguration:NotebookInstanceLifecycleConfiguration":0,"aws:sagemaker/pipeline:Pipeline":0,"aws:sagemaker/project:Project":0,"aws:sagemaker/servicecatalogPortfolioStatus:ServicecatalogPortfolioStatus":0,"aws:sagemaker/space:Space":0,"aws:sagemaker/studioLifecycleConfig:StudioLifecycleConfig":0,"aws:sagemaker/userProfile:UserProfile":0,"aws:sagemaker/workforce:Workforce":0,"aws:sagemaker/workteam:Workteam":0,"aws:scheduler/schedule:Schedule":0,"aws:scheduler/scheduleGroup:ScheduleGroup":0,"aws:schemas/discoverer:Discoverer":0,"aws:schemas/registry:Registry":0,"aws:schemas/registryPolicy:RegistryPolicy":0,"aws:schemas/schema:Schema":0,"aws:secretsmanager/secret:Secret":0,"aws:secretsmanager/secretPolicy:SecretPolicy":0,"aws:secretsmanager/secretRotation:SecretRotation":0,"aws:secretsmanager/secretVersion:SecretVersion":0,"aws:securityhub/account:Account":0,"aws:securityhub/actionTarget:ActionTarget":0,"aws:securityhub/automationRule:AutomationRule":1,"aws:securityhub/configurationPolicy:ConfigurationPolicy":0,"aws:securityhub/configurationPolicyAssociation:ConfigurationPolicyAssociation":0,"aws:securityhub/findingAggregator:FindingAggregator":0,"aws:securityhub/insight:Insight":0,"aws:securityhub/inviteAccepter:InviteAccepter":0,"aws:securityhub/member:Member":0,"aws:securityhub/organizationAdminAccount:OrganizationAdminAccount":0,"aws:securityhub/organizationConfiguration:OrganizationConfiguration":0,"aws:securityhub/productSubscription:ProductSubscription":0,"aws:securityhub/standardsControl:StandardsControl":0,"aws:securityhub/standardsControlAssociation:StandardsControlAssociation":1,"aws:securityhub/standardsSubscription:StandardsSubscription":0,"aws:securitylake/awsLogSource:AwsLogSource":1,"aws:securitylake/customLogSource:CustomLogSource":1,"aws:securitylake/dataLake:DataLake":1,"aws:securitylake/subscriber:Subscriber":1,"aws:securitylake/subscriberNotification:SubscriberNotification":1,"aws:serverlessrepository/cloudFormationStack:CloudFormationStack":0,"aws:servicecatalog/appregistryApplication:AppregistryApplication":1,"aws:servicecatalog/budgetResourceAssociation:BudgetResourceAssociation":0,"aws:servicecatalog/constraint:Constraint":0,"aws:servicecatalog/organizationsAccess:OrganizationsAccess":0,"aws:servicecatalog/portfolio:Portfolio":0,"aws:servicecatalog/portfolioShare:PortfolioShare":0,"aws:servicecatalog/principalPortfolioAssociation:PrincipalPortfolioAssociation":0,"aws:servicecatalog/product:Product":0,"aws:servicecatalog/productPortfolioAssociation:ProductPortfolioAssociation":0,"aws:servicecatalog/provisionedProduct:ProvisionedProduct":0,"aws:servicecatalog/provisioningArtifact:ProvisioningArtifact":0,"aws:servicecatalog/serviceAction:ServiceAction":0,"aws:servicecatalog/tagOption:TagOption":0,"aws:servicecatalog/tagOptionResourceAssociation:TagOptionResourceAssociation":0,"aws:servicediscovery/httpNamespace:HttpNamespace":0,"aws:servicediscovery/instance:Instance":0,"aws:servicediscovery/privateDnsNamespace:PrivateDnsNamespace":0,"aws:servicediscovery/publicDnsNamespace:PublicDnsNamespace":0,"aws:servicediscovery/service:Service":0,"aws:servicequotas/serviceQuota:ServiceQuota":0,"aws:servicequotas/template:Template":1,"aws:servicequotas/templateAssociation:TemplateAssociation":1,"aws:ses/activeReceiptRuleSet:ActiveReceiptRuleSet":0,"aws:ses/configurationSet:ConfigurationSet":0,"aws:ses/domainDkim:DomainDkim":0,"aws:ses/domainIdentity:DomainIdentity":0,"aws:ses/domainIdentityVerification:DomainIdentityVerification":0,"aws:ses/emailIdentity:EmailIdentity":0,"aws:ses/eventDestination:EventDestination":0,"aws:ses/identityNotificationTopic:IdentityNotificationTopic":0,"aws:ses/identityPolicy:IdentityPolicy":0,"aws:ses/mailFrom:MailFrom":0,"aws:ses/receiptFilter:ReceiptFilter":0,"aws:ses/receiptRule:ReceiptRule":0,"aws:ses/receiptRuleSet:ReceiptRuleSet":0,"aws:ses/template:Template":0,"aws:sesv2/accountSuppressionAttributes:AccountSuppressionAttributes":1,"aws:sesv2/accountVdmAttributes:AccountVdmAttributes":0,"aws:sesv2/configurationSet:ConfigurationSet":0,"aws:sesv2/configurationSetEventDestination:ConfigurationSetEventDestination":0,"aws:sesv2/contactList:ContactList":0,"aws:sesv2/dedicatedIpAssignment:DedicatedIpAssignment":0,"aws:sesv2/dedicatedIpPool:DedicatedIpPool":0,"aws:sesv2/emailIdentity:EmailIdentity":0,"aws:sesv2/emailIdentityFeedbackAttributes:EmailIdentityFeedbackAttributes":0,"aws:sesv2/emailIdentityMailFromAttributes:EmailIdentityMailFromAttributes":0,"aws:sesv2/emailIdentityPolicy:EmailIdentityPolicy":0,"aws:sfn/activity:Activity":0,"aws:sfn/alias:Alias":0,"aws:sfn/stateMachine:StateMachine":0,"aws:shield/applicationLayerAutomaticResponse:ApplicationLayerAutomaticResponse":1,"aws:shield/drtAccessLogBucketAssociation:DrtAccessLogBucketAssociation":1,"aws:shield/drtAccessRoleArnAssociation:DrtAccessRoleArnAssociation":1,"aws:shield/proactiveEngagement:ProactiveEngagement":1,"aws:shield/protection:Protection":0,"aws:shield/protectionGroup:ProtectionGroup":0,"aws:shield/protectionHealthCheckAssociation:ProtectionHealthCheckAssociation":0,"aws:shield/subscription:Subscription":1,"aws:signer/signingJob:SigningJob":0,"aws:signer/signingProfile:SigningProfile":0,"aws:signer/signingProfilePermission:SigningProfilePermission":0,"aws:simpledb/domain:Domain":1,"aws:sns/dataProtectionPolicy:DataProtectionPolicy":0,"aws:sns/platformApplication:PlatformApplication":0,"aws:sns/smsPreferences:SmsPreferences":0,"aws:sns/topic:Topic":0,"aws:sns/topicPolicy:TopicPolicy":0,"aws:sns/topicSubscription:TopicSubscription":0,"aws:sqs/queue:Queue":0,"aws:sqs/queuePolicy:QueuePolicy":0,"aws:sqs/redriveAllowPolicy:RedriveAllowPolicy":0,"aws:sqs/redrivePolicy:RedrivePolicy":0,"aws:ssm/activation:Activation":0,"aws:ssm/association:Association":0,"aws:ssm/contactsRotation:ContactsRotation":1,"aws:ssm/defaultPatchBaseline:DefaultPatchBaseline":0,"aws:ssm/document:Document":0,"aws:ssm/maintenanceWindow:MaintenanceWindow":0,"aws:ssm/maintenanceWindowTarget:MaintenanceWindowTarget":0,"aws:ssm/maintenanceWindowTask:MaintenanceWindowTask":0,"aws:ssm/parameter:Parameter":0,"aws:ssm/patchBaseline:PatchBaseline":0,"aws:ssm/patchGroup:PatchGroup":0,"aws:ssm/quicksetupConfigurationManager:QuicksetupConfigurationManager":1,"aws:ssm/resourceDataSync:ResourceDataSync":0,"aws:ssm/serviceSetting:ServiceSetting":0,"aws:ssmcontacts/contact:Contact":0,"aws:ssmcontacts/contactChannel:ContactChannel":0,"aws:ssmcontacts/plan:Plan":0,"aws:ssmincidents/replicationSet:ReplicationSet":0,"aws:ssmincidents/responsePlan:ResponsePlan":0,"aws:ssoadmin/accountAssignment:AccountAssignment":0,"aws:ssoadmin/application:Application":1,"aws:ssoadmin/applicationAccessScope:ApplicationAccessScope":1,"aws:ssoadmin/applicationAssignment:ApplicationAssignment":1,"aws:ssoadmin/applicationAssignmentConfiguration:ApplicationAssignmentConfiguration":1,"aws:ssoadmin/customerManagedPolicyAttachment:CustomerManagedPolicyAttachment":0,"aws:ssoadmin/instanceAccessControlAttributes:InstanceAccessControlAttributes":0,"aws:ssoadmin/managedPolicyAttachment:ManagedPolicyAttachment":0,"aws:ssoadmin/permissionSet:PermissionSet":0,"aws:ssoadmin/permissionSetInlinePolicy:PermissionSetInlinePolicy":0,"aws:ssoadmin/permissionsBoundaryAttachment:PermissionsBoundaryAttachment":0,"aws:ssoadmin/trustedTokenIssuer:TrustedTokenIssuer":1,"aws:storagegateway/cache:Cache":0,"aws:storagegateway/cachesIscsiVolume:CachesIscsiVolume":0,"aws:storagegateway/fileSystemAssociation:FileSystemAssociation":0,"aws:storagegateway/gateway:Gateway":0,"aws:storagegateway/nfsFileShare:NfsFileShare":0,"aws:storagegateway/smbFileShare:SmbFileShare":0,"aws:storagegateway/storedIscsiVolume:StoredIscsiVolume":0,"aws:storagegateway/tapePool:TapePool":0,"aws:storagegateway/uploadBuffer:UploadBuffer":0,"aws:storagegateway/workingStorage:WorkingStorage":0,"aws:swf/domain:Domain":0,"aws:synthetics/canary:Canary":0,"aws:synthetics/group:Group":0,"aws:synthetics/groupAssociation:GroupAssociation":0,"aws:timestreaminfluxdb/dbInstance:DbInstance":1,"aws:timestreamwrite/database:Database":0,"aws:timestreamwrite/table:Table":0,"aws:transcribe/languageModel:LanguageModel":0,"aws:transcribe/medicalVocabulary:MedicalVocabulary":0,"aws:transcribe/vocabulary:Vocabulary":0,"aws:transcribe/vocabularyFilter:VocabularyFilter":0,"aws:transfer/access:Access":0,"aws:transfer/agreement:Agreement":0,"aws:transfer/certificate:Certificate":0,"aws:transfer/connector:Connector":0,"aws:transfer/profile:Profile":0,"aws:transfer/server:Server":0,"aws:transfer/sshKey:SshKey":0,"aws:transfer/tag:Tag":0,"aws:transfer/user:User":0,"aws:transfer/workflow:Workflow":0,"aws:verifiedaccess/endpoint:Endpoint":0,"aws:verifiedaccess/group:Group":0,"aws:verifiedaccess/instance:Instance":0,"aws:verifiedaccess/instanceLoggingConfiguration:InstanceLoggingConfiguration":0,"aws:verifiedaccess/instanceTrustProviderAttachment:InstanceTrustProviderAttachment":0,"aws:verifiedaccess/trustProvider:TrustProvider":0,"aws:verifiedpermissions/identitySource:IdentitySource":1,"aws:verifiedpermissions/policy:Policy":1,"aws:verifiedpermissions/policyStore:PolicyStore":1,"aws:verifiedpermissions/policyTemplate:PolicyTemplate":1,"aws:verifiedpermissions/schema:Schema":1,"aws:vpc/endpointPrivateDns:EndpointPrivateDns":1,"aws:vpc/endpointServicePrivateDnsVerification:EndpointServicePrivateDnsVerification":1,"aws:vpc/securityGroupEgressRule:SecurityGroupEgressRule":1,"aws:vpc/securityGroupIngressRule:SecurityGroupIngressRule":1,"aws:vpc/securityGroupVpcAssociation:SecurityGroupVpcAssociation":1,"aws:vpclattice/accessLogSubscription:AccessLogSubscription":0,"aws:vpclattice/authPolicy:AuthPolicy":0,"aws:vpclattice/listener:Listener":0,"aws:vpclattice/listenerRule:ListenerRule":0,"aws:vpclattice/resourcePolicy:ResourcePolicy":0,"aws:vpclattice/service:Service":0,"aws:vpclattice/serviceNetwork:ServiceNetwork":0,"aws:vpclattice/serviceNetworkServiceAssociation:ServiceNetworkServiceAssociation":0,"aws:vpclattice/serviceNetworkVpcAssociation:ServiceNetworkVpcAssociation":0,"aws:vpclattice/targetGroup:TargetGroup":0,"aws:vpclattice/targetGroupAttachment:TargetGroupAttachment":0,"aws:waf/byteMatchSet:ByteMatchSet":0,"aws:waf/geoMatchSet:GeoMatchSet":0,"aws:waf/ipSet:IpSet":0,"aws:waf/rateBasedRule:RateBasedRule":0,"aws:waf/regexMatchSet:RegexMatchSet":0,"aws:waf/regexPatternSet:RegexPatternSet":0,"aws:waf/rule:Rule":0,"aws:waf/ruleGroup:RuleGroup":0,"aws:waf/sizeConstraintSet:SizeConstraintSet":0,"aws:waf/sqlInjectionMatchSet:SqlInjectionMatchSet":0,"aws:waf/webAcl:WebAcl":0,"aws:waf/xssMatchSet:XssMatchSet":0,"aws:wafregional/byteMatchSet:ByteMatchSet":0,"aws:wafregional/geoMatchSet:GeoMatchSet":0,"aws:wafregional/ipSet:IpSet":0,"aws:wafregional/rateBasedRule:RateBasedRule":0,"aws:wafregional/regexMatchSet:RegexMatchSet":0,"aws:wafregional/regexPatternSet:RegexPatternSet":0,"aws:wafregional/rule:Rule":0,"aws:wafregional/ruleGroup:RuleGroup":0,"aws:wafregional/sizeConstraintSet:SizeConstraintSet":0,"aws:wafregional/sqlInjectionMatchSet:SqlInjectionMatchSet":0,"aws:wafregional/webAcl:WebAcl":0,"aws:wafregional/webAclAssociation:WebAclAssociation":0,"aws:wafregional/xssMatchSet:XssMatchSet":0,"aws:wafv2/ipSet:IpSet":0,"aws:wafv2/regexPatternSet:RegexPatternSet":0,"aws:wafv2/ruleGroup:RuleGroup":0,"aws:wafv2/webAcl:WebAcl":0,"aws:wafv2/webAclAssociation:WebAclAssociation":0,"aws:wafv2/webAclLoggingConfiguration:WebAclLoggingConfiguration":0,"aws:worklink/fleet:Fleet":0,"aws:worklink/websiteCertificateAuthorityAssociation:WebsiteCertificateAuthorityAssociation":0,"aws:workspaces/connectionAlias:ConnectionAlias":1,"aws:workspaces/directory:Directory":0,"aws:workspaces/ipGroup:IpGroup":0,"aws:workspaces/workspace:Workspace":0,"aws:xray/encryptionConfig:EncryptionConfig":0,"aws:xray/group:Group":0,"aws:xray/samplingRule:SamplingRule":0},"functions":{"aws:acm/getCertificate:getCertificate":0,"aws:acmpca/getCertificate:getCertificate":0,"aws:acmpca/getCertificateAuthority:getCertificateAuthority":0,"aws:alb/getListener:getListener":0,"aws:alb/getLoadBalancer:getLoadBalancer":0,"aws:alb/getTargetGroup:getTargetGroup":0,"aws:amp/getDefaultScraperConfiguration:getDefaultScraperConfiguration":1,"aws:amp/getWorkspace:getWorkspace":0,"aws:amp/getWorkspaces:getWorkspaces":0,"aws:apigateway/getAuthorizer:getAuthorizer":0,"aws:apigateway/getAuthorizers:getAuthorizers":0,"aws:apigateway/getDomainName:getDomainName":0,"aws:apigateway/getExport:getExport":0,"aws:apigateway/getKey:getKey":0,"aws:apigateway/getResource:getResource":0,"aws:apigateway/getRestApi:getRestApi":0,"aws:apigateway/getSdk:getSdk":0,"aws:apigateway/getVpcLink:getVpcLink":0,"aws:apigatewayv2/getApi:getApi":0,"aws:apigatewayv2/getApis:getApis":0,"aws:apigatewayv2/getExport:getExport":0,"aws:apigatewayv2/getVpcLink:getVpcLink":0,"aws:appconfig/getConfigurationProfile:getConfigurationProfile":0,"aws:appconfig/getConfigurationProfiles:getConfigurationProfiles":0,"aws:appconfig/getEnvironment:getEnvironment":0,"aws:appconfig/getEnvironments:getEnvironments":0,"aws:appintegrations/getEventIntegration:getEventIntegration":0,"aws:appmesh/getGatewayRoute:getGatewayRoute":0,"aws:appmesh/getMesh:getMesh":0,"aws:appmesh/getRoute:getRoute":0,"aws:appmesh/getVirtualGateway:getVirtualGateway":0,"aws:appmesh/getVirtualNode:getVirtualNode":0,"aws:appmesh/getVirtualRouter:getVirtualRouter":0,"aws:appmesh/getVirtualService:getVirtualService":0,"aws:apprunner/getHostedZoneId:getHostedZoneId":1,"aws:appstream/getImage:getImage":1,"aws:athena/getNamedQuery:getNamedQuery":0,"aws:auditmanager/getControl:getControl":1,"aws:auditmanager/getFramework:getFramework":1,"aws:autoscaling/getAmiIds:getAmiIds":0,"aws:autoscaling/getGroup:getGroup":0,"aws:backup/getFramework:getFramework":0,"aws:backup/getPlan:getPlan":0,"aws:backup/getReportPlan:getReportPlan":0,"aws:backup/getSelection:getSelection":0,"aws:backup/getVault:getVault":0,"aws:batch/getComputeEnvironment:getComputeEnvironment":0,"aws:batch/getJobDefinition:getJobDefinition":1,"aws:batch/getJobQueue:getJobQueue":0,"aws:batch/getSchedulingPolicy:getSchedulingPolicy":0,"aws:bedrock/getAgentAgentVersions:getAgentAgentVersions":1,"aws:bedrock/getCustomModel:getCustomModel":1,"aws:bedrock/getCustomModels:getCustomModels":1,"aws:bedrock/getInferenceProfile:getInferenceProfile":1,"aws:bedrock/getInferenceProfiles:getInferenceProfiles":1,"aws:bedrockfoundation/getModel:getModel":1,"aws:bedrockfoundation/getModels:getModels":1,"aws:budgets/getBudget:getBudget":0,"aws:chatbot/getSlackWorkspace:getSlackWorkspace":1,"aws:cloudcontrol/getResource:getResource":0,"aws:cloudformation/getCloudFormationType:getCloudFormationType":0,"aws:cloudformation/getExport:getExport":0,"aws:cloudformation/getStack:getStack":0,"aws:cloudfront/getCachePolicy:getCachePolicy":0,"aws:cloudfront/getDistribution:getDistribution":0,"aws:cloudfront/getFunction:getFunction":0,"aws:cloudfront/getLogDeliveryCanonicalUserId:getLogDeliveryCanonicalUserId":0,"aws:cloudfront/getOriginAccessControl:getOriginAccessControl":1,"aws:cloudfront/getOriginAccessIdentities:getOriginAccessIdentities":0,"aws:cloudfront/getOriginAccessIdentity:getOriginAccessIdentity":0,"aws:cloudfront/getOriginRequestPolicy:getOriginRequestPolicy":0,"aws:cloudfront/getRealtimeLogConfig:getRealtimeLogConfig":0,"aws:cloudfront/getResponseHeadersPolicy:getResponseHeadersPolicy":0,"aws:cloudhsmv2/getCluster:getCluster":0,"aws:cloudtrail/getServiceAccount:getServiceAccount":0,"aws:cloudwatch/getEventBus:getEventBus":0,"aws:cloudwatch/getEventConnection:getEventConnection":0,"aws:cloudwatch/getEventSource:getEventSource":0,"aws:cloudwatch/getLogDataProtectionPolicyDocument:getLogDataProtectionPolicyDocument":0,"aws:cloudwatch/getLogGroup:getLogGroup":0,"aws:cloudwatch/getLogGroups:getLogGroups":0,"aws:codeartifact/getAuthorizationToken:getAuthorizationToken":0,"aws:codeartifact/getRepositoryEndpoint:getRepositoryEndpoint":0,"aws:codebuild/getFleet:getFleet":0,"aws:codecatalyst/getDevEnvironment:getDevEnvironment":0,"aws:codecommit/getApprovalRuleTemplate:getApprovalRuleTemplate":0,"aws:codecommit/getRepository:getRepository":0,"aws:codeguruprofiler/getProfilingGroup:getProfilingGroup":1,"aws:codestarconnections/getConnection:getConnection":0,"aws:cognito/getIdentityPool:getIdentityPool":0,"aws:cognito/getUserGroup:getUserGroup":1,"aws:cognito/getUserGroups:getUserGroups":1,"aws:cognito/getUserPool:getUserPool":1,"aws:cognito/getUserPoolClient:getUserPoolClient":0,"aws:cognito/getUserPoolClients:getUserPoolClients":0,"aws:cognito/getUserPoolSigningCertificate:getUserPoolSigningCertificate":0,"aws:cognito/getUserPools:getUserPools":0,"aws:connect/getBotAssociation:getBotAssociation":0,"aws:connect/getContactFlow:getContactFlow":0,"aws:connect/getContactFlowModule:getContactFlowModule":0,"aws:connect/getHoursOfOperation:getHoursOfOperation":0,"aws:connect/getInstance:getInstance":0,"aws:connect/getInstanceStorageConfig:getInstanceStorageConfig":0,"aws:connect/getLambdaFunctionAssociation:getLambdaFunctionAssociation":0,"aws:connect/getPrompt:getPrompt":0,"aws:connect/getQueue:getQueue":0,"aws:connect/getQuickConnect:getQuickConnect":0,"aws:connect/getRoutingProfile:getRoutingProfile":0,"aws:connect/getSecurityProfile:getSecurityProfile":0,"aws:connect/getUser:getUser":0,"aws:connect/getUserHierarchyGroup:getUserHierarchyGroup":0,"aws:connect/getUserHierarchyStructure:getUserHierarchyStructure":0,"aws:connect/getVocabulary:getVocabulary":0,"aws:controltower/getControls:getControls":0,"aws:costexplorer/getCostCategory:getCostCategory":0,"aws:costexplorer/getTags:getTags":0,"aws:cur/getReportDefinition:getReportDefinition":0,"aws:datapipeline/getPipeline:getPipeline":0,"aws:datapipeline/getPipelineDefinition:getPipelineDefinition":0,"aws:datazone/getEnvironmentBlueprint:getEnvironmentBlueprint":1,"aws:devopsguru/getNotificationChannel:getNotificationChannel":1,"aws:devopsguru/getResourceCollection:getResourceCollection":1,"aws:directconnect/getConnection:getConnection":0,"aws:directconnect/getGateway:getGateway":0,"aws:directconnect/getLocation:getLocation":0,"aws:directconnect/getLocations:getLocations":0,"aws:directconnect/getRouterConfiguration:getRouterConfiguration":0,"aws:directoryservice/getDirectory:getDirectory":0,"aws:dms/getCertificate:getCertificate":0,"aws:dms/getEndpoint:getEndpoint":0,"aws:dms/getReplicationInstance:getReplicationInstance":0,"aws:dms/getReplicationSubnetGroup:getReplicationSubnetGroup":0,"aws:dms/getReplicationTask:getReplicationTask":0,"aws:docdb/getEngineVersion:getEngineVersion":0,"aws:docdb/getOrderableDbInstance:getOrderableDbInstance":0,"aws:dynamodb/getTable:getTable":0,"aws:dynamodb/getTableItem:getTableItem":0,"aws:ebs/getDefaultKmsKey:getDefaultKmsKey":0,"aws:ebs/getEbsVolumes:getEbsVolumes":0,"aws:ebs/getEncryptionByDefault:getEncryptionByDefault":0,"aws:ebs/getSnapshot:getSnapshot":0,"aws:ebs/getSnapshotIds:getSnapshotIds":0,"aws:ebs/getVolume:getVolume":0,"aws:ec2/getAmi:getAmi":0,"aws:ec2/getAmiIds:getAmiIds":0,"aws:ec2/getCapacityBlockOffering:getCapacityBlockOffering":1,"aws:ec2/getCoipPool:getCoipPool":0,"aws:ec2/getCoipPools:getCoipPools":0,"aws:ec2/getCustomerGateway:getCustomerGateway":0,"aws:ec2/getDedicatedHost:getDedicatedHost":0,"aws:ec2/getEips:getEips":0,"aws:ec2/getElasticIp:getElasticIp":0,"aws:ec2/getInstance:getInstance":0,"aws:ec2/getInstanceType:getInstanceType":0,"aws:ec2/getInstanceTypeOffering:getInstanceTypeOffering":0,"aws:ec2/getInstanceTypeOfferings:getInstanceTypeOfferings":0,"aws:ec2/getInstanceTypes:getInstanceTypes":0,"aws:ec2/getInstances:getInstances":0,"aws:ec2/getInternetGateway:getInternetGateway":0,"aws:ec2/getIpamPreviewNextCidr:getIpamPreviewNextCidr":0,"aws:ec2/getKeyPair:getKeyPair":0,"aws:ec2/getLaunchConfiguration:getLaunchConfiguration":0,"aws:ec2/getLaunchTemplate:getLaunchTemplate":0,"aws:ec2/getLocalGateway:getLocalGateway":0,"aws:ec2/getLocalGatewayRouteTable:getLocalGatewayRouteTable":0,"aws:ec2/getLocalGatewayRouteTables:getLocalGatewayRouteTables":0,"aws:ec2/getLocalGatewayVirtualInterface:getLocalGatewayVirtualInterface":0,"aws:ec2/getLocalGatewayVirtualInterfaceGroup:getLocalGatewayVirtualInterfaceGroup":0,"aws:ec2/getLocalGatewayVirtualInterfaceGroups:getLocalGatewayVirtualInterfaceGroups":0,"aws:ec2/getLocalGateways:getLocalGateways":0,"aws:ec2/getManagedPrefixList:getManagedPrefixList":0,"aws:ec2/getManagedPrefixLists:getManagedPrefixLists":0,"aws:ec2/getNatGateway:getNatGateway":0,"aws:ec2/getNatGateways:getNatGateways":0,"aws:ec2/getNetworkAcls:getNetworkAcls":0,"aws:ec2/getNetworkInsightsAnalysis:getNetworkInsightsAnalysis":0,"aws:ec2/getNetworkInsightsPath:getNetworkInsightsPath":0,"aws:ec2/getNetworkInterface:getNetworkInterface":0,"aws:ec2/getNetworkInterfaces:getNetworkInterfaces":0,"aws:ec2/getPrefixList:getPrefixList":0,"aws:ec2/getPublicIpv4Pool:getPublicIpv4Pool":0,"aws:ec2/getPublicIpv4Pools:getPublicIpv4Pools":0,"aws:ec2/getRoute:getRoute":0,"aws:ec2/getRouteTable:getRouteTable":0,"aws:ec2/getRouteTables:getRouteTables":0,"aws:ec2/getSecurityGroup:getSecurityGroup":0,"aws:ec2/getSecurityGroups:getSecurityGroups":0,"aws:ec2/getSerialConsoleAccess:getSerialConsoleAccess":0,"aws:ec2/getSpotDatafeedSubscription:getSpotDatafeedSubscription":1,"aws:ec2/getSpotPrice:getSpotPrice":0,"aws:ec2/getSubnet:getSubnet":0,"aws:ec2/getSubnets:getSubnets":0,"aws:ec2/getTransitGatewayRouteTables:getTransitGatewayRouteTables":0,"aws:ec2/getVpc:getVpc":0,"aws:ec2/getVpcDhcpOptions:getVpcDhcpOptions":0,"aws:ec2/getVpcEndpoint:getVpcEndpoint":0,"aws:ec2/getVpcEndpointService:getVpcEndpointService":0,"aws:ec2/getVpcIamPool:getVpcIamPool":0,"aws:ec2/getVpcIamPoolCidrs:getVpcIamPoolCidrs":0,"aws:ec2/getVpcIamPools:getVpcIamPools":0,"aws:ec2/getVpcIpamPool:getVpcIpamPool":0,"aws:ec2/getVpcIpamPoolCidrs:getVpcIpamPoolCidrs":0,"aws:ec2/getVpcIpamPools:getVpcIpamPools":0,"aws:ec2/getVpcPeeringConnection:getVpcPeeringConnection":0,"aws:ec2/getVpcPeeringConnections:getVpcPeeringConnections":0,"aws:ec2/getVpcs:getVpcs":0,"aws:ec2/getVpnGateway:getVpnGateway":0,"aws:ec2clientvpn/getEndpoint:getEndpoint":0,"aws:ec2transitgateway/getAttachment:getAttachment":0,"aws:ec2transitgateway/getAttachments:getAttachments":0,"aws:ec2transitgateway/getConnect:getConnect":0,"aws:ec2transitgateway/getConnectPeer:getConnectPeer":0,"aws:ec2transitgateway/getDirectConnectGatewayAttachment:getDirectConnectGatewayAttachment":0,"aws:ec2transitgateway/getMulticastDomain:getMulticastDomain":0,"aws:ec2transitgateway/getPeeringAttachment:getPeeringAttachment":0,"aws:ec2transitgateway/getPeeringAttachments:getPeeringAttachments":0,"aws:ec2transitgateway/getRouteTable:getRouteTable":0,"aws:ec2transitgateway/getRouteTableAssociations:getRouteTableAssociations":0,"aws:ec2transitgateway/getRouteTablePropagations:getRouteTablePropagations":0,"aws:ec2transitgateway/getRouteTableRoutes:getRouteTableRoutes":0,"aws:ec2transitgateway/getTransitGateway:getTransitGateway":0,"aws:ec2transitgateway/getVpcAttachment:getVpcAttachment":0,"aws:ec2transitgateway/getVpcAttachments:getVpcAttachments":0,"aws:ec2transitgateway/getVpnAttachment:getVpnAttachment":0,"aws:ecr/getAuthorizationToken:getAuthorizationToken":0,"aws:ecr/getCredentials:getCredentials":0,"aws:ecr/getImage:getImage":0,"aws:ecr/getLifecyclePolicyDocument:getLifecyclePolicyDocument":1,"aws:ecr/getPullThroughCacheRule:getPullThroughCacheRule":0,"aws:ecr/getRepositories:getRepositories":1,"aws:ecr/getRepository:getRepository":0,"aws:ecr/getRepositoryCreationTemplate:getRepositoryCreationTemplate":0,"aws:ecrpublic/getAuthorizationToken:getAuthorizationToken":0,"aws:ecs/getCluster:getCluster":0,"aws:ecs/getContainerDefinition:getContainerDefinition":0,"aws:ecs/getService:getService":0,"aws:ecs/getTaskDefinition:getTaskDefinition":0,"aws:ecs/getTaskExecution:getTaskExecution":0,"aws:efs/getAccessPoint:getAccessPoint":0,"aws:efs/getAccessPoints:getAccessPoints":0,"aws:efs/getFileSystem:getFileSystem":0,"aws:efs/getMountTarget:getMountTarget":0,"aws:eks/getAccessEntry:getAccessEntry":0,"aws:eks/getAddon:getAddon":0,"aws:eks/getAddonVersion:getAddonVersion":0,"aws:eks/getCluster:getCluster":0,"aws:eks/getClusterAuth:getClusterAuth":0,"aws:eks/getClusters:getClusters":0,"aws:eks/getNodeGroup:getNodeGroup":0,"aws:eks/getNodeGroups:getNodeGroups":0,"aws:elasticache/getCluster:getCluster":0,"aws:elasticache/getReplicationGroup:getReplicationGroup":0,"aws:elasticache/getReservedCacheNodeOffering:getReservedCacheNodeOffering":1,"aws:elasticache/getServerlessCache:getServerlessCache":1,"aws:elasticache/getSubnetGroup:getSubnetGroup":0,"aws:elasticache/getUser:getUser":0,"aws:elasticbeanstalk/getApplication:getApplication":0,"aws:elasticbeanstalk/getHostedZone:getHostedZone":0,"aws:elasticbeanstalk/getSolutionStack:getSolutionStack":0,"aws:elasticsearch/getDomain:getDomain":0,"aws:elb/getHostedZoneId:getHostedZoneId":0,"aws:elb/getLoadBalancer:getLoadBalancer":0,"aws:elb/getServiceAccount:getServiceAccount":0,"aws:emr/getReleaseLabels:getReleaseLabels":0,"aws:emr/getSupportedInstanceTypes:getSupportedInstanceTypes":1,"aws:emrcontainers/getVirtualCluster:getVirtualCluster":0,"aws:fsx/getOntapFileSystem:getOntapFileSystem":0,"aws:fsx/getOntapStorageVirtualMachine:getOntapStorageVirtualMachine":0,"aws:fsx/getOntapStorageVirtualMachines:getOntapStorageVirtualMachines":0,"aws:fsx/getOpenZfsSnapshot:getOpenZfsSnapshot":0,"aws:fsx/getWindowsFileSystem:getWindowsFileSystem":0,"aws:globalaccelerator/getAccelerator:getAccelerator":1,"aws:globalaccelerator/getCustomRoutingAccelerator:getCustomRoutingAccelerator":0,"aws:glue/getCatalogTable:getCatalogTable":0,"aws:glue/getConnection:getConnection":0,"aws:glue/getDataCatalogEncryptionSettings:getDataCatalogEncryptionSettings":0,"aws:glue/getRegistry:getRegistry":1,"aws:glue/getScript:getScript":0,"aws:grafana/getWorkspace:getWorkspace":0,"aws:guardduty/getDetector:getDetector":0,"aws:guardduty/getFindingIds:getFindingIds":1,"aws:iam/getAccessKeys:getAccessKeys":0,"aws:iam/getAccountAlias:getAccountAlias":0,"aws:iam/getGroup:getGroup":0,"aws:iam/getInstanceProfile:getInstanceProfile":0,"aws:iam/getInstanceProfiles:getInstanceProfiles":0,"aws:iam/getOpenIdConnectProvider:getOpenIdConnectProvider":0,"aws:iam/getPolicy:getPolicy":0,"aws:iam/getPolicyDocument:getPolicyDocument":0,"aws:iam/getPrincipalPolicySimulation:getPrincipalPolicySimulation":0,"aws:iam/getRole:getRole":0,"aws:iam/getRoles:getRoles":0,"aws:iam/getSamlProvider:getSamlProvider":0,"aws:iam/getServerCertificate:getServerCertificate":0,"aws:iam/getSessionContext:getSessionContext":0,"aws:iam/getUser:getUser":0,"aws:iam/getUserSshKey:getUserSshKey":0,"aws:iam/getUsers:getUsers":0,"aws:identitystore/getGroup:getGroup":0,"aws:identitystore/getGroups:getGroups":1,"aws:identitystore/getUser:getUser":0,"aws:imagebuilder/getComponent:getComponent":0,"aws:imagebuilder/getComponents:getComponents":0,"aws:imagebuilder/getContainerRecipe:getContainerRecipe":0,"aws:imagebuilder/getContainerRecipes:getContainerRecipes":0,"aws:imagebuilder/getDistributionConfiguration:getDistributionConfiguration":0,"aws:imagebuilder/getDistributionConfigurations:getDistributionConfigurations":0,"aws:imagebuilder/getImage:getImage":0,"aws:imagebuilder/getImagePipeline:getImagePipeline":0,"aws:imagebuilder/getImagePipelines:getImagePipelines":0,"aws:imagebuilder/getImageRecipe:getImageRecipe":0,"aws:imagebuilder/getImageRecipes:getImageRecipes":0,"aws:imagebuilder/getInfrastructureConfiguration:getInfrastructureConfiguration":0,"aws:imagebuilder/getInfrastructureConfigurations:getInfrastructureConfigurations":0,"aws:index/getArn:getArn":1,"aws:index/getAvailabilityZone:getAvailabilityZone":0,"aws:index/getAvailabilityZones:getAvailabilityZones":0,"aws:index/getBillingServiceAccount:getBillingServiceAccount":1,"aws:index/getCallerIdentity:getCallerIdentity":1,"aws:index/getDefaultTags:getDefaultTags":1,"aws:index/getIpRanges:getIpRanges":1,"aws:index/getPartition:getPartition":1,"aws:index/getRegion:getRegion":1,"aws:index/getRegions:getRegions":1,"aws:index/getService:getService":1,"aws:index/getServicePrincipal:getServicePrincipal":1,"aws:inspector/getRulesPackages:getRulesPackages":0,"aws:iot/getEndpoint:getEndpoint":0,"aws:iot/getRegistrationCode:getRegistrationCode":0,"aws:ivs/getStreamKey:getStreamKey":0,"aws:kendra/getExperience:getExperience":0,"aws:kendra/getFaq:getFaq":0,"aws:kendra/getIndex:getIndex":0,"aws:kendra/getQuerySuggestionsBlockList:getQuerySuggestionsBlockList":0,"aws:kendra/getThesaurus:getThesaurus":0,"aws:kinesis/getFirehoseDeliveryStream:getFirehoseDeliveryStream":0,"aws:kinesis/getStream:getStream":0,"aws:kinesis/getStreamConsumer:getStreamConsumer":0,"aws:kms/getAlias:getAlias":0,"aws:kms/getCipherText:getCipherText":0,"aws:kms/getCustomKeyStore:getCustomKeyStore":0,"aws:kms/getKey:getKey":0,"aws:kms/getPublicKey:getPublicKey":0,"aws:kms/getSecret:getSecret":0,"aws:kms/getSecrets:getSecrets":0,"aws:lakeformation/getDataLakeSettings:getDataLakeSettings":0,"aws:lakeformation/getPermissions:getPermissions":0,"aws:lakeformation/getResource:getResource":0,"aws:lambda/getAlias:getAlias":0,"aws:lambda/getCodeSigningConfig:getCodeSigningConfig":0,"aws:lambda/getFunction:getFunction":0,"aws:lambda/getFunctionUrl:getFunctionUrl":0,"aws:lambda/getFunctions:getFunctions":0,"aws:lambda/getInvocation:getInvocation":0,"aws:lambda/getLayerVersion:getLayerVersion":0,"aws:lb/getHostedZoneId:getHostedZoneId":0,"aws:lb/getLbs:getLbs":0,"aws:lb/getListener:getListener":0,"aws:lb/getListenerRule:getListenerRule":1,"aws:lb/getLoadBalancer:getLoadBalancer":0,"aws:lb/getTargetGroup:getTargetGroup":0,"aws:lb/getTrustStore:getTrustStore":0,"aws:lex/getBot:getBot":0,"aws:lex/getBotAlias:getBotAlias":0,"aws:lex/getIntent:getIntent":0,"aws:lex/getSlotType:getSlotType":0,"aws:licensemanager/getLicenseGrants:getLicenseGrants":0,"aws:licensemanager/getReceivedLicense:getReceivedLicense":0,"aws:licensemanager/getReceivedLicenses:getReceivedLicenses":0,"aws:location/getGeofenceCollection:getGeofenceCollection":0,"aws:location/getMap:getMap":0,"aws:location/getPlaceIndex:getPlaceIndex":0,"aws:location/getRouteCalculator:getRouteCalculator":0,"aws:location/getTracker:getTracker":0,"aws:location/getTrackerAssociation:getTrackerAssociation":0,"aws:location/getTrackerAssociations:getTrackerAssociations":0,"aws:mediaconvert/getQueue:getQueue":0,"aws:medialive/getInput:getInput":1,"aws:memorydb/getAcl:getAcl":0,"aws:memorydb/getCluster:getCluster":0,"aws:memorydb/getParameterGroup:getParameterGroup":0,"aws:memorydb/getSnapshot:getSnapshot":0,"aws:memorydb/getSubnetGroup:getSubnetGroup":0,"aws:memorydb/getUser:getUser":0,"aws:mq/getBroker:getBroker":0,"aws:mq/getBrokerEngineTypes:getBrokerEngineTypes":0,"aws:mq/getInstanceTypeOfferings:getInstanceTypeOfferings":0,"aws:msk/getBootstrapBrokers:getBootstrapBrokers":0,"aws:msk/getBrokerNodes:getBrokerNodes":0,"aws:msk/getCluster:getCluster":0,"aws:msk/getConfiguration:getConfiguration":0,"aws:msk/getKafkaVersion:getKafkaVersion":0,"aws:msk/getVpcConnection:getVpcConnection":0,"aws:mskconnect/getConnector:getConnector":0,"aws:mskconnect/getCustomPlugin:getCustomPlugin":0,"aws:mskconnect/getWorkerConfiguration:getWorkerConfiguration":0,"aws:neptune/getEngineVersion:getEngineVersion":0,"aws:neptune/getOrderableDbInstance:getOrderableDbInstance":0,"aws:networkfirewall/getFirewall:getFirewall":0,"aws:networkfirewall/getFirewallPolicy:getFirewallPolicy":0,"aws:networkfirewall/getResourcePolicy:getResourcePolicy":0,"aws:networkmanager/getConnection:getConnection":0,"aws:networkmanager/getConnections:getConnections":0,"aws:networkmanager/getCoreNetworkPolicyDocument:getCoreNetworkPolicyDocument":0,"aws:networkmanager/getDevice:getDevice":0,"aws:networkmanager/getDevices:getDevices":0,"aws:networkmanager/getGlobalNetwork:getGlobalNetwork":0,"aws:networkmanager/getGlobalNetworks:getGlobalNetworks":0,"aws:networkmanager/getLink:getLink":0,"aws:networkmanager/getLinks:getLinks":0,"aws:networkmanager/getSite:getSite":0,"aws:networkmanager/getSites:getSites":0,"aws:oam/getLink:getLink":0,"aws:oam/getLinks:getLinks":0,"aws:oam/getSink:getSink":0,"aws:oam/getSinks:getSinks":0,"aws:opensearch/getDomain:getDomain":0,"aws:opensearch/getServerlessAccessPolicy:getServerlessAccessPolicy":1,"aws:opensearch/getServerlessCollection:getServerlessCollection":1,"aws:opensearch/getServerlessLifecyclePolicy:getServerlessLifecyclePolicy":1,"aws:opensearch/getServerlessSecurityConfig:getServerlessSecurityConfig":1,"aws:opensearch/getServerlessSecurityPolicy:getServerlessSecurityPolicy":0,"aws:opensearch/getServerlessVpcEndpoint:getServerlessVpcEndpoint":0,"aws:organizations/getDelegatedAdministrators:getDelegatedAdministrators":0,"aws:organizations/getDelegatedServices:getDelegatedServices":0,"aws:organizations/getOrganization:getOrganization":0,"aws:organizations/getOrganizationalUnit:getOrganizationalUnit":0,"aws:organizations/getOrganizationalUnitChildAccounts:getOrganizationalUnitChildAccounts":0,"aws:organizations/getOrganizationalUnitDescendantAccounts:getOrganizationalUnitDescendantAccounts":0,"aws:organizations/getOrganizationalUnitDescendantOrganizationalUnits:getOrganizationalUnitDescendantOrganizationalUnits":0,"aws:organizations/getOrganizationalUnits:getOrganizationalUnits":0,"aws:organizations/getPolicies:getPolicies":0,"aws:organizations/getPoliciesForTarget:getPoliciesForTarget":0,"aws:organizations/getPolicy:getPolicy":0,"aws:organizations/getResourceTags:getResourceTags":0,"aws:outposts/getAsset:getAsset":0,"aws:outposts/getAssets:getAssets":0,"aws:outposts/getOutpost:getOutpost":0,"aws:outposts/getOutpostInstanceType:getOutpostInstanceType":0,"aws:outposts/getOutpostInstanceTypes:getOutpostInstanceTypes":0,"aws:outposts/getOutposts:getOutposts":0,"aws:outposts/getSite:getSite":0,"aws:outposts/getSites:getSites":0,"aws:polly/getVoices:getVoices":1,"aws:pricing/getProduct:getProduct":0,"aws:qldb/getLedger:getLedger":0,"aws:quicksight/getAnalysis:getAnalysis":0,"aws:quicksight/getDataSet:getDataSet":0,"aws:quicksight/getQuicksightAnalysis:getQuicksightAnalysis":0,"aws:quicksight/getQuicksightGroup:getQuicksightGroup":0,"aws:quicksight/getQuicksightUser:getQuicksightUser":0,"aws:quicksight/getTheme:getTheme":0,"aws:ram/getResourceShare:getResourceShare":0,"aws:rds/getCertificate:getCertificate":0,"aws:rds/getCluster:getCluster":0,"aws:rds/getClusterParameterGroup:getClusterParameterGroup":1,"aws:rds/getClusterSnapshot:getClusterSnapshot":0,"aws:rds/getClusters:getClusters":0,"aws:rds/getEngineVersion:getEngineVersion":0,"aws:rds/getEventCategories:getEventCategories":0,"aws:rds/getInstance:getInstance":0,"aws:rds/getInstances:getInstances":0,"aws:rds/getOrderableDbInstance:getOrderableDbInstance":0,"aws:rds/getParameterGroup:getParameterGroup":0,"aws:rds/getProxy:getProxy":0,"aws:rds/getReservedInstanceOffering:getReservedInstanceOffering":0,"aws:rds/getSnapshot:getSnapshot":0,"aws:rds/getSubnetGroup:getSubnetGroup":0,"aws:redshift/getCluster:getCluster":0,"aws:redshift/getClusterCredentials:getClusterCredentials":0,"aws:redshift/getDataShares:getDataShares":1,"aws:redshift/getOrderableCluster:getOrderableCluster":0,"aws:redshift/getProducerDataShares:getProducerDataShares":1,"aws:redshift/getServiceAccount:getServiceAccount":0,"aws:redshift/getSubnetGroup:getSubnetGroup":0,"aws:redshiftserverless/getCredentials:getCredentials":0,"aws:redshiftserverless/getNamespace:getNamespace":0,"aws:redshiftserverless/getWorkgroup:getWorkgroup":0,"aws:resourceexplorer/search:Search":1,"aws:resourcegroupstaggingapi/getResources:getResources":0,"aws:route53/getDelegationSet:getDelegationSet":0,"aws:route53/getProfilesProfiles:getProfilesProfiles":1,"aws:route53/getQueryLogConfig:getQueryLogConfig":0,"aws:route53/getResolverEndpoint:getResolverEndpoint":0,"aws:route53/getResolverFirewallConfig:getResolverFirewallConfig":0,"aws:route53/getResolverFirewallDomainList:getResolverFirewallDomainList":0,"aws:route53/getResolverFirewallRuleGroup:getResolverFirewallRuleGroup":0,"aws:route53/getResolverFirewallRuleGroupAssociation:getResolverFirewallRuleGroupAssociation":0,"aws:route53/getResolverFirewallRules:getResolverFirewallRules":0,"aws:route53/getResolverRule:getResolverRule":0,"aws:route53/getResolverRules:getResolverRules":0,"aws:route53/getTrafficPolicyDocument:getTrafficPolicyDocument":0,"aws:route53/getZone:getZone":0,"aws:route53/getZones:getZones":1,"aws:s3/getAccountPublicAccessBlock:getAccountPublicAccessBlock":0,"aws:s3/getBucket:getBucket":0,"aws:s3/getBucketObject:getBucketObject":0,"aws:s3/getBucketObjects:getBucketObjects":0,"aws:s3/getBucketPolicy:getBucketPolicy":0,"aws:s3/getCanonicalUserId:getCanonicalUserId":0,"aws:s3/getDirectoryBuckets:getDirectoryBuckets":1,"aws:s3/getObject:getObject":0,"aws:s3/getObjects:getObjects":0,"aws:s3control/getMultiRegionAccessPoint:getMultiRegionAccessPoint":0,"aws:sagemaker/getPrebuiltEcrImage:getPrebuiltEcrImage":0,"aws:secretsmanager/getRandomPassword:getRandomPassword":0,"aws:secretsmanager/getSecret:getSecret":0,"aws:secretsmanager/getSecretRotation:getSecretRotation":0,"aws:secretsmanager/getSecretVersion:getSecretVersion":0,"aws:secretsmanager/getSecretVersions:getSecretVersions":1,"aws:secretsmanager/getSecrets:getSecrets":0,"aws:securityhub/getStandardsControlAssociations:getStandardsControlAssociations":1,"aws:serverlessrepository/getApplication:getApplication":0,"aws:servicecatalog/getAppregistryApplication:getAppregistryApplication":1,"aws:servicecatalog/getConstraint:getConstraint":0,"aws:servicecatalog/getLaunchPaths:getLaunchPaths":0,"aws:servicecatalog/getPortfolio:getPortfolio":0,"aws:servicecatalog/getPortfolioConstraints:getPortfolioConstraints":0,"aws:servicecatalog/getProduct:getProduct":0,"aws:servicecatalog/getProvisioningArtifacts:getProvisioningArtifacts":0,"aws:servicediscovery/getDnsNamespace:getDnsNamespace":0,"aws:servicediscovery/getHttpNamespace:getHttpNamespace":0,"aws:servicediscovery/getService:getService":0,"aws:servicequotas/getService:getService":0,"aws:servicequotas/getServiceQuota:getServiceQuota":0,"aws:servicequotas/getTemplates:getTemplates":1,"aws:ses/getActiveReceiptRuleSet:getActiveReceiptRuleSet":0,"aws:ses/getDomainIdentity:getDomainIdentity":0,"aws:ses/getEmailIdentity:getEmailIdentity":0,"aws:sesv2/getConfigurationSet:getConfigurationSet":0,"aws:sesv2/getDedicatedIpPool:getDedicatedIpPool":0,"aws:sesv2/getEmailIdentity:getEmailIdentity":0,"aws:sesv2/getEmailIdentityMailFromAttributes:getEmailIdentityMailFromAttributes":0,"aws:sfn/getActivity:getActivity":0,"aws:sfn/getAlias:getAlias":0,"aws:sfn/getStateMachine:getStateMachine":0,"aws:sfn/getStateMachineVersions:getStateMachineVersions":0,"aws:shield/getProtection:getProtection":1,"aws:signer/getSigningJob:getSigningJob":0,"aws:signer/getSigningProfile:getSigningProfile":0,"aws:sns/getTopic:getTopic":0,"aws:sqs/getQueue:getQueue":0,"aws:sqs/getQueues:getQueues":0,"aws:ssm/getContactsRotation:getContactsRotation":1,"aws:ssm/getDocument:getDocument":0,"aws:ssm/getInstances:getInstances":0,"aws:ssm/getMaintenanceWindows:getMaintenanceWindows":0,"aws:ssm/getParameter:getParameter":0,"aws:ssm/getParametersByPath:getParametersByPath":0,"aws:ssm/getPatchBaseline:getPatchBaseline":0,"aws:ssm/getPatchBaselines:getPatchBaselines":1,"aws:ssmcontacts/getContact:getContact":0,"aws:ssmcontacts/getContactChannel:getContactChannel":0,"aws:ssmcontacts/getPlan:getPlan":0,"aws:ssmincidents/getReplicationSet:getReplicationSet":0,"aws:ssmincidents/getResponsePlan:getResponsePlan":0,"aws:ssoadmin/getApplication:getApplication":1,"aws:ssoadmin/getApplicationAssignments:getApplicationAssignments":1,"aws:ssoadmin/getApplicationProviders:getApplicationProviders":1,"aws:ssoadmin/getInstances:getInstances":0,"aws:ssoadmin/getPermissionSet:getPermissionSet":0,"aws:ssoadmin/getPermissionSets:getPermissionSets":1,"aws:ssoadmin/getPrincipalApplicationAssignments:getPrincipalApplicationAssignments":1,"aws:storagegateway/getLocalDisk:getLocalDisk":0,"aws:synthetics/getRuntimeVersion:getRuntimeVersion":1,"aws:synthetics/getRuntimeVersions:getRuntimeVersions":1,"aws:timestreamwrite/getDatabase:getDatabase":1,"aws:timestreamwrite/getTable:getTable":1,"aws:transfer/getConnector:getConnector":1,"aws:transfer/getServer:getServer":0,"aws:verifiedpermissions/getPolicyStore:getPolicyStore":1,"aws:vpc/getSecurityGroupRule:getSecurityGroupRule":1,"aws:vpc/getSecurityGroupRules:getSecurityGroupRules":1,"aws:vpclattice/getAuthPolicy:getAuthPolicy":0,"aws:vpclattice/getListener:getListener":0,"aws:vpclattice/getResourcePolicy:getResourcePolicy":0,"aws:vpclattice/getService:getService":0,"aws:vpclattice/getServiceNetwork:getServiceNetwork":0,"aws:waf/getIpset:getIpset":0,"aws:waf/getRateBasedRule:getRateBasedRule":0,"aws:waf/getRule:getRule":0,"aws:waf/getSubscribedRuleGroup:getSubscribedRuleGroup":0,"aws:waf/getWebAcl:getWebAcl":0,"aws:wafregional/getIpset:getIpset":0,"aws:wafregional/getRateBasedMod:getRateBasedMod":0,"aws:wafregional/getRule:getRule":0,"aws:wafregional/getSubscribedRuleGroup:getSubscribedRuleGroup":0,"aws:wafregional/getWebAcl:getWebAcl":0,"aws:wafv2/getIpSet:getIpSet":0,"aws:wafv2/getRegexPatternSet:getRegexPatternSet":0,"aws:wafv2/getRuleGroup:getRuleGroup":0,"aws:wafv2/getWebAcl:getWebAcl":0,"aws:workspaces/getBundle:getBundle":0,"aws:workspaces/getDirectory:getDirectory":0,"aws:workspaces/getImage:getImage":0,"aws:workspaces/getWorkspace:getWorkspace":0}}} \ No newline at end of file +{"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 diff --git a/provider/cmd/pulumi-resource-aws/schema.json b/provider/cmd/pulumi-resource-aws/schema.json index e9317458f1c..208847ef190 100644 --- a/provider/cmd/pulumi-resource-aws/schema.json +++ b/provider/cmd/pulumi-resource-aws/schema.json @@ -68,6 +68,7 @@ "codebuild": "CodeBuild", "codecatalyst": "CodeCatalyst", "codecommit": "CodeCommit", + "codeconnections": "CodeConnections", "codedeploy": "CodeDeploy", "codeguruprofiler": "CodeGuruProfiler", "codegurureviewer": "CodeGuruReviewer", @@ -198,6 +199,7 @@ "s3": "S3", "s3control": "S3Control", "s3outposts": "S3Outposts", + "s3tables": "S3Tables", "sagemaker": "Sagemaker", "scheduler": "Scheduler", "schemas": "Schemas", @@ -30327,6 +30329,73 @@ "name" ] }, + "aws:codeconnections/ConnectionTimeouts:ConnectionTimeouts": { + "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:codeconnections/HostTimeouts:HostTimeouts": { + "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:codeconnections/HostVpcConfiguration:HostVpcConfiguration": { + "properties": { + "securityGroupIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "ID of the security group or security groups associated with the Amazon VPC connected to the infrastructure where your provider type is installed.\n" + }, + "subnetIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The ID of the subnet or subnets associated with the Amazon VPC connected to the infrastructure where your provider type is installed.\n" + }, + "tlsCertificate": { + "type": "string", + "description": "The value of the Transport Layer Security (TLS) certificate associated with the infrastructure where your provider type is installed.\n" + }, + "vpcId": { + "type": "string", + "description": "The ID of the Amazon VPC connected to the infrastructure where your provider type is installed.\n" + } + }, + "type": "object", + "required": [ + "securityGroupIds", + "subnetIds", + "tlsCertificate", + "vpcId" + ] + }, "aws:codedeploy/DeploymentConfigMinimumHealthyHosts:DeploymentConfigMinimumHealthyHosts": { "properties": { "type": { @@ -34353,6 +34422,10 @@ "type": "string", "description": "Use this to override the default service endpoint URL\n" }, + "s3tables": { + "type": "string", + "description": "Use this to override the default service endpoint URL\n" + }, "sagemaker": { "type": "string", "description": "Use this to override the default service endpoint URL\n" @@ -82566,6 +82639,10 @@ "type": "string", "description": "Use this to override the default service endpoint URL\n" }, + "s3tables": { + "type": "string", + "description": "Use this to override the default service endpoint URL\n" + }, "sagemaker": { "type": "string", "description": "Use this to override the default service endpoint URL\n" @@ -134021,11 +134098,11 @@ "properties": { "maxCapacity": { "type": "number", - "description": "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.5` up to `256` in steps of `0.5`.\n" + "description": "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`.\n" }, "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.5` up to `256` in steps of `0.5`.\n" + "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" } }, "type": "object", @@ -139742,11 +139819,11 @@ "properties": { "name": { "type": "string", - "description": "[Availability Zone ID](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html#az-ids).\n" + "description": "[Availability Zone ID](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html#az-ids) or Local Zone ID.\n" }, "type": { "type": "string", - "description": "Location type. Valid values: `AvailabilityZone`.\n" + "description": "Location type. Valid values: `AvailabilityZone`, `LocalZone`.\n" } }, "type": "object", @@ -140570,6 +140647,132 @@ } } }, + "aws:s3tables/TableBucketMaintenanceConfiguration:TableBucketMaintenanceConfiguration": { + "properties": { + "icebergUnreferencedFileRemoval": { + "$ref": "#/types/aws:s3tables/TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemoval:TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemoval", + "description": "A single Iceberg unreferenced file removal settings block.\nSee `iceberg_unreferenced_file_removal` below\n" + } + }, + "type": "object", + "required": [ + "icebergUnreferencedFileRemoval" + ] + }, + "aws:s3tables/TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemoval:TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemoval": { + "properties": { + "settings": { + "$ref": "#/types/aws:s3tables/TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettings:TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettings", + "description": "Settings for unreferenced file removal.\nSee `iceberg_unreferenced_file_removal.settings` below\n" + }, + "status": { + "type": "string", + "description": "Whether the configuration is enabled.\nValid values are `enabled` and `disabled`.\n" + } + }, + "type": "object", + "required": [ + "settings", + "status" + ] + }, + "aws:s3tables/TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettings:TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettings": { + "properties": { + "nonCurrentDays": { + "type": "number", + "description": "Data objects marked for deletion are deleted after this many days.\nMust be at least `1`.\n" + }, + "unreferencedDays": { + "type": "number", + "description": "Unreferenced data objects are marked for deletion after this many days.\nMust be at least `1`.\n" + } + }, + "type": "object", + "required": [ + "nonCurrentDays", + "unreferencedDays" + ] + }, + "aws:s3tables/TableMaintenanceConfiguration:TableMaintenanceConfiguration": { + "properties": { + "icebergCompaction": { + "$ref": "#/types/aws:s3tables/TableMaintenanceConfigurationIcebergCompaction:TableMaintenanceConfigurationIcebergCompaction", + "description": "A single Iceberg compaction settings block.\nSee `iceberg_compaction` below\n" + }, + "icebergSnapshotManagement": { + "$ref": "#/types/aws:s3tables/TableMaintenanceConfigurationIcebergSnapshotManagement:TableMaintenanceConfigurationIcebergSnapshotManagement", + "description": "A single Iceberg snapshot management settings block.\nSee `iceberg_snapshot_management` below\n" + } + }, + "type": "object", + "required": [ + "icebergCompaction", + "icebergSnapshotManagement" + ] + }, + "aws:s3tables/TableMaintenanceConfigurationIcebergCompaction:TableMaintenanceConfigurationIcebergCompaction": { + "properties": { + "settings": { + "$ref": "#/types/aws:s3tables/TableMaintenanceConfigurationIcebergCompactionSettings:TableMaintenanceConfigurationIcebergCompactionSettings", + "description": "Settings for compaction.\nSee `iceberg_compaction.settings` below\n" + }, + "status": { + "type": "string", + "description": "Whether the configuration is enabled.\nValid values are `enabled` and `disabled`.\n" + } + }, + "type": "object", + "required": [ + "settings", + "status" + ] + }, + "aws:s3tables/TableMaintenanceConfigurationIcebergCompactionSettings:TableMaintenanceConfigurationIcebergCompactionSettings": { + "properties": { + "targetFileSizeMb": { + "type": "number", + "description": "Data objects smaller than this size may be combined with others to improve query performance.\nMust be between `64` and `512`.\n" + } + }, + "type": "object", + "required": [ + "targetFileSizeMb" + ] + }, + "aws:s3tables/TableMaintenanceConfigurationIcebergSnapshotManagement:TableMaintenanceConfigurationIcebergSnapshotManagement": { + "properties": { + "settings": { + "$ref": "#/types/aws:s3tables/TableMaintenanceConfigurationIcebergSnapshotManagementSettings:TableMaintenanceConfigurationIcebergSnapshotManagementSettings", + "description": "Settings for snapshot management.\nSee `iceberg_snapshot_management.settings` below\n" + }, + "status": { + "type": "string", + "description": "Whether the configuration is enabled.\nValid values are `enabled` and `disabled`.\n" + } + }, + "type": "object", + "required": [ + "settings", + "status" + ] + }, + "aws:s3tables/TableMaintenanceConfigurationIcebergSnapshotManagementSettings:TableMaintenanceConfigurationIcebergSnapshotManagementSettings": { + "properties": { + "maxSnapshotAgeHours": { + "type": "number", + "description": "Snapshots older than this will be marked for deletiion.\nMust be at least `1`.\n" + }, + "minSnapshotsToKeep": { + "type": "number", + "description": "Minimum number of snapshots to keep.\nMust be at least `1`.\n" + } + }, + "type": "object", + "required": [ + "maxSnapshotAgeHours", + "minSnapshotsToKeep" + ] + }, "aws:sagemaker/AppImageConfigCodeEditorAppImageConfig:AppImageConfigCodeEditorAppImageConfig": { "properties": { "containerConfig": { @@ -193279,7 +193482,8 @@ "type": "array", "items": { "$ref": "#/types/aws:bedrock/AgentAgentGuardrailConfiguration:AgentAgentGuardrailConfiguration" - } + }, + "description": "Details about the guardrail associated with the agent. See `guardrail_configuration` Block for details.\n" }, "idleSessionTtlInSeconds": { "type": "integer", @@ -193287,7 +193491,7 @@ }, "instruction": { "type": "string", - "description": "Instructions that tell the agent what it should do and how it should interact with users.\n" + "description": "Instructions that tell the agent what it should do and how it should interact with users. The valid range is 40 - 8000 characters.\n" }, "prepareAgent": { "type": "boolean", @@ -193362,7 +193566,8 @@ "type": "array", "items": { "$ref": "#/types/aws:bedrock/AgentAgentGuardrailConfiguration:AgentAgentGuardrailConfiguration" - } + }, + "description": "Details about the guardrail associated with the agent. See `guardrail_configuration` Block for details.\n" }, "idleSessionTtlInSeconds": { "type": "integer", @@ -193370,7 +193575,7 @@ }, "instruction": { "type": "string", - "description": "Instructions that tell the agent what it should do and how it should interact with users.\n" + "description": "Instructions that tell the agent what it should do and how it should interact with users. The valid range is 40 - 8000 characters.\n" }, "prepareAgent": { "type": "boolean", @@ -193442,7 +193647,8 @@ "type": "array", "items": { "$ref": "#/types/aws:bedrock/AgentAgentGuardrailConfiguration:AgentAgentGuardrailConfiguration" - } + }, + "description": "Details about the guardrail associated with the agent. See `guardrail_configuration` Block for details.\n" }, "idleSessionTtlInSeconds": { "type": "integer", @@ -193450,7 +193656,7 @@ }, "instruction": { "type": "string", - "description": "Instructions that tell the agent what it should do and how it should interact with users.\n" + "description": "Instructions that tell the agent what it should do and how it should interact with users. The valid range is 40 - 8000 characters.\n" }, "prepareAgent": { "type": "boolean", @@ -208122,6 +208328,252 @@ "type": "object" } }, + "aws:codeconnections/connection:Connection": { + "description": "Resource for managing an AWS CodeConnections Connection.\n\n\u003e **NOTE:** The `aws.codeconnections.Connection` resource is created in the state `PENDING`. Authentication with the connection provider must be completed in the AWS Console. See the [AWS documentation](https://docs.aws.amazon.com/dtconsole/latest/userguide/connections-update.html) for details.\n\n## 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.codeconnections.Connection(\"example\", {\n name: \"example-connection\",\n providerType: \"Bitbucket\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.codeconnections.Connection(\"example\",\n name=\"example-connection\",\n provider_type=\"Bitbucket\")\n```\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.CodeConnections.Connection(\"example\", new()\n {\n Name = \"example-connection\",\n ProviderType = \"Bitbucket\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/codeconnections\"\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 := codeconnections.NewConnection(ctx, \"example\", \u0026codeconnections.ConnectionArgs{\n\t\t\tName: pulumi.String(\"example-connection\"),\n\t\t\tProviderType: pulumi.String(\"Bitbucket\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.codeconnections.Connection;\nimport com.pulumi.aws.codeconnections.ConnectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Connection(\"example\", ConnectionArgs.builder()\n .name(\"example-connection\")\n .providerType(\"Bitbucket\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:codeconnections:Connection\n properties:\n name: example-connection\n providerType: Bitbucket\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import CodeConnections connection using the ARN. For example:\n\n```sh\n$ pulumi import aws:codeconnections/connection:Connection test-connection arn:aws:codeconnections:us-west-1:0123456789:connection/79d4d357-a2ee-41e4-b350-2fe39ae59448\n```\n", + "properties": { + "arn": { + "type": "string", + "description": "The codeconnections connection ARN.\n" + }, + "connectionStatus": { + "type": "string", + "description": "The codeconnections connection status. Possible values are `PENDING`, `AVAILABLE` and `ERROR`.\n" + }, + "hostArn": { + "type": "string", + "description": "The Amazon Resource Name (ARN) of the host associated with the connection. Conflicts with `provider_type`\n" + }, + "name": { + "type": "string", + "description": "The name of the connection to be created. The name must be unique in the calling AWS account. Changing `name` will create a new resource.\n" + }, + "ownerAccountId": { + "type": "string" + }, + "providerType": { + "type": "string", + "description": "The name of the external provider where your third-party code repository is configured. Changing `provider_type` will create a new resource. Conflicts with `host_arn`.\n" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Map of key-value resource tags to associate with the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.\n" + }, + "tagsAll": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.\n", + "deprecationMessage": "Please use `tags` instead." + }, + "timeouts": { + "$ref": "#/types/aws:codeconnections/ConnectionTimeouts:ConnectionTimeouts" + } + }, + "required": [ + "arn", + "connectionStatus", + "name", + "ownerAccountId", + "providerType", + "tagsAll" + ], + "inputProperties": { + "hostArn": { + "type": "string", + "description": "The Amazon Resource Name (ARN) of the host associated with the connection. Conflicts with `provider_type`\n" + }, + "name": { + "type": "string", + "description": "The name of the connection to be created. The name must be unique in the calling AWS account. Changing `name` will create a new resource.\n" + }, + "providerType": { + "type": "string", + "description": "The name of the external provider where your third-party code repository is configured. Changing `provider_type` will create a new resource. Conflicts with `host_arn`.\n" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Map of key-value resource tags to associate with 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:codeconnections/ConnectionTimeouts:ConnectionTimeouts" + } + }, + "stateInputs": { + "description": "Input properties used for looking up and filtering Connection resources.\n", + "properties": { + "arn": { + "type": "string", + "description": "The codeconnections connection ARN.\n" + }, + "connectionStatus": { + "type": "string", + "description": "The codeconnections connection status. Possible values are `PENDING`, `AVAILABLE` and `ERROR`.\n" + }, + "hostArn": { + "type": "string", + "description": "The Amazon Resource Name (ARN) of the host associated with the connection. Conflicts with `provider_type`\n" + }, + "name": { + "type": "string", + "description": "The name of the connection to be created. The name must be unique in the calling AWS account. Changing `name` will create a new resource.\n" + }, + "ownerAccountId": { + "type": "string" + }, + "providerType": { + "type": "string", + "description": "The name of the external provider where your third-party code repository is configured. Changing `provider_type` will create a new resource. Conflicts with `host_arn`.\n" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Map of key-value resource tags to associate with the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.\n" + }, + "tagsAll": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.\n", + "deprecationMessage": "Please use `tags` instead." + }, + "timeouts": { + "$ref": "#/types/aws:codeconnections/ConnectionTimeouts:ConnectionTimeouts" + } + }, + "type": "object" + } + }, + "aws:codeconnections/host:Host": { + "description": "Resource for managing an AWS CodeConnections Host.\n\n\u003e **NOTE:** The `aws.codeconnections.Host` resource is created in the state `PENDING`. Authentication with the host provider must be completed in the AWS Console. For more information visit [Set up a pending host](https://docs.aws.amazon.com/dtconsole/latest/userguide/connections-host-setup.html).\n\n## 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.codeconnections.Host(\"example\", {\n name: \"example-host\",\n providerEndpoint: \"https://example.com\",\n providerType: \"GitHubEnterpriseServer\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.codeconnections.Host(\"example\",\n name=\"example-host\",\n provider_endpoint=\"https://example.com\",\n provider_type=\"GitHubEnterpriseServer\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CodeConnections.Host(\"example\", new()\n {\n Name = \"example-host\",\n ProviderEndpoint = \"https://example.com\",\n ProviderType = \"GitHubEnterpriseServer\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/codeconnections\"\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 := codeconnections.NewHost(ctx, \"example\", \u0026codeconnections.HostArgs{\n\t\t\tName: pulumi.String(\"example-host\"),\n\t\t\tProviderEndpoint: pulumi.String(\"https://example.com\"),\n\t\t\tProviderType: pulumi.String(\"GitHubEnterpriseServer\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.codeconnections.Host;\nimport com.pulumi.aws.codeconnections.HostArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Host(\"example\", HostArgs.builder()\n .name(\"example-host\")\n .providerEndpoint(\"https://example.com\")\n .providerType(\"GitHubEnterpriseServer\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:codeconnections:Host\n properties:\n name: example-host\n providerEndpoint: https://example.com\n providerType: GitHubEnterpriseServer\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import CodeConnections Host using the ARN. For example:\n\n```sh\n$ pulumi import aws:codeconnections/host:Host example-host arn:aws:codeconnections:us-west-1:0123456789:host/79d4d357-a2ee-41e4-b350-2fe39ae59448\n```\n", + "properties": { + "arn": { + "type": "string", + "description": "The CodeConnections Host ARN.\n" + }, + "name": { + "type": "string", + "description": "The name of the host to be created. The name must be unique in the calling AWS account.\n" + }, + "providerEndpoint": { + "type": "string", + "description": "The endpoint of the infrastructure to be represented by the host after it is created.\n" + }, + "providerType": { + "type": "string", + "description": "The name of the external provider where your third-party code repository is configured.\n" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "tagsAll": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "deprecationMessage": "Please use `tags` instead." + }, + "timeouts": { + "$ref": "#/types/aws:codeconnections/HostTimeouts:HostTimeouts" + }, + "vpcConfiguration": { + "$ref": "#/types/aws:codeconnections/HostVpcConfiguration:HostVpcConfiguration", + "description": "The VPC configuration to be provisioned for the host. A VPC must be configured, and the infrastructure to be represented by the host must already be connected to the VPC.\n" + } + }, + "required": [ + "arn", + "name", + "providerEndpoint", + "providerType", + "tagsAll" + ], + "inputProperties": { + "name": { + "type": "string", + "description": "The name of the host to be created. The name must be unique in the calling AWS account.\n" + }, + "providerEndpoint": { + "type": "string", + "description": "The endpoint of the infrastructure to be represented by the host after it is created.\n" + }, + "providerType": { + "type": "string", + "description": "The name of the external provider where your third-party code repository is configured.\n" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "timeouts": { + "$ref": "#/types/aws:codeconnections/HostTimeouts:HostTimeouts" + }, + "vpcConfiguration": { + "$ref": "#/types/aws:codeconnections/HostVpcConfiguration:HostVpcConfiguration", + "description": "The VPC configuration to be provisioned for the host. A VPC must be configured, and the infrastructure to be represented by the host must already be connected to the VPC.\n" + } + }, + "requiredInputs": [ + "providerEndpoint", + "providerType" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering Host resources.\n", + "properties": { + "arn": { + "type": "string", + "description": "The CodeConnections Host ARN.\n" + }, + "name": { + "type": "string", + "description": "The name of the host to be created. The name must be unique in the calling AWS account.\n" + }, + "providerEndpoint": { + "type": "string", + "description": "The endpoint of the infrastructure to be represented by the host after it is created.\n" + }, + "providerType": { + "type": "string", + "description": "The name of the external provider where your third-party code repository is configured.\n" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "tagsAll": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "deprecationMessage": "Please use `tags` instead." + }, + "timeouts": { + "$ref": "#/types/aws:codeconnections/HostTimeouts:HostTimeouts" + }, + "vpcConfiguration": { + "$ref": "#/types/aws:codeconnections/HostVpcConfiguration:HostVpcConfiguration", + "description": "The VPC configuration to be provisioned for the host. A VPC must be configured, and the infrastructure to be represented by the host must already be connected to the VPC.\n" + } + }, + "type": "object" + } + }, "aws:codedeploy/application:Application": { "description": "Provides a CodeDeploy application to be used as a basis for deployments\n\n## Example Usage\n\n### ECS Application\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.codedeploy.Application(\"example\", {\n computePlatform: \"ECS\",\n name: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.codedeploy.Application(\"example\",\n compute_platform=\"ECS\",\n 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.CodeDeploy.Application(\"example\", new()\n {\n ComputePlatform = \"ECS\",\n Name = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/codedeploy\"\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 := codedeploy.NewApplication(ctx, \"example\", \u0026codedeploy.ApplicationArgs{\n\t\t\tComputePlatform: pulumi.String(\"ECS\"),\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.codedeploy.Application;\nimport com.pulumi.aws.codedeploy.ApplicationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Application(\"example\", ApplicationArgs.builder()\n .computePlatform(\"ECS\")\n .name(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:codedeploy:Application\n properties:\n computePlatform: ECS\n name: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Lambda Application\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.codedeploy.Application(\"example\", {\n computePlatform: \"Lambda\",\n name: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.codedeploy.Application(\"example\",\n compute_platform=\"Lambda\",\n 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.CodeDeploy.Application(\"example\", new()\n {\n ComputePlatform = \"Lambda\",\n Name = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/codedeploy\"\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 := codedeploy.NewApplication(ctx, \"example\", \u0026codedeploy.ApplicationArgs{\n\t\t\tComputePlatform: pulumi.String(\"Lambda\"),\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.codedeploy.Application;\nimport com.pulumi.aws.codedeploy.ApplicationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Application(\"example\", ApplicationArgs.builder()\n .computePlatform(\"Lambda\")\n .name(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:codedeploy:Application\n properties:\n computePlatform: Lambda\n name: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Server Application\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.codedeploy.Application(\"example\", {\n computePlatform: \"Server\",\n name: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.codedeploy.Application(\"example\",\n compute_platform=\"Server\",\n 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.CodeDeploy.Application(\"example\", new()\n {\n ComputePlatform = \"Server\",\n Name = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/codedeploy\"\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 := codedeploy.NewApplication(ctx, \"example\", \u0026codedeploy.ApplicationArgs{\n\t\t\tComputePlatform: pulumi.String(\"Server\"),\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.codedeploy.Application;\nimport com.pulumi.aws.codedeploy.ApplicationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Application(\"example\", ApplicationArgs.builder()\n .computePlatform(\"Server\")\n .name(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:codedeploy:Application\n properties:\n computePlatform: Server\n name: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import CodeDeploy Applications using the `name`. For example:\n\n```sh\n$ pulumi import aws:codedeploy/application:Application example my-application\n```\n", "properties": { @@ -231692,6 +232144,10 @@ "type": "string", "description": "ARN of the table replica.\n" }, + "deletionProtectionEnabled": { + "type": "boolean", + "description": "Whether deletion protection is enabled (true) or disabled (false) on the table replica.\n" + }, "globalTableArn": { "type": "string", "description": "ARN of the _main_ or global table which this resource will replicate.\n\nOptional arguments:\n" @@ -231702,7 +232158,7 @@ }, "pointInTimeRecovery": { "type": "boolean", - "description": "Whether to enable Point In Time Recovery for the replica. Default is `false`.\n" + "description": "Whether to enable Point In Time Recovery for the table replica. Default is `false`.\n" }, "tableClassOverride": { "type": "string", @@ -231726,11 +232182,16 @@ }, "required": [ "arn", + "deletionProtectionEnabled", "globalTableArn", "kmsKeyArn", "tagsAll" ], "inputProperties": { + "deletionProtectionEnabled": { + "type": "boolean", + "description": "Whether deletion protection is enabled (true) or disabled (false) on the table replica.\n" + }, "globalTableArn": { "type": "string", "description": "ARN of the _main_ or global table which this resource will replicate.\n\nOptional arguments:\n", @@ -231743,7 +232204,7 @@ }, "pointInTimeRecovery": { "type": "boolean", - "description": "Whether to enable Point In Time Recovery for the replica. Default is `false`.\n" + "description": "Whether to enable Point In Time Recovery for the table replica. Default is `false`.\n" }, "tableClassOverride": { "type": "string", @@ -231768,6 +232229,10 @@ "type": "string", "description": "ARN of the table replica.\n" }, + "deletionProtectionEnabled": { + "type": "boolean", + "description": "Whether deletion protection is enabled (true) or disabled (false) on the table replica.\n" + }, "globalTableArn": { "type": "string", "description": "ARN of the _main_ or global table which this resource will replicate.\n\nOptional arguments:\n", @@ -231780,7 +232245,7 @@ }, "pointInTimeRecovery": { "type": "boolean", - "description": "Whether to enable Point In Time Recovery for the replica. Default is `false`.\n" + "description": "Whether to enable Point In Time Recovery for the table replica. Default is `false`.\n" }, "tableClassOverride": { "type": "string", @@ -330187,6 +330652,10 @@ "type": "string", "description": "Database engine version\n" }, + "forceDestroy": { + "type": "boolean", + "description": "Forces an instance to be destroyed when a part of a read replica cluster. **Note:** will promote the read replica to a standalone cluster before instance deletion.\n" + }, "identifier": { "type": "string", "description": "Identifier for the RDS instance, if omitted, Pulumi will assign a random, unique identifier.\n" @@ -330352,6 +330821,10 @@ "type": "string", "description": "Database engine version. Please note that to upgrade the `engine_version` of the instance, it must be done on the `aws.rds.Cluster` `engine_version`. Trying to upgrade in `aws_cluster_instance` will not update the `engine_version`.\n" }, + "forceDestroy": { + "type": "boolean", + "description": "Forces an instance to be destroyed when a part of a read replica cluster. **Note:** will promote the read replica to a standalone cluster before instance deletion.\n" + }, "identifier": { "type": "string", "description": "Identifier for the RDS instance, if omitted, Pulumi will assign a random, unique identifier.\n", @@ -330493,6 +330966,10 @@ "type": "string", "description": "Database engine version\n" }, + "forceDestroy": { + "type": "boolean", + "description": "Forces an instance to be destroyed when a part of a read replica cluster. **Note:** will promote the read replica to a standalone cluster before instance deletion.\n" + }, "identifier": { "type": "string", "description": "Identifier for the RDS instance, if omitted, Pulumi will assign a random, unique identifier.\n", @@ -333446,7 +333923,7 @@ } }, "aws:rds/parameterGroup:ParameterGroup": { - "description": "Provides an RDS DB parameter group resource. Documentation of the available parameters for various RDS engines can be found at:\n\n* [Aurora MySQL Parameters](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AuroraMySQL.Reference.html)\n* [Aurora PostgreSQL Parameters](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AuroraPostgreSQL.Reference.html)\n* [MariaDB Parameters](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.MariaDB.Parameters.html)\n* [Oracle Parameters](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ModifyInstance.Oracle.html#USER_ModifyInstance.Oracle.sqlnet)\n* [PostgreSQL Parameters](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.PostgreSQL.CommonDBATasks.html#Appendix.PostgreSQL.CommonDBATasks.Parameters)\n\n\u003e **Hands-on:** For an example of the `aws.rds.ParameterGroup` in use, follow the Manage AWS RDS Instances tutorial on HashiCorp Learn.\n\n\u003e **NOTE**: to make diffs less confusing, the AWS provider will ignore changes for a `parameter` whose `value` remains\nunchanged but whose `apply_method` is changing (e.g., from `immediate` to `pending-reboot`, or `pending-reboot` to\n`immediate`). This matches the cloud: if only the apply method of a parameter is changing, the AWS API will not register\nthis change. To change the `apply_method` of a parameter, its value must also change.\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.rds.ParameterGroup(\"default\", {\n name: \"rds-pg\",\n family: \"mysql5.6\",\n parameters: [\n {\n name: \"character_set_server\",\n value: \"utf8\",\n },\n {\n name: \"character_set_client\",\n value: \"utf8\",\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.rds.ParameterGroup(\"default\",\n name=\"rds-pg\",\n family=\"mysql5.6\",\n parameters=[\n {\n \"name\": \"character_set_server\",\n \"value\": \"utf8\",\n },\n {\n \"name\": \"character_set_client\",\n \"value\": \"utf8\",\n },\n ])\n```\n```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.ParameterGroup(\"default\", new()\n {\n Name = \"rds-pg\",\n Family = \"mysql5.6\",\n Parameters = new[]\n {\n new Aws.Rds.Inputs.ParameterGroupParameterArgs\n {\n Name = \"character_set_server\",\n Value = \"utf8\",\n },\n new Aws.Rds.Inputs.ParameterGroupParameterArgs\n {\n Name = \"character_set_client\",\n Value = \"utf8\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := rds.NewParameterGroup(ctx, \"default\", \u0026rds.ParameterGroupArgs{\n\t\t\tName: pulumi.String(\"rds-pg\"),\n\t\t\tFamily: pulumi.String(\"mysql5.6\"),\n\t\t\tParameters: rds.ParameterGroupParameterArray{\n\t\t\t\t\u0026rds.ParameterGroupParameterArgs{\n\t\t\t\t\tName: pulumi.String(\"character_set_server\"),\n\t\t\t\t\tValue: pulumi.String(\"utf8\"),\n\t\t\t\t},\n\t\t\t\t\u0026rds.ParameterGroupParameterArgs{\n\t\t\t\t\tName: pulumi.String(\"character_set_client\"),\n\t\t\t\t\tValue: pulumi.String(\"utf8\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.rds.ParameterGroup;\nimport com.pulumi.aws.rds.ParameterGroupArgs;\nimport com.pulumi.aws.rds.inputs.ParameterGroupParameterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class 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 ParameterGroup(\"default\", ParameterGroupArgs.builder()\n .name(\"rds-pg\")\n .family(\"mysql5.6\")\n .parameters( \n ParameterGroupParameterArgs.builder()\n .name(\"character_set_server\")\n .value(\"utf8\")\n .build(),\n ParameterGroupParameterArgs.builder()\n .name(\"character_set_client\")\n .value(\"utf8\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: aws:rds:ParameterGroup\n properties:\n name: rds-pg\n family: mysql5.6\n parameters:\n - name: character_set_server\n value: utf8\n - name: character_set_client\n value: utf8\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import DB Parameter groups using the `name`. For example:\n\n```sh\n$ pulumi import aws:rds/parameterGroup:ParameterGroup rds_pg rds-pg\n```\n", + "description": "\n\n## Import\n\nUsing `pulumi import`, import DB Parameter groups using the `name`. For example:\n\n```sh\n$ pulumi import aws:rds/parameterGroup:ParameterGroup rds_pg rds-pg\n```\n", "properties": { "arn": { "type": "string", @@ -350564,6 +351041,453 @@ "type": "object" } }, + "aws:s3tables/namespace:Namespace": { + "description": "Resource for managing an Amazon S3 Tables Namespace.\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 exampleTableBucket = new aws.s3tables.TableBucket(\"example\", {name: \"example-bucket\"});\nconst example = new aws.s3tables.Namespace(\"example\", {\n namespace: \"example-namespace\",\n tableBucketArn: exampleTableBucket.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_table_bucket = aws.s3tables.TableBucket(\"example\", name=\"example-bucket\")\nexample = aws.s3tables.Namespace(\"example\",\n namespace=\"example-namespace\",\n table_bucket_arn=example_table_bucket.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 exampleTableBucket = new Aws.S3Tables.TableBucket(\"example\", new()\n {\n Name = \"example-bucket\",\n });\n\n var example = new Aws.S3Tables.Namespace(\"example\", new()\n {\n NameSpace = \"example-namespace\",\n TableBucketArn = exampleTableBucket.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3tables\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleTableBucket, err := s3tables.NewTableBucket(ctx, \"example\", \u0026s3tables.TableBucketArgs{\n\t\t\tName: pulumi.String(\"example-bucket\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3tables.NewNamespace(ctx, \"example\", \u0026s3tables.NamespaceArgs{\n\t\t\tNamespace: pulumi.String(\"example-namespace\"),\n\t\t\tTableBucketArn: exampleTableBucket.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.s3tables.TableBucket;\nimport com.pulumi.aws.s3tables.TableBucketArgs;\nimport com.pulumi.aws.s3tables.Namespace;\nimport com.pulumi.aws.s3tables.NamespaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleTableBucket = new TableBucket(\"exampleTableBucket\", TableBucketArgs.builder()\n .name(\"example-bucket\")\n .build());\n\n var example = new Namespace(\"example\", NamespaceArgs.builder()\n .namespace(\"example-namespace\")\n .tableBucketArn(exampleTableBucket.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3tables:Namespace\n properties:\n namespace: example-namespace\n tableBucketArn: ${exampleTableBucket.arn}\n exampleTableBucket:\n type: aws:s3tables:TableBucket\n name: example\n properties:\n name: example-bucket\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import S3 Tables Namespace using the `table_bucket_arn` and the value of `namespace`, separated by a semicolon (`;`). For example:\n\n```sh\n$ pulumi import aws:s3tables/namespace:Namespace example 'arn:aws:s3tables:us-west-2:123456789012:bucket/example-bucket;example-namespace'\n```\n", + "properties": { + "createdAt": { + "type": "string", + "description": "Date and time when the namespace was created.\n" + }, + "createdBy": { + "type": "string", + "description": "Account ID of the account that created the namespace.\n" + }, + "namespace": { + "type": "string", + "description": "Name of the namespace.\nMust be between 1 and 255 characters in length.\nCan consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number.\n", + "language": { + "csharp": { + "name": "NameSpace" + } + } + }, + "ownerAccountId": { + "type": "string", + "description": "Account ID of the account that owns the namespace.\n" + }, + "tableBucketArn": { + "type": "string", + "description": "ARN referencing the Table Bucket that contains this Namespace.\n" + } + }, + "required": [ + "createdAt", + "createdBy", + "namespace", + "ownerAccountId", + "tableBucketArn" + ], + "inputProperties": { + "namespace": { + "type": "string", + "description": "Name of the namespace.\nMust be between 1 and 255 characters in length.\nCan consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number.\n", + "language": { + "csharp": { + "name": "NameSpace" + } + } + }, + "tableBucketArn": { + "type": "string", + "description": "ARN referencing the Table Bucket that contains this Namespace.\n" + } + }, + "requiredInputs": [ + "namespace", + "tableBucketArn" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering Namespace resources.\n", + "properties": { + "createdAt": { + "type": "string", + "description": "Date and time when the namespace was created.\n" + }, + "createdBy": { + "type": "string", + "description": "Account ID of the account that created the namespace.\n" + }, + "namespace": { + "type": "string", + "description": "Name of the namespace.\nMust be between 1 and 255 characters in length.\nCan consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number.\n", + "language": { + "csharp": { + "name": "NameSpace" + } + } + }, + "ownerAccountId": { + "type": "string", + "description": "Account ID of the account that owns the namespace.\n" + }, + "tableBucketArn": { + "type": "string", + "description": "ARN referencing the Table Bucket that contains this Namespace.\n" + } + }, + "type": "object" + } + }, + "aws:s3tables/table:Table": { + "description": "Resource for managing an Amazon S3 Tables Table.\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 exampleTableBucket = new aws.s3tables.TableBucket(\"example\", {name: \"example-bucket\"});\nconst exampleNamespace = new aws.s3tables.Namespace(\"example\", {\n namespace: \"example-namespace\",\n tableBucketArn: exampleTableBucket.arn,\n});\nconst example = new aws.s3tables.Table(\"example\", {\n name: \"example-table\",\n namespace: exampleNamespace,\n tableBucketArn: exampleNamespace.tableBucketArn,\n format: \"ICEBERG\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_table_bucket = aws.s3tables.TableBucket(\"example\", name=\"example-bucket\")\nexample_namespace = aws.s3tables.Namespace(\"example\",\n namespace=\"example-namespace\",\n table_bucket_arn=example_table_bucket.arn)\nexample = aws.s3tables.Table(\"example\",\n name=\"example-table\",\n namespace=example_namespace,\n table_bucket_arn=example_namespace.table_bucket_arn,\n format=\"ICEBERG\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleTableBucket = new Aws.S3Tables.TableBucket(\"example\", new()\n {\n Name = \"example-bucket\",\n });\n\n var exampleNamespace = new Aws.S3Tables.Namespace(\"example\", new()\n {\n NameSpace = \"example-namespace\",\n TableBucketArn = exampleTableBucket.Arn,\n });\n\n var example = new Aws.S3Tables.Table(\"example\", new()\n {\n Name = \"example-table\",\n Namespace = exampleNamespace,\n TableBucketArn = exampleNamespace.TableBucketArn,\n Format = \"ICEBERG\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3tables\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleTableBucket, err := s3tables.NewTableBucket(ctx, \"example\", \u0026s3tables.TableBucketArgs{\n\t\t\tName: pulumi.String(\"example-bucket\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNamespace, err := s3tables.NewNamespace(ctx, \"example\", \u0026s3tables.NamespaceArgs{\n\t\t\tNamespace: pulumi.String(\"example-namespace\"),\n\t\t\tTableBucketArn: exampleTableBucket.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3tables.NewTable(ctx, \"example\", \u0026s3tables.TableArgs{\n\t\t\tName: pulumi.String(\"example-table\"),\n\t\t\tNamespace: exampleNamespace,\n\t\t\tTableBucketArn: exampleNamespace.TableBucketArn,\n\t\t\tFormat: pulumi.String(\"ICEBERG\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3tables.TableBucket;\nimport com.pulumi.aws.s3tables.TableBucketArgs;\nimport com.pulumi.aws.s3tables.Namespace;\nimport com.pulumi.aws.s3tables.NamespaceArgs;\nimport com.pulumi.aws.s3tables.Table;\nimport com.pulumi.aws.s3tables.TableArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleTableBucket = new TableBucket(\"exampleTableBucket\", TableBucketArgs.builder()\n .name(\"example-bucket\")\n .build());\n\n var exampleNamespace = new Namespace(\"exampleNamespace\", NamespaceArgs.builder()\n .namespace(\"example-namespace\")\n .tableBucketArn(exampleTableBucket.arn())\n .build());\n\n var example = new Table(\"example\", TableArgs.builder()\n .name(\"example-table\")\n .namespace(exampleNamespace)\n .tableBucketArn(exampleNamespace.tableBucketArn())\n .format(\"ICEBERG\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3tables:Table\n properties:\n name: example-table\n namespace: ${exampleNamespace}\n tableBucketArn: ${exampleNamespace.tableBucketArn}\n format: ICEBERG\n exampleNamespace:\n type: aws:s3tables:Namespace\n name: example\n properties:\n namespace: example-namespace\n tableBucketArn: ${exampleTableBucket.arn}\n exampleTableBucket:\n type: aws:s3tables:TableBucket\n name: example\n properties:\n name: example-bucket\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import S3 Tables Table using the `table_bucket_arn`, the value of `namespace`, and the value of `name`, separated by a semicolon (`;`). For example:\n\n```sh\n$ pulumi import aws:s3tables/table:Table example 'arn:aws:s3tables:us-west-2:123456789012:bucket/example-bucket;example-namespace;example-table'\n```\n", + "properties": { + "arn": { + "type": "string", + "description": "ARN of the table.\n" + }, + "createdAt": { + "type": "string", + "description": "Date and time when the namespace was created.\n" + }, + "createdBy": { + "type": "string", + "description": "Account ID of the account that created the namespace.\n" + }, + "format": { + "type": "string", + "description": "Format of the table.\nMust be `ICEBERG`.\n" + }, + "maintenanceConfiguration": { + "$ref": "#/types/aws:s3tables/TableMaintenanceConfiguration:TableMaintenanceConfiguration", + "description": "A single table bucket maintenance configuration block.\nSee `maintenance_configuration` below\n" + }, + "metadataLocation": { + "type": "string", + "description": "Location of table metadata.\n" + }, + "modifiedAt": { + "type": "string", + "description": "Date and time when the namespace was last modified.\n" + }, + "modifiedBy": { + "type": "string", + "description": "Account ID of the account that last modified the namespace.\n" + }, + "name": { + "type": "string", + "description": "Name of the table.\nMust be between 1 and 255 characters in length.\nCan consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number.\n" + }, + "namespace": { + "type": "string", + "description": "Name of the namespace for this table.\nMust be between 1 and 255 characters in length.\nCan consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number.\n" + }, + "ownerAccountId": { + "type": "string", + "description": "Account ID of the account that owns the namespace.\n" + }, + "tableBucketArn": { + "type": "string", + "description": "ARN referencing the Table Bucket that contains this Namespace.\n\nThe following argument is optional:\n" + }, + "type": { + "type": "string", + "description": "Type of the table.\nOne of `customer` or `aws`.\n" + }, + "versionToken": { + "type": "string", + "description": "Identifier for the current version of table data.\n" + }, + "warehouseLocation": { + "type": "string", + "description": "S3 URI pointing to the S3 Bucket that contains the table data.\n" + } + }, + "required": [ + "arn", + "createdAt", + "createdBy", + "format", + "maintenanceConfiguration", + "metadataLocation", + "modifiedAt", + "modifiedBy", + "name", + "namespace", + "ownerAccountId", + "tableBucketArn", + "type", + "versionToken", + "warehouseLocation" + ], + "inputProperties": { + "format": { + "type": "string", + "description": "Format of the table.\nMust be `ICEBERG`.\n" + }, + "maintenanceConfiguration": { + "$ref": "#/types/aws:s3tables/TableMaintenanceConfiguration:TableMaintenanceConfiguration", + "description": "A single table bucket maintenance configuration block.\nSee `maintenance_configuration` below\n" + }, + "name": { + "type": "string", + "description": "Name of the table.\nMust be between 1 and 255 characters in length.\nCan consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number.\n" + }, + "namespace": { + "type": "string", + "description": "Name of the namespace for this table.\nMust be between 1 and 255 characters in length.\nCan consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number.\n" + }, + "tableBucketArn": { + "type": "string", + "description": "ARN referencing the Table Bucket that contains this Namespace.\n\nThe following argument is optional:\n" + } + }, + "requiredInputs": [ + "format", + "namespace", + "tableBucketArn" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering Table resources.\n", + "properties": { + "arn": { + "type": "string", + "description": "ARN of the table.\n" + }, + "createdAt": { + "type": "string", + "description": "Date and time when the namespace was created.\n" + }, + "createdBy": { + "type": "string", + "description": "Account ID of the account that created the namespace.\n" + }, + "format": { + "type": "string", + "description": "Format of the table.\nMust be `ICEBERG`.\n" + }, + "maintenanceConfiguration": { + "$ref": "#/types/aws:s3tables/TableMaintenanceConfiguration:TableMaintenanceConfiguration", + "description": "A single table bucket maintenance configuration block.\nSee `maintenance_configuration` below\n" + }, + "metadataLocation": { + "type": "string", + "description": "Location of table metadata.\n" + }, + "modifiedAt": { + "type": "string", + "description": "Date and time when the namespace was last modified.\n" + }, + "modifiedBy": { + "type": "string", + "description": "Account ID of the account that last modified the namespace.\n" + }, + "name": { + "type": "string", + "description": "Name of the table.\nMust be between 1 and 255 characters in length.\nCan consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number.\n" + }, + "namespace": { + "type": "string", + "description": "Name of the namespace for this table.\nMust be between 1 and 255 characters in length.\nCan consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number.\n" + }, + "ownerAccountId": { + "type": "string", + "description": "Account ID of the account that owns the namespace.\n" + }, + "tableBucketArn": { + "type": "string", + "description": "ARN referencing the Table Bucket that contains this Namespace.\n\nThe following argument is optional:\n" + }, + "type": { + "type": "string", + "description": "Type of the table.\nOne of `customer` or `aws`.\n" + }, + "versionToken": { + "type": "string", + "description": "Identifier for the current version of table data.\n" + }, + "warehouseLocation": { + "type": "string", + "description": "S3 URI pointing to the S3 Bucket that contains the table data.\n" + } + }, + "type": "object" + } + }, + "aws:s3tables/tableBucket:TableBucket": { + "description": "Resource for managing an Amazon S3 Tables Table Bucket.\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.s3tables.TableBucket(\"example\", {name: \"example-bucket\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.s3tables.TableBucket(\"example\", name=\"example-bucket\")\n```\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.S3Tables.TableBucket(\"example\", new()\n {\n Name = \"example-bucket\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3tables\"\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 := s3tables.NewTableBucket(ctx, \"example\", \u0026s3tables.TableBucketArgs{\n\t\t\tName: pulumi.String(\"example-bucket\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3tables.TableBucket;\nimport com.pulumi.aws.s3tables.TableBucketArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class 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 TableBucket(\"example\", TableBucketArgs.builder()\n .name(\"example-bucket\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:s3tables:TableBucket\n properties:\n name: example-bucket\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import S3 Tables Table Bucket using the `arn`. For example:\n\n```sh\n$ pulumi import aws:s3tables/tableBucket:TableBucket example arn:aws:s3tables:us-west-2:123456789012:bucket/example-bucket\n```\n", + "properties": { + "arn": { + "type": "string", + "description": "ARN of the table bucket.\n" + }, + "createdAt": { + "type": "string", + "description": "Date and time when the bucket was created.\n" + }, + "maintenanceConfiguration": { + "$ref": "#/types/aws:s3tables/TableBucketMaintenanceConfiguration:TableBucketMaintenanceConfiguration", + "description": "A single table bucket maintenance configuration block.\nSee `maintenance_configuration` below\n" + }, + "name": { + "type": "string", + "description": "Name of the table bucket.\nMust be between 3 and 63 characters in length.\nCan consist of lowercase letters, numbers, and hyphens, and must begin and end with a lowercase letter or number.\nA full list of bucket naming rules may be found in S3 Tables documentation.\n\nThe following argument is optional:\n" + }, + "ownerAccountId": { + "type": "string", + "description": "Account ID of the account that owns the table bucket.\n" + } + }, + "required": [ + "arn", + "createdAt", + "maintenanceConfiguration", + "name", + "ownerAccountId" + ], + "inputProperties": { + "maintenanceConfiguration": { + "$ref": "#/types/aws:s3tables/TableBucketMaintenanceConfiguration:TableBucketMaintenanceConfiguration", + "description": "A single table bucket maintenance configuration block.\nSee `maintenance_configuration` below\n" + }, + "name": { + "type": "string", + "description": "Name of the table bucket.\nMust be between 3 and 63 characters in length.\nCan consist of lowercase letters, numbers, and hyphens, and must begin and end with a lowercase letter or number.\nA full list of bucket naming rules may be found in S3 Tables documentation.\n\nThe following argument is optional:\n" + } + }, + "stateInputs": { + "description": "Input properties used for looking up and filtering TableBucket resources.\n", + "properties": { + "arn": { + "type": "string", + "description": "ARN of the table bucket.\n" + }, + "createdAt": { + "type": "string", + "description": "Date and time when the bucket was created.\n" + }, + "maintenanceConfiguration": { + "$ref": "#/types/aws:s3tables/TableBucketMaintenanceConfiguration:TableBucketMaintenanceConfiguration", + "description": "A single table bucket maintenance configuration block.\nSee `maintenance_configuration` below\n" + }, + "name": { + "type": "string", + "description": "Name of the table bucket.\nMust be between 3 and 63 characters in length.\nCan consist of lowercase letters, numbers, and hyphens, and must begin and end with a lowercase letter or number.\nA full list of bucket naming rules may be found in S3 Tables documentation.\n\nThe following argument is optional:\n" + }, + "ownerAccountId": { + "type": "string", + "description": "Account ID of the account that owns the table bucket.\n" + } + }, + "type": "object" + } + }, + "aws:s3tables/tableBucketPolicy:TableBucketPolicy": { + "description": "Resource for managing an Amazon S3 Tables Table Bucket Policy.\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.iam.getPolicyDocument({\n statements: [{}],\n});\nconst exampleTableBucketPolicy = new aws.s3tables.TableBucketPolicy(\"example\", {\n resourcePolicy: example.then(example =\u003e example.json),\n tableBucketArn: exampleAwsS3tablesTableBucket.arn,\n});\nconst test = new aws.s3tables.TableBucket(\"test\", {name: \"example-bucket\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.iam.get_policy_document(statements=[{}])\nexample_table_bucket_policy = aws.s3tables.TableBucketPolicy(\"example\",\n resource_policy=example.json,\n table_bucket_arn=example_aws_s3tables_table_bucket[\"arn\"])\ntest = aws.s3tables.TableBucket(\"test\", name=\"example-bucket\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n null,\n },\n });\n\n var exampleTableBucketPolicy = new Aws.S3Tables.TableBucketPolicy(\"example\", new()\n {\n ResourcePolicy = example.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n TableBucketArn = exampleAwsS3tablesTableBucket.Arn,\n });\n\n var test = new Aws.S3Tables.TableBucket(\"test\", new()\n {\n Name = \"example-bucket\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3tables\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3tables.NewTableBucketPolicy(ctx, \"example\", \u0026s3tables.TableBucketPolicyArgs{\n\t\t\tResourcePolicy: pulumi.String(example.Json),\n\t\t\tTableBucketArn: pulumi.Any(exampleAwsS3tablesTableBucket.Arn),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3tables.NewTableBucket(ctx, \"test\", \u0026s3tables.TableBucketArgs{\n\t\t\tName: pulumi.String(\"example-bucket\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.s3tables.TableBucketPolicy;\nimport com.pulumi.aws.s3tables.TableBucketPolicyArgs;\nimport com.pulumi.aws.s3tables.TableBucket;\nimport com.pulumi.aws.s3tables.TableBucketArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements()\n .build());\n\n var exampleTableBucketPolicy = new TableBucketPolicy(\"exampleTableBucketPolicy\", TableBucketPolicyArgs.builder()\n .resourcePolicy(example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .tableBucketArn(exampleAwsS3tablesTableBucket.arn())\n .build());\n\n var test = new TableBucket(\"test\", TableBucketArgs.builder()\n .name(\"example-bucket\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleTableBucketPolicy:\n type: aws:s3tables:TableBucketPolicy\n name: example\n properties:\n resourcePolicy: ${example.json}\n tableBucketArn: ${exampleAwsS3tablesTableBucket.arn}\n test:\n type: aws:s3tables:TableBucket\n properties:\n name: example-bucket\nvariables:\n example:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import S3 Tables Table Bucket Policy using the `table_bucket_arn`. For example:\n\n```sh\n$ pulumi import aws:s3tables/tableBucketPolicy:TableBucketPolicy example 'arn:aws:s3tables:us-west-2:123456789012:bucket/example-bucket;example-namespace'\n```\n", + "properties": { + "resourcePolicy": { + "type": "string", + "description": "Amazon Web Services resource-based policy document in JSON format.\n" + }, + "tableBucketArn": { + "type": "string", + "description": "ARN referencing the Table Bucket that owns this policy.\n" + } + }, + "required": [ + "resourcePolicy", + "tableBucketArn" + ], + "inputProperties": { + "resourcePolicy": { + "type": "string", + "description": "Amazon Web Services resource-based policy document in JSON format.\n" + }, + "tableBucketArn": { + "type": "string", + "description": "ARN referencing the Table Bucket that owns this policy.\n" + } + }, + "requiredInputs": [ + "resourcePolicy", + "tableBucketArn" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering TableBucketPolicy resources.\n", + "properties": { + "resourcePolicy": { + "type": "string", + "description": "Amazon Web Services resource-based policy document in JSON format.\n" + }, + "tableBucketArn": { + "type": "string", + "description": "ARN referencing the Table Bucket that owns this policy.\n" + } + }, + "type": "object" + } + }, + "aws:s3tables/tablePolicy:TablePolicy": { + "description": "Resource for managing an Amazon S3 Tables Table Policy.\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.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.s3tables.TablePolicy;\nimport com.pulumi.aws.s3tables.TablePolicyArgs;\nimport com.pulumi.aws.s3tables.TableBucket;\nimport com.pulumi.aws.s3tables.TableBucketArgs;\nimport com.pulumi.aws.s3tables.Namespace;\nimport com.pulumi.aws.s3tables.NamespaceArgs;\nimport com.pulumi.aws.s3tables.Table;\nimport com.pulumi.aws.s3tables.TableArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements()\n .build());\n\n var exampleTablePolicy = new TablePolicy(\"exampleTablePolicy\", TablePolicyArgs.builder()\n .resourcePolicy(example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .name(test.name())\n .namespace(test.namespace())\n .tableBucketArn(test.tableBucketArn())\n .build());\n\n var exampleTableBucket = new TableBucket(\"exampleTableBucket\", TableBucketArgs.builder()\n .name(\"example-bucket\")\n .build());\n\n var exampleNamespace = new Namespace(\"exampleNamespace\", NamespaceArgs.builder()\n .namespace(\"example-namespace\")\n .tableBucketArn(exampleTableBucket.arn())\n .build());\n\n var exampleTable = new Table(\"exampleTable\", TableArgs.builder()\n .name(\"example-table\")\n .namespace(exampleNamespace)\n .tableBucketArn(exampleNamespace.tableBucketArn())\n .format(\"ICEBERG\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleTablePolicy:\n type: aws:s3tables:TablePolicy\n name: example\n properties:\n resourcePolicy: ${example.json}\n name: ${test.name}\n namespace: ${test.namespace}\n tableBucketArn: ${test.tableBucketArn}\n exampleTable:\n type: aws:s3tables:Table\n name: example\n properties:\n name: example-table\n namespace: ${exampleNamespace}\n tableBucketArn: ${exampleNamespace.tableBucketArn}\n format: ICEBERG\n exampleNamespace:\n type: aws:s3tables:Namespace\n name: example\n properties:\n namespace:\n - example-namespace\n tableBucketArn: ${exampleTableBucket.arn}\n exampleTableBucket:\n type: aws:s3tables:TableBucket\n name: example\n properties:\n name: example-bucket\nvariables:\n example:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import S3 Tables Table Policy using the `table_bucket_arn`, the value of `namespace`, and the value of `name`, separated by a semicolon (`;`). For example:\n\n```sh\n$ pulumi import aws:s3tables/tablePolicy:TablePolicy example 'arn:aws:s3tables:us-west-2:123456789012:bucket/example-bucket;example-namespace;example-table'\n```\n", + "properties": { + "name": { + "type": "string", + "description": "Name of the table.\nMust be between 1 and 255 characters in length.\nCan consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number.\n" + }, + "namespace": { + "type": "string", + "description": "Name of the namespace for this table.\nMust be between 1 and 255 characters in length.\nCan consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number.\n" + }, + "resourcePolicy": { + "type": "string", + "description": "Amazon Web Services resource-based policy document in JSON format.\n" + }, + "tableBucketArn": { + "type": "string", + "description": "ARN referencing the Table Bucket that contains this Namespace.\n" + } + }, + "required": [ + "name", + "namespace", + "resourcePolicy", + "tableBucketArn" + ], + "inputProperties": { + "name": { + "type": "string", + "description": "Name of the table.\nMust be between 1 and 255 characters in length.\nCan consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number.\n" + }, + "namespace": { + "type": "string", + "description": "Name of the namespace for this table.\nMust be between 1 and 255 characters in length.\nCan consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number.\n" + }, + "resourcePolicy": { + "type": "string", + "description": "Amazon Web Services resource-based policy document in JSON format.\n" + }, + "tableBucketArn": { + "type": "string", + "description": "ARN referencing the Table Bucket that contains this Namespace.\n" + } + }, + "requiredInputs": [ + "namespace", + "resourcePolicy", + "tableBucketArn" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering TablePolicy resources.\n", + "properties": { + "name": { + "type": "string", + "description": "Name of the table.\nMust be between 1 and 255 characters in length.\nCan consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number.\n" + }, + "namespace": { + "type": "string", + "description": "Name of the namespace for this table.\nMust be between 1 and 255 characters in length.\nCan consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number.\n" + }, + "resourcePolicy": { + "type": "string", + "description": "Amazon Web Services resource-based policy document in JSON format.\n" + }, + "tableBucketArn": { + "type": "string", + "description": "ARN referencing the Table Bucket that contains this Namespace.\n" + } + }, + "type": "object" + } + }, "aws:sagemaker/app:App": { "description": "Provides a SageMaker App resource.\n\n## Example Usage\n\n### Basic usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.sagemaker.App(\"example\", {\n domainId: exampleAwsSagemakerDomain.id,\n userProfileName: exampleAwsSagemakerUserProfile.userProfileName,\n appName: \"example\",\n appType: \"JupyterServer\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.sagemaker.App(\"example\",\n domain_id=example_aws_sagemaker_domain[\"id\"],\n user_profile_name=example_aws_sagemaker_user_profile[\"userProfileName\"],\n app_name=\"example\",\n app_type=\"JupyterServer\")\n```\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.Sagemaker.App(\"example\", new()\n {\n DomainId = exampleAwsSagemakerDomain.Id,\n UserProfileName = exampleAwsSagemakerUserProfile.UserProfileName,\n AppName = \"example\",\n AppType = \"JupyterServer\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sagemaker\"\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 := sagemaker.NewApp(ctx, \"example\", \u0026sagemaker.AppArgs{\n\t\t\tDomainId: pulumi.Any(exampleAwsSagemakerDomain.Id),\n\t\t\tUserProfileName: pulumi.Any(exampleAwsSagemakerUserProfile.UserProfileName),\n\t\t\tAppName: pulumi.String(\"example\"),\n\t\t\tAppType: pulumi.String(\"JupyterServer\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.sagemaker.App;\nimport com.pulumi.aws.sagemaker.AppArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new App(\"example\", AppArgs.builder()\n .domainId(exampleAwsSagemakerDomain.id())\n .userProfileName(exampleAwsSagemakerUserProfile.userProfileName())\n .appName(\"example\")\n .appType(\"JupyterServer\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:sagemaker:App\n properties:\n domainId: ${exampleAwsSagemakerDomain.id}\n userProfileName: ${exampleAwsSagemakerUserProfile.userProfileName}\n appName: example\n appType: JupyterServer\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SageMaker Apps using the `id`. For example:\n\n```sh\n$ pulumi import aws:sagemaker/app:App example arn:aws:sagemaker:us-west-2:012345678912:app/domain-id/user-profile-name/app-type/app-name\n```\n", "properties": { @@ -356695,7 +357619,7 @@ } }, "aws:securityhub/standardsControlAssociation:StandardsControlAssociation": { - "description": "## 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.securityhub.Account(\"example\", {});\nconst cisAwsFoundationsBenchmark = new aws.securityhub.StandardsSubscription(\"cis_aws_foundations_benchmark\", {standardsArn: \"arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\"}, {\n dependsOn: [example],\n});\nconst cisAwsFoundationsBenchmarkDisableIam1 = new aws.index.StandardsControlAssociation(\"cis_aws_foundations_benchmark_disable_iam_1\", {\n standardsArn: cisAwsFoundationsBenchmark.standardsArn,\n securityControlId: \"IAM.1\",\n associationStatus: \"DISABLED\",\n updatedReason: \"Not needed\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.securityhub.Account(\"example\")\ncis_aws_foundations_benchmark = aws.securityhub.StandardsSubscription(\"cis_aws_foundations_benchmark\", standards_arn=\"arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\",\nopts = pulumi.ResourceOptions(depends_on=[example]))\ncis_aws_foundations_benchmark_disable_iam1 = aws.index.StandardsControlAssociation(\"cis_aws_foundations_benchmark_disable_iam_1\",\n standards_arn=cis_aws_foundations_benchmark.standards_arn,\n security_control_id=IAM.1,\n association_status=DISABLED,\n updated_reason=Not needed)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SecurityHub.Account(\"example\");\n\n var cisAwsFoundationsBenchmark = new Aws.SecurityHub.StandardsSubscription(\"cis_aws_foundations_benchmark\", new()\n {\n StandardsArn = \"arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n },\n });\n\n var cisAwsFoundationsBenchmarkDisableIam1 = new Aws.Index.StandardsControlAssociation(\"cis_aws_foundations_benchmark_disable_iam_1\", new()\n {\n StandardsArn = cisAwsFoundationsBenchmark.StandardsArn,\n SecurityControlId = \"IAM.1\",\n AssociationStatus = \"DISABLED\",\n UpdatedReason = \"Not needed\",\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/securityhub\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := securityhub.NewAccount(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcisAwsFoundationsBenchmark, err := securityhub.NewStandardsSubscription(ctx, \"cis_aws_foundations_benchmark\", \u0026securityhub.StandardsSubscriptionArgs{\n\t\t\tStandardsArn: pulumi.String(\"arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = aws.NewStandardsControlAssociation(ctx, \"cis_aws_foundations_benchmark_disable_iam_1\", \u0026aws.StandardsControlAssociationArgs{\n\t\t\tStandardsArn: cisAwsFoundationsBenchmark.StandardsArn,\n\t\t\tSecurityControlId: \"IAM.1\",\n\t\t\tAssociationStatus: \"DISABLED\",\n\t\t\tUpdatedReason: \"Not needed\",\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.securityhub.Account;\nimport com.pulumi.aws.securityhub.StandardsSubscription;\nimport com.pulumi.aws.securityhub.StandardsSubscriptionArgs;\nimport com.pulumi.aws.standardsControlAssociation;\nimport com.pulumi.aws.StandardsControlAssociationArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Account(\"example\");\n\n var cisAwsFoundationsBenchmark = new StandardsSubscription(\"cisAwsFoundationsBenchmark\", StandardsSubscriptionArgs.builder()\n .standardsArn(\"arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(example)\n .build());\n\n var cisAwsFoundationsBenchmarkDisableIam1 = new StandardsControlAssociation(\"cisAwsFoundationsBenchmarkDisableIam1\", StandardsControlAssociationArgs.builder()\n .standardsArn(cisAwsFoundationsBenchmark.standardsArn())\n .securityControlId(\"IAM.1\")\n .associationStatus(\"DISABLED\")\n .updatedReason(\"Not needed\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:securityhub:Account\n cisAwsFoundationsBenchmark:\n type: aws:securityhub:StandardsSubscription\n name: cis_aws_foundations_benchmark\n properties:\n standardsArn: arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\n options:\n dependson:\n - ${example}\n cisAwsFoundationsBenchmarkDisableIam1:\n type: aws:standardsControlAssociation\n name: cis_aws_foundations_benchmark_disable_iam_1\n properties:\n standardsArn: ${cisAwsFoundationsBenchmark.standardsArn}\n securityControlId: IAM.1\n associationStatus: DISABLED\n updatedReason: Not needed\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n", + "description": "## 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.securityhub.Account(\"example\", {});\nconst cisAwsFoundationsBenchmark = new aws.securityhub.StandardsSubscription(\"cis_aws_foundations_benchmark\", {standardsArn: \"arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\"}, {\n dependsOn: [example],\n});\nconst cisAwsFoundationsBenchmarkDisableIam1 = new aws.securityhub.StandardsControlAssociation(\"cis_aws_foundations_benchmark_disable_iam_1\", {\n standardsArn: cisAwsFoundationsBenchmark.standardsArn,\n securityControlId: \"IAM.1\",\n associationStatus: \"DISABLED\",\n updatedReason: \"Not needed\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.securityhub.Account(\"example\")\ncis_aws_foundations_benchmark = aws.securityhub.StandardsSubscription(\"cis_aws_foundations_benchmark\", standards_arn=\"arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\",\nopts = pulumi.ResourceOptions(depends_on=[example]))\ncis_aws_foundations_benchmark_disable_iam1 = aws.securityhub.StandardsControlAssociation(\"cis_aws_foundations_benchmark_disable_iam_1\",\n standards_arn=cis_aws_foundations_benchmark.standards_arn,\n security_control_id=\"IAM.1\",\n association_status=\"DISABLED\",\n updated_reason=\"Not needed\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.SecurityHub.Account(\"example\");\n\n var cisAwsFoundationsBenchmark = new Aws.SecurityHub.StandardsSubscription(\"cis_aws_foundations_benchmark\", new()\n {\n StandardsArn = \"arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\",\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n example,\n },\n });\n\n var cisAwsFoundationsBenchmarkDisableIam1 = new Aws.SecurityHub.StandardsControlAssociation(\"cis_aws_foundations_benchmark_disable_iam_1\", new()\n {\n StandardsArn = cisAwsFoundationsBenchmark.StandardsArn,\n SecurityControlId = \"IAM.1\",\n AssociationStatus = \"DISABLED\",\n UpdatedReason = \"Not needed\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/securityhub\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := securityhub.NewAccount(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcisAwsFoundationsBenchmark, err := securityhub.NewStandardsSubscription(ctx, \"cis_aws_foundations_benchmark\", \u0026securityhub.StandardsSubscriptionArgs{\n\t\t\tStandardsArn: pulumi.String(\"arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = securityhub.NewStandardsControlAssociation(ctx, \"cis_aws_foundations_benchmark_disable_iam_1\", \u0026securityhub.StandardsControlAssociationArgs{\n\t\t\tStandardsArn: cisAwsFoundationsBenchmark.StandardsArn,\n\t\t\tSecurityControlId: pulumi.String(\"IAM.1\"),\n\t\t\tAssociationStatus: pulumi.String(\"DISABLED\"),\n\t\t\tUpdatedReason: pulumi.String(\"Not needed\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.securityhub.Account;\nimport com.pulumi.aws.securityhub.StandardsSubscription;\nimport com.pulumi.aws.securityhub.StandardsSubscriptionArgs;\nimport com.pulumi.aws.securityhub.StandardsControlAssociation;\nimport com.pulumi.aws.securityhub.StandardsControlAssociationArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Account(\"example\");\n\n var cisAwsFoundationsBenchmark = new StandardsSubscription(\"cisAwsFoundationsBenchmark\", StandardsSubscriptionArgs.builder()\n .standardsArn(\"arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(example)\n .build());\n\n var cisAwsFoundationsBenchmarkDisableIam1 = new StandardsControlAssociation(\"cisAwsFoundationsBenchmarkDisableIam1\", StandardsControlAssociationArgs.builder()\n .standardsArn(cisAwsFoundationsBenchmark.standardsArn())\n .securityControlId(\"IAM.1\")\n .associationStatus(\"DISABLED\")\n .updatedReason(\"Not needed\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:securityhub:Account\n cisAwsFoundationsBenchmark:\n type: aws:securityhub:StandardsSubscription\n name: cis_aws_foundations_benchmark\n properties:\n standardsArn: arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\n options:\n dependson:\n - ${example}\n cisAwsFoundationsBenchmarkDisableIam1:\n type: aws:securityhub:StandardsControlAssociation\n name: cis_aws_foundations_benchmark_disable_iam_1\n properties:\n standardsArn: ${cisAwsFoundationsBenchmark.standardsArn}\n securityControlId: IAM.1\n associationStatus: DISABLED\n updatedReason: Not needed\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n", "properties": { "associationStatus": { "type": "string", diff --git a/provider/go.mod b/provider/go.mod index c6b1d4d441f..ad6e4eabb9d 100644 --- a/provider/go.mod +++ b/provider/go.mod @@ -14,7 +14,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/appconfig v1.36.1 github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2 v1.43.1 github.com/aws/aws-sdk-go-v2/service/resourcegroupstaggingapi v1.25.7 - github.com/aws/aws-sdk-go-v2/service/s3 v1.70.0 + github.com/aws/aws-sdk-go-v2/service/s3 v1.71.0 github.com/hashicorp/aws-sdk-go-base/v2 v2.0.0-beta.59 github.com/hashicorp/terraform-plugin-sdk/v2 v2.35.0 github.com/hashicorp/terraform-provider-aws v1.60.1-0.20220923175450-ca71523cdc36 @@ -73,7 +73,7 @@ require ( github.com/aws/aws-sdk-go v1.55.5 // indirect github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.7 // indirect github.com/aws/aws-sdk-go-v2/credentials v1.17.47 // indirect - github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.17.42 // indirect + github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.17.43 // indirect github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.25 // indirect github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.25 // indirect github.com/aws/aws-sdk-go-v2/internal/ini v1.8.1 // indirect @@ -96,15 +96,15 @@ require ( github.com/aws/aws-sdk-go-v2/service/apprunner v1.32.7 // indirect github.com/aws/aws-sdk-go-v2/service/appstream v1.41.7 // indirect github.com/aws/aws-sdk-go-v2/service/appsync v1.40.1 // indirect - github.com/aws/aws-sdk-go-v2/service/athena v1.48.5 // indirect + github.com/aws/aws-sdk-go-v2/service/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 github.com/aws/aws-sdk-go-v2/service/autoscalingplans v1.24.7 // indirect github.com/aws/aws-sdk-go-v2/service/backup v1.39.8 // indirect github.com/aws/aws-sdk-go-v2/service/batch v1.48.2 // indirect github.com/aws/aws-sdk-go-v2/service/bcmdataexports v1.7.7 // indirect - github.com/aws/aws-sdk-go-v2/service/bedrock v1.23.0 // indirect - github.com/aws/aws-sdk-go-v2/service/bedrockagent v1.30.0 // indirect + github.com/aws/aws-sdk-go-v2/service/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/chatbot v1.9.1 // indirect github.com/aws/aws-sdk-go-v2/service/chime v1.34.7 // indirect @@ -119,7 +119,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/cloudhsmv2 v1.27.8 // indirect github.com/aws/aws-sdk-go-v2/service/cloudsearch v1.26.6 // indirect github.com/aws/aws-sdk-go-v2/service/cloudtrail v1.46.2 // indirect - github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.43.2 // indirect + github.com/aws/aws-sdk-go-v2/service/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 github.com/aws/aws-sdk-go-v2/service/codebuild v1.49.2 // indirect @@ -149,7 +149,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/dataexchange v1.33.5 // indirect github.com/aws/aws-sdk-go-v2/service/datapipeline v1.25.7 // indirect github.com/aws/aws-sdk-go-v2/service/datasync v1.43.5 // indirect - github.com/aws/aws-sdk-go-v2/service/datazone v1.24.1 // indirect + github.com/aws/aws-sdk-go-v2/service/datazone v1.25.0 // indirect github.com/aws/aws-sdk-go-v2/service/dax v1.23.7 // indirect github.com/aws/aws-sdk-go-v2/service/detective v1.31.7 // indirect github.com/aws/aws-sdk-go-v2/service/devicefarm v1.28.7 // indirect @@ -160,7 +160,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/docdb v1.39.6 // indirect github.com/aws/aws-sdk-go-v2/service/docdbelastic v1.14.4 // indirect github.com/aws/aws-sdk-go-v2/service/drs v1.30.7 // indirect - github.com/aws/aws-sdk-go-v2/service/dynamodb v1.37.2 // indirect + github.com/aws/aws-sdk-go-v2/service/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/ecr v1.36.7 // indirect github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.27.7 // indirect @@ -168,7 +168,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/efs v1.34.1 // indirect github.com/aws/aws-sdk-go-v2/service/eks v1.53.0 // indirect github.com/aws/aws-sdk-go-v2/service/elasticache v1.44.1 // indirect - github.com/aws/aws-sdk-go-v2/service/elasticbeanstalk v1.28.6 // indirect + github.com/aws/aws-sdk-go-v2/service/elasticbeanstalk v1.28.7 // indirect github.com/aws/aws-sdk-go-v2/service/elasticloadbalancing v1.28.6 // indirect github.com/aws/aws-sdk-go-v2/service/elasticsearchservice v1.32.7 // indirect github.com/aws/aws-sdk-go-v2/service/elastictranscoder v1.27.7 // indirect @@ -185,7 +185,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/gamelift v1.37.2 // indirect github.com/aws/aws-sdk-go-v2/service/glacier v1.26.7 // indirect github.com/aws/aws-sdk-go-v2/service/globalaccelerator v1.29.7 // indirect - github.com/aws/aws-sdk-go-v2/service/glue v1.102.1 // indirect + github.com/aws/aws-sdk-go-v2/service/glue v1.103.0 // indirect github.com/aws/aws-sdk-go-v2/service/grafana v1.26.7 // indirect github.com/aws/aws-sdk-go-v2/service/greengrass v1.27.7 // indirect github.com/aws/aws-sdk-go-v2/service/groundstation v1.31.7 // indirect @@ -216,7 +216,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/kinesisanalyticsv2 v1.31.8 // indirect github.com/aws/aws-sdk-go-v2/service/kinesisvideo v1.27.7 // indirect github.com/aws/aws-sdk-go-v2/service/kms v1.37.7 // indirect - github.com/aws/aws-sdk-go-v2/service/lakeformation v1.38.4 // indirect + github.com/aws/aws-sdk-go-v2/service/lakeformation v1.39.0 // indirect github.com/aws/aws-sdk-go-v2/service/lambda v1.69.1 // indirect github.com/aws/aws-sdk-go-v2/service/launchwizard v1.8.7 // indirect github.com/aws/aws-sdk-go-v2/service/lexmodelbuildingservice v1.28.7 // indirect @@ -256,15 +256,15 @@ 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.17.0 // indirect + github.com/aws/aws-sdk-go-v2/service/qbusiness v1.18.0 // indirect github.com/aws/aws-sdk-go-v2/service/qldb v1.25.7 // indirect - github.com/aws/aws-sdk-go-v2/service/quicksight v1.80.1 // indirect + github.com/aws/aws-sdk-go-v2/service/quicksight v1.81.0 // indirect github.com/aws/aws-sdk-go-v2/service/ram v1.29.7 // indirect github.com/aws/aws-sdk-go-v2/service/rbin v1.21.1 // indirect github.com/aws/aws-sdk-go-v2/service/rds v1.92.0 // indirect - github.com/aws/aws-sdk-go-v2/service/redshift v1.52.2 // indirect + github.com/aws/aws-sdk-go-v2/service/redshift v1.53.0 // indirect github.com/aws/aws-sdk-go-v2/service/redshiftdata v1.31.4 // indirect - github.com/aws/aws-sdk-go-v2/service/redshiftserverless v1.24.4 // indirect + github.com/aws/aws-sdk-go-v2/service/redshiftserverless v1.25.0 // indirect github.com/aws/aws-sdk-go-v2/service/rekognition v1.45.8 // indirect github.com/aws/aws-sdk-go-v2/service/resiliencehub v1.28.1 // indirect github.com/aws/aws-sdk-go-v2/service/resourceexplorer2 v1.16.2 // indirect @@ -277,8 +277,9 @@ require ( github.com/aws/aws-sdk-go-v2/service/route53recoveryreadiness v1.21.7 // indirect github.com/aws/aws-sdk-go-v2/service/route53resolver v1.34.2 // indirect github.com/aws/aws-sdk-go-v2/service/rum v1.21.7 // indirect - github.com/aws/aws-sdk-go-v2/service/s3control v1.51.0 // indirect + github.com/aws/aws-sdk-go-v2/service/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/scheduler v1.12.7 // indirect github.com/aws/aws-sdk-go-v2/service/schemas v1.28.8 // indirect diff --git a/provider/go.sum b/provider/go.sum index 5590e3200ba..1b4832e80fd 100644 --- a/provider/go.sum +++ b/provider/go.sum @@ -1246,8 +1246,8 @@ github.com/aws/aws-sdk-go-v2/credentials v1.17.47 h1:48bA+3/fCdi2yAwVt+3COvmatZ6 github.com/aws/aws-sdk-go-v2/credentials v1.17.47/go.mod h1:+KdckOejLW3Ks3b0E3b5rHsr2f9yuORBum0WPnE5o5w= github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.21 h1:AmoU1pziydclFT/xRV+xXE/Vb8fttJCLRPv8oAkprc0= github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.21/go.mod h1:AjUdLYe4Tgs6kpH4Bv7uMZo7pottoyHMn4eTcIcneaY= -github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.17.42 h1:vEnk9vtjJ62OO2wOhEmgKMZgNcn1w0aF7XCiNXO5rK0= -github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.17.42/go.mod h1:GUOPbPJWRZsdt1OJ355upCrry4d3ZFgdX6rhT7gtkto= +github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.17.43 h1:iLdpkYZ4cXIQMO7ud+cqMWR1xK5ESbt1rvN77tRi1BY= +github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.17.43/go.mod h1:OgbsKPAswXDd5kxnR4vZov69p3oYjbvUyIRBAAV0y9o= github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.25 h1:s/fF4+yDQDoElYhfIVvSNyeCydfbuTKzhxSXDXCPasU= github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.25/go.mod h1:IgPfDv5jqFIzQSNbUEMoitNooSMXjRSDkhXv8jiROvU= github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.25 h1:ZntTCl5EsYnhN/IygQEUugpdwbhdkom9uHcbCftiGgA= @@ -1294,8 +1294,8 @@ github.com/aws/aws-sdk-go-v2/service/appstream v1.41.7 h1:9KTwRIeh67p4JjOtkAiUQ6 github.com/aws/aws-sdk-go-v2/service/appstream v1.41.7/go.mod h1:YC50kSYeBhmjzeJKNf4CB85KN9Gdy+RKhtt4MvMx4ro= github.com/aws/aws-sdk-go-v2/service/appsync v1.40.1 h1:+fJ03y/PaSNBw6ZrJZFnyix+hTOagn1/+iRLQbW/Crg= github.com/aws/aws-sdk-go-v2/service/appsync v1.40.1/go.mod h1:YN/LhOApnQGAgb4AljjHkcpl+OmaLrkD6cGPL1dkajI= -github.com/aws/aws-sdk-go-v2/service/athena v1.48.5 h1:nfeCwaDRq4tXZUoBENWNydZQ7YeP3lPuWnAMCJSYcuE= -github.com/aws/aws-sdk-go-v2/service/athena v1.48.5/go.mod h1:27ljwDsnZvfrZKsLzWD4WFjI4OZutEFIjvVtYfj9gHc= +github.com/aws/aws-sdk-go-v2/service/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= github.com/aws/aws-sdk-go-v2/service/auditmanager v1.37.7/go.mod h1:UZOdtpOTwIj4yHbPVNxfayWIlQp4c3Xht/7sDaFzZs0= github.com/aws/aws-sdk-go-v2/service/autoscaling v1.51.1 h1:XFZsqNpwwi/D8nFI/tdUQn1QW1BTVcuQH382RNUXojE= @@ -1308,10 +1308,10 @@ 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.23.0 h1:/fvYAZjlXlKTC88cFjZeHLjW+bTV69aK23VbGZQGjbU= -github.com/aws/aws-sdk-go-v2/service/bedrock v1.23.0/go.mod h1:BKSewSMuaeUidKqXArDlT06PWK/PP3wsgLWTXKeKgQw= -github.com/aws/aws-sdk-go-v2/service/bedrockagent v1.30.0 h1:NnApuV9cjAjJMtUmTzp6gPDvzAqUdEVljpW1W5u+6Vo= -github.com/aws/aws-sdk-go-v2/service/bedrockagent v1.30.0/go.mod h1:d+BIleA83BNMLQbwc1gYB/Kgrogwl4lzn2RN+XPIC0s= +github.com/aws/aws-sdk-go-v2/service/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/chatbot v1.9.1 h1:g+Xnw4sHm/T5xDTlNvPBeM6gAAQSzj7EwOI0vBXscSE= @@ -1340,8 +1340,8 @@ github.com/aws/aws-sdk-go-v2/service/cloudsearch v1.26.6 h1:m1CAIBZzVi05OAocQs7S github.com/aws/aws-sdk-go-v2/service/cloudsearch v1.26.6/go.mod h1:4ogUNAMmF9rtIYGYnFm21WXc/8+lcAuoNYUkS534MfI= github.com/aws/aws-sdk-go-v2/service/cloudtrail v1.46.2 h1:DrN2vg75JseLCepYjMVav43e+v7+AhArtWlm2F0OJ6Y= github.com/aws/aws-sdk-go-v2/service/cloudtrail v1.46.2/go.mod h1:WcTfALKgqv+VCMRCLtG4155sAwcfdYhFADc/yDJgSlc= -github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.43.2 h1:+M/uY6CU2TjCyi9u8ZcowyguWvpifU7C4eQowdZeXBU= -github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.43.2/go.mod h1:URs8sqsyaxiAZkKP6tOEmhcs9j2ynFIomqOKY/CAHJc= +github.com/aws/aws-sdk-go-v2/service/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= github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.45.0/go.mod h1:LZafBHU62ByizrdhNLMnzWGsUX+abAW4q35PN+FOj+A= github.com/aws/aws-sdk-go-v2/service/codeartifact v1.33.7 h1:5us9BU1TnHeSqgQEiQCH9qpDbwGEtYAz6fhSL0jiAyA= @@ -1400,8 +1400,8 @@ github.com/aws/aws-sdk-go-v2/service/datapipeline v1.25.7 h1:b2xXuJ5Yh5RuyOzs3vd github.com/aws/aws-sdk-go-v2/service/datapipeline v1.25.7/go.mod h1:IH2WIe0ol0aDtM5a/+nP6UYRwrDXi/gwF+DA0nJK+i8= github.com/aws/aws-sdk-go-v2/service/datasync v1.43.5 h1:4tdw3XO+pUwsjE6j2a4kWxZt80NtRxhOl9OnDtPS1fY= github.com/aws/aws-sdk-go-v2/service/datasync v1.43.5/go.mod h1:ty1/xBfWRiv/C+e/cbTLkM4UGMfkOavUgp3daLZ2QKc= -github.com/aws/aws-sdk-go-v2/service/datazone v1.24.1 h1:/7+bznm0eo+AtBUZZY6cNzrmmto3Mv57Cg8BZeJDBXI= -github.com/aws/aws-sdk-go-v2/service/datazone v1.24.1/go.mod h1:2MCAq6PXnLOI6NVaUES50GGvOl1pa5l6N2XmRAVWWWw= +github.com/aws/aws-sdk-go-v2/service/datazone v1.25.0 h1:L1IGMQ1T1eZtJLDA4n0SgTYFaHeJ7OJYqy00+JrEGoY= +github.com/aws/aws-sdk-go-v2/service/datazone v1.25.0/go.mod h1:2MCAq6PXnLOI6NVaUES50GGvOl1pa5l6N2XmRAVWWWw= github.com/aws/aws-sdk-go-v2/service/dax v1.23.7 h1:hZg1sHhWXGZShzHGpwcaOT8HZfx26kkbRDNZgZda4xI= github.com/aws/aws-sdk-go-v2/service/dax v1.23.7/go.mod h1:fYBjETTq8hZfirBEgXM1xIMy+tvCGYZTeWpjeKKp0bU= github.com/aws/aws-sdk-go-v2/service/detective v1.31.7 h1:Pw3K9Leqg7SfEoPZek374z1pTJXSKbbS+zbGolMCsWI= @@ -1422,8 +1422,8 @@ github.com/aws/aws-sdk-go-v2/service/docdbelastic v1.14.4 h1:pT1NLJ04YA/05ZEbYBN github.com/aws/aws-sdk-go-v2/service/docdbelastic v1.14.4/go.mod h1:ZupWmXwSQwiyktsk0/7C71pCkTn7dLgOw47TmpvtU1Q= github.com/aws/aws-sdk-go-v2/service/drs v1.30.7 h1:0jUZJqidFnPF9LlSSsYD9yQcbIYLyNKjGa+gFPh9UlA= github.com/aws/aws-sdk-go-v2/service/drs v1.30.7/go.mod h1:myL1h4VGyN3HU1B/7WBs2MsjKYX3FugwPJ09muIM8tE= -github.com/aws/aws-sdk-go-v2/service/dynamodb v1.37.2 h1:dTzxoKbznBEm2xscSQc4DXQ447j/IZRTCwhJxiDN3mg= -github.com/aws/aws-sdk-go-v2/service/dynamodb v1.37.2/go.mod h1:xDvUyIkwBwNtVZJdHEwAuhFly3mezwdEWkbJ5oNYwIw= +github.com/aws/aws-sdk-go-v2/service/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/ecr v1.36.7 h1:R+5XKIJga2K9Dkj0/iQ6fD/MBGo02oxGGFTc512lK/Q= @@ -1438,8 +1438,8 @@ github.com/aws/aws-sdk-go-v2/service/eks v1.53.0 h1:ACTxnLwL6YNmuYbxtp/VR3HGL9SW github.com/aws/aws-sdk-go-v2/service/eks v1.53.0/go.mod h1:ZzOjZXGGUQxOq+T3xmfPLKCZe4OaB5vm1LdGaC8IPn4= github.com/aws/aws-sdk-go-v2/service/elasticache v1.44.1 h1:Dch9DIcyrHf6OTEhgzz7wIFKrHZAWfcZ1BCAlZtwpYo= github.com/aws/aws-sdk-go-v2/service/elasticache v1.44.1/go.mod h1:gzplo968xB24VkeHC4wKfDbSERguKL2xKPL1Csd/mH4= -github.com/aws/aws-sdk-go-v2/service/elasticbeanstalk v1.28.6 h1:QMEpOzwWVIfi6V1vWA4ONGZictI9Ch/ZNiveQTgYq2M= -github.com/aws/aws-sdk-go-v2/service/elasticbeanstalk v1.28.6/go.mod h1:U47A7lAuy5QYMD7lnRHA8WJCzV/W0POLZrUfjZ7HLro= +github.com/aws/aws-sdk-go-v2/service/elasticbeanstalk v1.28.7 h1:ieY1UqWTqjb83Rx1KiUO2pxFRdebobkKxHKDXIlIMhM= +github.com/aws/aws-sdk-go-v2/service/elasticbeanstalk v1.28.7/go.mod h1:U47A7lAuy5QYMD7lnRHA8WJCzV/W0POLZrUfjZ7HLro= github.com/aws/aws-sdk-go-v2/service/elasticloadbalancing v1.28.6 h1:uQFPQNvc9hIaF7SyHQyg2vRtTcWONaa1LUUy+8LEzT8= github.com/aws/aws-sdk-go-v2/service/elasticloadbalancing v1.28.6/go.mod h1:KkaWcwL6GJtS/TNn1+fVJPAR+6G7Bs7kEm8E3MlgbhQ= github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2 v1.43.1 h1:L9Wt9zgtoYKIlaeFTy+EztGjL4oaXBBGtVXA+jaeYko= @@ -1474,8 +1474,8 @@ github.com/aws/aws-sdk-go-v2/service/glacier v1.26.7 h1:YTg3h8OBu4x3UCsu9vKz9VHq github.com/aws/aws-sdk-go-v2/service/glacier v1.26.7/go.mod h1:w/cFjxbAVqNeAMQf31PI9KopvcFYoXdv0oG2Y9wU0uA= github.com/aws/aws-sdk-go-v2/service/globalaccelerator v1.29.7 h1:TB66P1ES3DvjeR7YNTfO4/4ncB2MiFx0jzazbPisWkw= github.com/aws/aws-sdk-go-v2/service/globalaccelerator v1.29.7/go.mod h1:geddg2iWFvxpfa7SIoJztvcdP/Prm1xk9W4+IUhGs7Y= -github.com/aws/aws-sdk-go-v2/service/glue v1.102.1 h1:E8/vYD7uGzp9mwKErJdQBH77FqEtt/BK35hM7UP3PLM= -github.com/aws/aws-sdk-go-v2/service/glue v1.102.1/go.mod h1:ajiRue7mZ0vQjVHQkQG2KBaPHW8lL5GtvmjRTHWDaqk= +github.com/aws/aws-sdk-go-v2/service/glue v1.103.0 h1:aWkaWcO6AWKOZgnm45es3lL+jZ9tece2kfQ2Na4xoQs= +github.com/aws/aws-sdk-go-v2/service/glue v1.103.0/go.mod h1:ajiRue7mZ0vQjVHQkQG2KBaPHW8lL5GtvmjRTHWDaqk= github.com/aws/aws-sdk-go-v2/service/grafana v1.26.7 h1:LVJA+YR5tHGo95E8P5W1GFnqrQIiOOagnYCGLExvVr0= github.com/aws/aws-sdk-go-v2/service/grafana v1.26.7/go.mod h1:oEez2RtKrs3oJ6EgbLV0aBC5YJ/bPcMbkGNtsrW1L3Q= github.com/aws/aws-sdk-go-v2/service/greengrass v1.27.7 h1:ZYq/OyCCRtS55xvC73U7klRHzWlV4AG0XvG8/jbBH1E= @@ -1536,8 +1536,8 @@ github.com/aws/aws-sdk-go-v2/service/kinesisvideo v1.27.7 h1:u312E9WSNS3aL0fMkD3 github.com/aws/aws-sdk-go-v2/service/kinesisvideo v1.27.7/go.mod h1:pdoRfafdWneitPJSDJEIUH3npcWNF0a9ReMblcQC+hA= github.com/aws/aws-sdk-go-v2/service/kms v1.37.7 h1:dZmNIRtPUvtvUIIDVNpvtnJQ8N8Iqm7SQAxf18htZYw= github.com/aws/aws-sdk-go-v2/service/kms v1.37.7/go.mod h1:vj8PlfJH9mnGeIzd6uMLPi5VgiqzGG7AZoe1kf1uTXM= -github.com/aws/aws-sdk-go-v2/service/lakeformation v1.38.4 h1:H4/iEpKAywuFxE/lTe2TygdLrUs6bsdaxBB4Ry76Mjo= -github.com/aws/aws-sdk-go-v2/service/lakeformation v1.38.4/go.mod h1:TrZ6XeQ86aBjOsy+ae7RKlYWh3TQ53QQcA6YhtFadYk= +github.com/aws/aws-sdk-go-v2/service/lakeformation v1.39.0 h1:1tONU+X0IWsiNJIXZGCHQC25GVGbuTcH2EufcOH4gJA= +github.com/aws/aws-sdk-go-v2/service/lakeformation v1.39.0/go.mod h1:TrZ6XeQ86aBjOsy+ae7RKlYWh3TQ53QQcA6YhtFadYk= github.com/aws/aws-sdk-go-v2/service/lambda v1.69.1 h1:q1NrvoJiz0rm9ayKOJ9wsMGmStK6rZSY36BDICMrcuY= github.com/aws/aws-sdk-go-v2/service/lambda v1.69.1/go.mod h1:hDj7He9kbR9T5zugnS+T21l4z6do4SEGuno/BpJLpA0= github.com/aws/aws-sdk-go-v2/service/launchwizard v1.8.7 h1:nMYxTZs0WjVLEyTEqRtD6WR83nMqF65uPHSv43SrFDQ= @@ -1616,24 +1616,24 @@ 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.17.0 h1:pAtj3eD8KO5dW1D6Q0q0cVyIJ2GQI+/KqD5BCYQZFVE= -github.com/aws/aws-sdk-go-v2/service/qbusiness v1.17.0/go.mod h1:cmW8VmRWKpSEhqy70H3+QCFfHcTguZMZphBIdqcWsIo= +github.com/aws/aws-sdk-go-v2/service/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/qldb v1.25.7 h1:TWJzwB7S/SBBVitz/0HtdB7pqyf1iv9OUCQ6qeYob5Q= github.com/aws/aws-sdk-go-v2/service/qldb v1.25.7/go.mod h1:8AyevnOHnUsSNTlqH723oxU2hGgIdhVsUjtDS6JIi8w= -github.com/aws/aws-sdk-go-v2/service/quicksight v1.80.1 h1:K0Jp2QnU6w76zFUUHf8ssh7k8wPVVG9JjINXehGm9dY= -github.com/aws/aws-sdk-go-v2/service/quicksight v1.80.1/go.mod h1:GE3TPXNfQ2OETAUjwhnFl3CYWqzF9SPB1sJjeUSOkJA= +github.com/aws/aws-sdk-go-v2/service/quicksight v1.81.0 h1:U/ktIgrHh0l1Azkhl8sNxNvknhz1Ql6PtEgluc9R8GU= +github.com/aws/aws-sdk-go-v2/service/quicksight v1.81.0/go.mod h1:GE3TPXNfQ2OETAUjwhnFl3CYWqzF9SPB1sJjeUSOkJA= github.com/aws/aws-sdk-go-v2/service/ram v1.29.7 h1:c6XYrBzh3J8J5Vaxcj4fbfuzDtKv7Blg/bYmd12PG44= github.com/aws/aws-sdk-go-v2/service/ram v1.29.7/go.mod h1:Znaic26hqqKZ3mmG+UA8aLdnWrOYmkdHUd5KoT/DzGY= github.com/aws/aws-sdk-go-v2/service/rbin v1.21.1 h1:4w3T6RGy/jrGrup/o9WwtVXEWbwbL/up/+dPaGR5IfU= github.com/aws/aws-sdk-go-v2/service/rbin v1.21.1/go.mod h1:R1qdIYNn+b3mrEkq9r7jM7FVpgGDeOkeYVr3Poc+95g= github.com/aws/aws-sdk-go-v2/service/rds v1.92.0 h1:W0gUYAjO24u/M6tpR041wMHJWGzleOhxtCnNLImdrZs= github.com/aws/aws-sdk-go-v2/service/rds v1.92.0/go.mod h1:ADD2uROOoEIXjbjDPEvDDZWnGmfKFYMddgKwG5RlBGw= -github.com/aws/aws-sdk-go-v2/service/redshift v1.52.2 h1:mUObSWeMlDwNEZEJAC/72AtnEwfjZqwTCli+up5Yj9A= -github.com/aws/aws-sdk-go-v2/service/redshift v1.52.2/go.mod h1:UydVhUJOB/DaCJWiaBkPlvuzvWVcUlgbS2Bxn33bcKI= +github.com/aws/aws-sdk-go-v2/service/redshift v1.53.0 h1:4/hmROBioc89sKlMVjHgOaH92zAkrAAMZR3BIvYwyD0= +github.com/aws/aws-sdk-go-v2/service/redshift v1.53.0/go.mod h1:UydVhUJOB/DaCJWiaBkPlvuzvWVcUlgbS2Bxn33bcKI= github.com/aws/aws-sdk-go-v2/service/redshiftdata v1.31.4 h1:A0vlEMhhjNwiDuSeyqCV5E+nKi71xB7JEZ3zmSk9C2o= github.com/aws/aws-sdk-go-v2/service/redshiftdata v1.31.4/go.mod h1:D22t6rKMIQkle+JZOeXSyPbhluGCmp64qfBYnJciyNo= -github.com/aws/aws-sdk-go-v2/service/redshiftserverless v1.24.4 h1:41IjzWVSWq0V5Dc/aZKINc4J4WMdf5zjCYi7hM+JI/Y= -github.com/aws/aws-sdk-go-v2/service/redshiftserverless v1.24.4/go.mod h1:HR4+m/4+W7RiaFMme0p6Y5dV7bDKhAIn8UiiZfWJVXg= +github.com/aws/aws-sdk-go-v2/service/redshiftserverless v1.25.0 h1:g72Z/eRmA5dK2v6LCw5hwPpCLI36bbgyIQkUS4KlCPM= +github.com/aws/aws-sdk-go-v2/service/redshiftserverless v1.25.0/go.mod h1:HR4+m/4+W7RiaFMme0p6Y5dV7bDKhAIn8UiiZfWJVXg= github.com/aws/aws-sdk-go-v2/service/rekognition v1.45.8 h1:K21+kYo7APUzqhc6pvCxHWAGxdyaxJqnEfBSySbFlGM= github.com/aws/aws-sdk-go-v2/service/rekognition v1.45.8/go.mod h1:LIrvj+qa6+K+FfiOFv/DXgmBxDU/LCZebFYulAITgps= github.com/aws/aws-sdk-go-v2/service/resiliencehub v1.28.1 h1:NBrNat0V6a0IlxwURP/kixLzvW7sSYy4/PAqe/OwB5Q= @@ -1660,12 +1660,14 @@ github.com/aws/aws-sdk-go-v2/service/route53resolver v1.34.2 h1:9YaCGPw0s0qmxlyP github.com/aws/aws-sdk-go-v2/service/route53resolver v1.34.2/go.mod h1:m0CMmlFRzCrscSzjkH7GOPstcuKhgJCgK2153O2bP1I= github.com/aws/aws-sdk-go-v2/service/rum v1.21.7 h1:AEl97eESj/H7fjtDH1dNyUCXHH2Dj16o2JYXLePaRH0= github.com/aws/aws-sdk-go-v2/service/rum v1.21.7/go.mod h1:D54Xit4pURxcusZV7N1/J9U+/1LSTA2wmrAb2zAJhdA= -github.com/aws/aws-sdk-go-v2/service/s3 v1.70.0 h1:HrHFR8RoS4l4EvodRMFcJMYQ8o3UhmALn2nbInXaxZA= -github.com/aws/aws-sdk-go-v2/service/s3 v1.70.0/go.mod h1:sT/iQz8JK3u/5gZkT+Hmr7GzVZehUMkRZpOaAwYXeGY= -github.com/aws/aws-sdk-go-v2/service/s3control v1.51.0 h1:1Kpbjv27QmQHXZ2wv7Tuikz3syVONMghb9CvfTEWNoQ= -github.com/aws/aws-sdk-go-v2/service/s3control v1.51.0/go.mod h1:sAOVMYapLSs3nCfdQo63qfVkKHlu97oqHDPrRbqayNg= +github.com/aws/aws-sdk-go-v2/service/s3 v1.71.0 h1:nyuzXooUNJexRT0Oy0UQY6AhOzxPxhtt4DcBIHyCnmw= +github.com/aws/aws-sdk-go-v2/service/s3 v1.71.0/go.mod h1:sT/iQz8JK3u/5gZkT+Hmr7GzVZehUMkRZpOaAwYXeGY= +github.com/aws/aws-sdk-go-v2/service/s3control v1.52.0 h1:tH6HJdKj1O5N8Uti8D2X20JYoDe9ZdC827iY92U+Ooo= +github.com/aws/aws-sdk-go-v2/service/s3control v1.52.0/go.mod h1:sAOVMYapLSs3nCfdQo63qfVkKHlu97oqHDPrRbqayNg= github.com/aws/aws-sdk-go-v2/service/s3outposts v1.28.7 h1:yUuN4xIlI/2bUqniq5OdIw13FIGtUdPhzU4dzl2v6fM= github.com/aws/aws-sdk-go-v2/service/s3outposts v1.28.7/go.mod h1:yCIumXPHLHsjmrD8P9UvXFVT0R9R+Wlqut71bW5+ZY4= +github.com/aws/aws-sdk-go-v2/service/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/scheduler v1.12.7 h1:lRA+BvESWVoldCxaw3SG9UssITkVref8rlVy5xCsh0A= diff --git a/provider/resources.go b/provider/resources.go index e8d59de09a8..b70a38e6f6c 100644 --- a/provider/resources.go +++ b/provider/resources.go @@ -96,6 +96,7 @@ const ( codebuildMod = "CodeBuild" // Code Build codecatalystMod = "CodeCatalyst" // Code Catalyst codecommitMod = "CodeCommit" // Code Commit + codeconnectionsMod = "CodeConnections" // Code Connections codedeployMod = "CodeDeploy" // Code Deploy codeguruReviewerMod = "CodeGuruReviewer" // CodeGuru Reviewer codepipelineMod = "CodePipeline" // Code Pipeline @@ -228,6 +229,7 @@ const ( s3Mod = "S3" // Simple Storage (S3) s3ControlMod = "S3Control" // S3 Control s3OutpostsMod = "S3Outposts" // S3 Outposts + s3TablesMod = "S3Tables" // S3 Tables ssmMod = "Ssm" // System Manager ssmContactsMod = "SsmContacts" // Systems Manager Incident Manager Contacts ssmIncidentsMod = "SsmIncidents" // Systems Manager Incident Manager @@ -319,6 +321,7 @@ var moduleMap = map[string]string{ "codebuild": codebuildMod, "codecatalyst": codecatalystMod, "codecommit": codecommitMod, + "codeconnections": codeconnectionsMod, "codedeploy": codedeployMod, "codeguruprofiler": "CodeGuruProfiler", "codegurureviewer": codeguruReviewerMod, @@ -446,6 +449,7 @@ var moduleMap = map[string]string{ "s3": s3Mod, "s3control": s3ControlMod, "s3outposts": s3OutpostsMod, + "s3tables": s3TablesMod, "sagemaker": sagemakerMod, "scheduler": schedulerMod, "schemas": schemasMod, @@ -3865,6 +3869,17 @@ compatibility shim in favor of the new "name" field.`) }, // S3 Outposts "aws_s3outposts_endpoint": {Tok: awsResource(s3OutpostsMod, "Endpoint")}, + // S3 Tables + "aws_s3tables_namespace": { + Tok: awsResource(s3TablesMod, "Namespace"), + Fields: map[string]*tfbridge.SchemaInfo{ + "namespace": { + // Avoid conflict with "Namespace" class name that breaks compilation. + CSharpName: "NameSpace", + }, + }, + }, + // Systems Manager (SSM) "aws_ssm_activation": {Tok: awsResource(ssmMod, "Activation")}, "aws_ssm_association": {Tok: awsResource(ssmMod, "Association")}, @@ -5949,4 +5964,33 @@ 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 + } } diff --git a/sdk/dotnet/Bedrock/AgentAgent.cs b/sdk/dotnet/Bedrock/AgentAgent.cs index b62300af8f1..5f17224a5f1 100644 --- a/sdk/dotnet/Bedrock/AgentAgent.cs +++ b/sdk/dotnet/Bedrock/AgentAgent.cs @@ -178,6 +178,9 @@ public partial class AgentAgent : global::Pulumi.CustomResource [Output("foundationModel")] public Output FoundationModel { get; private set; } = null!; + /// + /// Details about the guardrail associated with the agent. See `guardrail_configuration` Block for details. + /// [Output("guardrailConfigurations")] public Output> GuardrailConfigurations { get; private set; } = null!; @@ -188,7 +191,7 @@ public partial class AgentAgent : global::Pulumi.CustomResource public Output IdleSessionTtlInSeconds { get; private set; } = null!; /// - /// Instructions that tell the agent what it should do and how it should interact with users. + /// Instructions that tell the agent what it should do and how it should interact with users. The valid range is 40 - 8000 characters. /// [Output("instruction")] public Output Instruction { get; private set; } = null!; @@ -306,6 +309,10 @@ public sealed class AgentAgentArgs : global::Pulumi.ResourceArgs [Input("guardrailConfigurations")] private InputList? _guardrailConfigurations; + + /// + /// Details about the guardrail associated with the agent. See `guardrail_configuration` Block for details. + /// public InputList GuardrailConfigurations { get => _guardrailConfigurations ?? (_guardrailConfigurations = new InputList()); @@ -319,7 +326,7 @@ public InputList GuardrailConfigura public Input? IdleSessionTtlInSeconds { get; set; } /// - /// Instructions that tell the agent what it should do and how it should interact with users. + /// Instructions that tell the agent what it should do and how it should interact with users. The valid range is 40 - 8000 characters. /// [Input("instruction")] public Input? Instruction { get; set; } @@ -423,6 +430,10 @@ public sealed class AgentAgentState : global::Pulumi.ResourceArgs [Input("guardrailConfigurations")] private InputList? _guardrailConfigurations; + + /// + /// Details about the guardrail associated with the agent. See `guardrail_configuration` Block for details. + /// public InputList GuardrailConfigurations { get => _guardrailConfigurations ?? (_guardrailConfigurations = new InputList()); @@ -436,7 +447,7 @@ public InputList GuardrailConfig public Input? IdleSessionTtlInSeconds { get; set; } /// - /// Instructions that tell the agent what it should do and how it should interact with users. + /// Instructions that tell the agent what it should do and how it should interact with users. The valid range is 40 - 8000 characters. /// [Input("instruction")] public Input? Instruction { get; set; } diff --git a/sdk/dotnet/CodeConnections/Connection.cs b/sdk/dotnet/CodeConnections/Connection.cs new file mode 100644 index 00000000000..cec88cf0d59 --- /dev/null +++ b/sdk/dotnet/CodeConnections/Connection.cs @@ -0,0 +1,250 @@ +// *** WARNING: this file 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.CodeConnections +{ + /// + /// Resource for managing an AWS CodeConnections Connection. + /// + /// > **NOTE:** The `aws.codeconnections.Connection` resource is created in the state `PENDING`. Authentication with the connection provider must be completed in the AWS Console. See the [AWS documentation](https://docs.aws.amazon.com/dtconsole/latest/userguide/connections-update.html) for details. + /// + /// ## Example Usage + /// + /// ### Basic Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Aws = Pulumi.Aws; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var example = new Aws.CodeConnections.Connection("example", new() + /// { + /// Name = "example-connection", + /// ProviderType = "Bitbucket", + /// }); + /// + /// }); + /// ``` + /// + /// ## Import + /// + /// Using `pulumi import`, import CodeConnections connection using the ARN. For example: + /// + /// ```sh + /// $ pulumi import aws:codeconnections/connection:Connection test-connection arn:aws:codeconnections:us-west-1:0123456789:connection/79d4d357-a2ee-41e4-b350-2fe39ae59448 + /// ``` + /// + [AwsResourceType("aws:codeconnections/connection:Connection")] + public partial class Connection : global::Pulumi.CustomResource + { + /// + /// The codeconnections connection ARN. + /// + [Output("arn")] + public Output Arn { get; private set; } = null!; + + /// + /// The codeconnections connection status. Possible values are `PENDING`, `AVAILABLE` and `ERROR`. + /// + [Output("connectionStatus")] + public Output ConnectionStatus { get; private set; } = null!; + + /// + /// The Amazon Resource Name (ARN) of the host associated with the connection. Conflicts with `provider_type` + /// + [Output("hostArn")] + public Output HostArn { get; private set; } = null!; + + /// + /// The name of the connection to be created. The name must be unique in the calling AWS account. Changing `name` will create a new resource. + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + [Output("ownerAccountId")] + public Output OwnerAccountId { get; private set; } = null!; + + /// + /// The name of the external provider where your third-party code repository is configured. Changing `provider_type` will create a new resource. Conflicts with `host_arn`. + /// + [Output("providerType")] + public Output ProviderType { get; private set; } = null!; + + /// + /// Map of key-value resource tags to associate with the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + /// + [Output("tags")] + public Output?> Tags { get; private set; } = null!; + + /// + /// A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + /// + [Output("tagsAll")] + public Output> TagsAll { get; private set; } = null!; + + [Output("timeouts")] + public Output Timeouts { get; private set; } = null!; + + + /// + /// Create a Connection 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 Connection(string name, ConnectionArgs? args = null, CustomResourceOptions? options = null) + : base("aws:codeconnections/connection:Connection", name, args ?? new ConnectionArgs(), MakeResourceOptions(options, "")) + { + } + + private Connection(string name, Input id, ConnectionState? state = null, CustomResourceOptions? options = null) + : base("aws:codeconnections/connection:Connection", 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 Connection 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 Connection Get(string name, Input id, ConnectionState? state = null, CustomResourceOptions? options = null) + { + return new Connection(name, id, state, options); + } + } + + public sealed class ConnectionArgs : global::Pulumi.ResourceArgs + { + /// + /// The Amazon Resource Name (ARN) of the host associated with the connection. Conflicts with `provider_type` + /// + [Input("hostArn")] + public Input? HostArn { get; set; } + + /// + /// The name of the connection to be created. The name must be unique in the calling AWS account. Changing `name` will create a new resource. + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// The name of the external provider where your third-party code repository is configured. Changing `provider_type` will create a new resource. Conflicts with `host_arn`. + /// + [Input("providerType")] + public Input? ProviderType { get; set; } + + [Input("tags")] + private InputMap? _tags; + + /// + /// Map of key-value resource tags to associate with the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + /// + public InputMap Tags + { + get => _tags ?? (_tags = new InputMap()); + set => _tags = value; + } + + [Input("timeouts")] + public Input? Timeouts { get; set; } + + public ConnectionArgs() + { + } + public static new ConnectionArgs Empty => new ConnectionArgs(); + } + + public sealed class ConnectionState : global::Pulumi.ResourceArgs + { + /// + /// The codeconnections connection ARN. + /// + [Input("arn")] + public Input? Arn { get; set; } + + /// + /// The codeconnections connection status. Possible values are `PENDING`, `AVAILABLE` and `ERROR`. + /// + [Input("connectionStatus")] + public Input? ConnectionStatus { get; set; } + + /// + /// The Amazon Resource Name (ARN) of the host associated with the connection. Conflicts with `provider_type` + /// + [Input("hostArn")] + public Input? HostArn { get; set; } + + /// + /// The name of the connection to be created. The name must be unique in the calling AWS account. Changing `name` will create a new resource. + /// + [Input("name")] + public Input? Name { get; set; } + + [Input("ownerAccountId")] + public Input? OwnerAccountId { get; set; } + + /// + /// The name of the external provider where your third-party code repository is configured. Changing `provider_type` will create a new resource. Conflicts with `host_arn`. + /// + [Input("providerType")] + public Input? ProviderType { get; set; } + + [Input("tags")] + private InputMap? _tags; + + /// + /// Map of key-value resource tags to associate with the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + /// + public InputMap Tags + { + get => _tags ?? (_tags = new InputMap()); + set => _tags = value; + } + + [Input("tagsAll")] + private InputMap? _tagsAll; + + /// + /// A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + /// + [Obsolete(@"Please use `tags` instead.")] + public InputMap TagsAll + { + get => _tagsAll ?? (_tagsAll = new InputMap()); + set => _tagsAll = value; + } + + [Input("timeouts")] + public Input? Timeouts { get; set; } + + public ConnectionState() + { + } + public static new ConnectionState Empty => new ConnectionState(); + } +} diff --git a/sdk/dotnet/CodeConnections/Host.cs b/sdk/dotnet/CodeConnections/Host.cs new file mode 100644 index 00000000000..7deac1cb171 --- /dev/null +++ b/sdk/dotnet/CodeConnections/Host.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.CodeConnections +{ + /// + /// Resource for managing an AWS CodeConnections Host. + /// + /// > **NOTE:** The `aws.codeconnections.Host` resource is created in the state `PENDING`. Authentication with the host provider must be completed in the AWS Console. For more information visit [Set up a pending host](https://docs.aws.amazon.com/dtconsole/latest/userguide/connections-host-setup.html). + /// + /// ## Example Usage + /// + /// ### Basic Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Aws = Pulumi.Aws; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var example = new Aws.CodeConnections.Host("example", new() + /// { + /// Name = "example-host", + /// ProviderEndpoint = "https://example.com", + /// ProviderType = "GitHubEnterpriseServer", + /// }); + /// + /// }); + /// ``` + /// + /// ## Import + /// + /// Using `pulumi import`, import CodeConnections Host using the ARN. For example: + /// + /// ```sh + /// $ pulumi import aws:codeconnections/host:Host example-host arn:aws:codeconnections:us-west-1:0123456789:host/79d4d357-a2ee-41e4-b350-2fe39ae59448 + /// ``` + /// + [AwsResourceType("aws:codeconnections/host:Host")] + public partial class Host : global::Pulumi.CustomResource + { + /// + /// The CodeConnections Host ARN. + /// + [Output("arn")] + public Output Arn { get; private set; } = null!; + + /// + /// The name of the host to be created. The name must be unique in the calling AWS account. + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// The endpoint of the infrastructure to be represented by the host after it is created. + /// + [Output("providerEndpoint")] + public Output ProviderEndpoint { get; private set; } = null!; + + /// + /// The name of the external provider where your third-party code repository is configured. + /// + [Output("providerType")] + public Output ProviderType { get; private set; } = null!; + + [Output("tags")] + public Output?> Tags { get; private set; } = null!; + + [Output("tagsAll")] + public Output> TagsAll { get; private set; } = null!; + + [Output("timeouts")] + public Output Timeouts { get; private set; } = null!; + + /// + /// The VPC configuration to be provisioned for the host. A VPC must be configured, and the infrastructure to be represented by the host must already be connected to the VPC. + /// + [Output("vpcConfiguration")] + public Output VpcConfiguration { get; private set; } = null!; + + + /// + /// Create a Host 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 Host(string name, HostArgs args, CustomResourceOptions? options = null) + : base("aws:codeconnections/host:Host", name, args ?? new HostArgs(), MakeResourceOptions(options, "")) + { + } + + private Host(string name, Input id, HostState? state = null, CustomResourceOptions? options = null) + : base("aws:codeconnections/host:Host", 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 Host 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 Host Get(string name, Input id, HostState? state = null, CustomResourceOptions? options = null) + { + return new Host(name, id, state, options); + } + } + + public sealed class HostArgs : global::Pulumi.ResourceArgs + { + /// + /// The name of the host to be created. The name must be unique in the calling AWS account. + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// The endpoint of the infrastructure to be represented by the host after it is created. + /// + [Input("providerEndpoint", required: true)] + public Input ProviderEndpoint { get; set; } = null!; + + /// + /// The name of the external provider where your third-party code repository is configured. + /// + [Input("providerType", required: true)] + public Input ProviderType { get; set; } = null!; + + [Input("tags")] + private InputMap? _tags; + public InputMap Tags + { + get => _tags ?? (_tags = new InputMap()); + set => _tags = value; + } + + [Input("timeouts")] + public Input? Timeouts { get; set; } + + /// + /// The VPC configuration to be provisioned for the host. A VPC must be configured, and the infrastructure to be represented by the host must already be connected to the VPC. + /// + [Input("vpcConfiguration")] + public Input? VpcConfiguration { get; set; } + + public HostArgs() + { + } + public static new HostArgs Empty => new HostArgs(); + } + + public sealed class HostState : global::Pulumi.ResourceArgs + { + /// + /// The CodeConnections Host ARN. + /// + [Input("arn")] + public Input? Arn { get; set; } + + /// + /// The name of the host to be created. The name must be unique in the calling AWS account. + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// The endpoint of the infrastructure to be represented by the host after it is created. + /// + [Input("providerEndpoint")] + public Input? ProviderEndpoint { get; set; } + + /// + /// The name of the external provider where your third-party code repository is configured. + /// + [Input("providerType")] + public Input? ProviderType { get; set; } + + [Input("tags")] + private InputMap? _tags; + public InputMap Tags + { + get => _tags ?? (_tags = new InputMap()); + set => _tags = value; + } + + [Input("tagsAll")] + private InputMap? _tagsAll; + [Obsolete(@"Please use `tags` instead.")] + public InputMap TagsAll + { + get => _tagsAll ?? (_tagsAll = new InputMap()); + set => _tagsAll = value; + } + + [Input("timeouts")] + public Input? Timeouts { get; set; } + + /// + /// The VPC configuration to be provisioned for the host. A VPC must be configured, and the infrastructure to be represented by the host must already be connected to the VPC. + /// + [Input("vpcConfiguration")] + public Input? VpcConfiguration { get; set; } + + public HostState() + { + } + public static new HostState Empty => new HostState(); + } +} diff --git a/sdk/dotnet/CodeConnections/Inputs/ConnectionTimeoutsArgs.cs b/sdk/dotnet/CodeConnections/Inputs/ConnectionTimeoutsArgs.cs new file mode 100644 index 00000000000..12a1980725c --- /dev/null +++ b/sdk/dotnet/CodeConnections/Inputs/ConnectionTimeoutsArgs.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.CodeConnections.Inputs +{ + + public sealed class ConnectionTimeoutsArgs : 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 ConnectionTimeoutsArgs() + { + } + public static new ConnectionTimeoutsArgs Empty => new ConnectionTimeoutsArgs(); + } +} diff --git a/sdk/dotnet/CodeConnections/Inputs/ConnectionTimeoutsGetArgs.cs b/sdk/dotnet/CodeConnections/Inputs/ConnectionTimeoutsGetArgs.cs new file mode 100644 index 00000000000..947cdad3860 --- /dev/null +++ b/sdk/dotnet/CodeConnections/Inputs/ConnectionTimeoutsGetArgs.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.CodeConnections.Inputs +{ + + public sealed class ConnectionTimeoutsGetArgs : 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 ConnectionTimeoutsGetArgs() + { + } + public static new ConnectionTimeoutsGetArgs Empty => new ConnectionTimeoutsGetArgs(); + } +} diff --git a/sdk/dotnet/CodeConnections/Inputs/HostTimeoutsArgs.cs b/sdk/dotnet/CodeConnections/Inputs/HostTimeoutsArgs.cs new file mode 100644 index 00000000000..bd06155a01f --- /dev/null +++ b/sdk/dotnet/CodeConnections/Inputs/HostTimeoutsArgs.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.CodeConnections.Inputs +{ + + public sealed class HostTimeoutsArgs : 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 HostTimeoutsArgs() + { + } + public static new HostTimeoutsArgs Empty => new HostTimeoutsArgs(); + } +} diff --git a/sdk/dotnet/CodeConnections/Inputs/HostTimeoutsGetArgs.cs b/sdk/dotnet/CodeConnections/Inputs/HostTimeoutsGetArgs.cs new file mode 100644 index 00000000000..ababd09c3a8 --- /dev/null +++ b/sdk/dotnet/CodeConnections/Inputs/HostTimeoutsGetArgs.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.CodeConnections.Inputs +{ + + public sealed class HostTimeoutsGetArgs : 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 HostTimeoutsGetArgs() + { + } + public static new HostTimeoutsGetArgs Empty => new HostTimeoutsGetArgs(); + } +} diff --git a/sdk/dotnet/CodeConnections/Inputs/HostVpcConfigurationArgs.cs b/sdk/dotnet/CodeConnections/Inputs/HostVpcConfigurationArgs.cs new file mode 100644 index 00000000000..f96996c2bdf --- /dev/null +++ b/sdk/dotnet/CodeConnections/Inputs/HostVpcConfigurationArgs.cs @@ -0,0 +1,56 @@ +// *** WARNING: this file 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.CodeConnections.Inputs +{ + + public sealed class HostVpcConfigurationArgs : global::Pulumi.ResourceArgs + { + [Input("securityGroupIds", required: true)] + private InputList? _securityGroupIds; + + /// + /// ID of the security group or security groups associated with the Amazon VPC connected to the infrastructure where your provider type is installed. + /// + public InputList SecurityGroupIds + { + get => _securityGroupIds ?? (_securityGroupIds = new InputList()); + set => _securityGroupIds = value; + } + + [Input("subnetIds", required: true)] + private InputList? _subnetIds; + + /// + /// The ID of the subnet or subnets associated with the Amazon VPC connected to the infrastructure where your provider type is installed. + /// + public InputList SubnetIds + { + get => _subnetIds ?? (_subnetIds = new InputList()); + set => _subnetIds = value; + } + + /// + /// The value of the Transport Layer Security (TLS) certificate associated with the infrastructure where your provider type is installed. + /// + [Input("tlsCertificate", required: true)] + public Input TlsCertificate { get; set; } = null!; + + /// + /// The ID of the Amazon VPC connected to the infrastructure where your provider type is installed. + /// + [Input("vpcId", required: true)] + public Input VpcId { get; set; } = null!; + + public HostVpcConfigurationArgs() + { + } + public static new HostVpcConfigurationArgs Empty => new HostVpcConfigurationArgs(); + } +} diff --git a/sdk/dotnet/CodeConnections/Inputs/HostVpcConfigurationGetArgs.cs b/sdk/dotnet/CodeConnections/Inputs/HostVpcConfigurationGetArgs.cs new file mode 100644 index 00000000000..e552789af80 --- /dev/null +++ b/sdk/dotnet/CodeConnections/Inputs/HostVpcConfigurationGetArgs.cs @@ -0,0 +1,56 @@ +// *** WARNING: this file 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.CodeConnections.Inputs +{ + + public sealed class HostVpcConfigurationGetArgs : global::Pulumi.ResourceArgs + { + [Input("securityGroupIds", required: true)] + private InputList? _securityGroupIds; + + /// + /// ID of the security group or security groups associated with the Amazon VPC connected to the infrastructure where your provider type is installed. + /// + public InputList SecurityGroupIds + { + get => _securityGroupIds ?? (_securityGroupIds = new InputList()); + set => _securityGroupIds = value; + } + + [Input("subnetIds", required: true)] + private InputList? _subnetIds; + + /// + /// The ID of the subnet or subnets associated with the Amazon VPC connected to the infrastructure where your provider type is installed. + /// + public InputList SubnetIds + { + get => _subnetIds ?? (_subnetIds = new InputList()); + set => _subnetIds = value; + } + + /// + /// The value of the Transport Layer Security (TLS) certificate associated with the infrastructure where your provider type is installed. + /// + [Input("tlsCertificate", required: true)] + public Input TlsCertificate { get; set; } = null!; + + /// + /// The ID of the Amazon VPC connected to the infrastructure where your provider type is installed. + /// + [Input("vpcId", required: true)] + public Input VpcId { get; set; } = null!; + + public HostVpcConfigurationGetArgs() + { + } + public static new HostVpcConfigurationGetArgs Empty => new HostVpcConfigurationGetArgs(); + } +} diff --git a/sdk/dotnet/CodeConnections/Outputs/ConnectionTimeouts.cs b/sdk/dotnet/CodeConnections/Outputs/ConnectionTimeouts.cs new file mode 100644 index 00000000000..9bc26e979ec --- /dev/null +++ b/sdk/dotnet/CodeConnections/Outputs/ConnectionTimeouts.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.CodeConnections.Outputs +{ + + [OutputType] + public sealed class ConnectionTimeouts + { + /// + /// A string that can be [parsed as a duration](https://pkg.go.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 ConnectionTimeouts( + string? create, + + string? delete, + + string? update) + { + Create = create; + Delete = delete; + Update = update; + } + } +} diff --git a/sdk/dotnet/CodeConnections/Outputs/HostTimeouts.cs b/sdk/dotnet/CodeConnections/Outputs/HostTimeouts.cs new file mode 100644 index 00000000000..c89e7d4532d --- /dev/null +++ b/sdk/dotnet/CodeConnections/Outputs/HostTimeouts.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.CodeConnections.Outputs +{ + + [OutputType] + public sealed class HostTimeouts + { + /// + /// A string that can be [parsed as a duration](https://pkg.go.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 HostTimeouts( + string? create, + + string? delete, + + string? update) + { + Create = create; + Delete = delete; + Update = update; + } + } +} diff --git a/sdk/dotnet/CodeConnections/Outputs/HostVpcConfiguration.cs b/sdk/dotnet/CodeConnections/Outputs/HostVpcConfiguration.cs new file mode 100644 index 00000000000..9da28a5fcb6 --- /dev/null +++ b/sdk/dotnet/CodeConnections/Outputs/HostVpcConfiguration.cs @@ -0,0 +1,49 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.CodeConnections.Outputs +{ + + [OutputType] + public sealed class HostVpcConfiguration + { + /// + /// ID of the security group or security groups associated with the Amazon VPC connected to the infrastructure where your provider type is installed. + /// + public readonly ImmutableArray SecurityGroupIds; + /// + /// The ID of the subnet or subnets associated with the Amazon VPC connected to the infrastructure where your provider type is installed. + /// + public readonly ImmutableArray SubnetIds; + /// + /// The value of the Transport Layer Security (TLS) certificate associated with the infrastructure where your provider type is installed. + /// + public readonly string TlsCertificate; + /// + /// The ID of the Amazon VPC connected to the infrastructure where your provider type is installed. + /// + public readonly string VpcId; + + [OutputConstructor] + private HostVpcConfiguration( + ImmutableArray securityGroupIds, + + ImmutableArray subnetIds, + + string tlsCertificate, + + string vpcId) + { + SecurityGroupIds = securityGroupIds; + SubnetIds = subnetIds; + TlsCertificate = tlsCertificate; + VpcId = vpcId; + } + } +} diff --git a/sdk/dotnet/CodeConnections/README.md b/sdk/dotnet/CodeConnections/README.md new file mode 100644 index 00000000000..9d868f18f20 --- /dev/null +++ b/sdk/dotnet/CodeConnections/README.md @@ -0,0 +1 @@ +A Pulumi package for creating and managing Amazon Web Services (AWS) cloud resources. diff --git a/sdk/dotnet/Config/Config.cs b/sdk/dotnet/Config/Config.cs index a0375c75207..ad59f31309d 100644 --- a/sdk/dotnet/Config/Config.cs +++ b/sdk/dotnet/Config/Config.cs @@ -1413,6 +1413,10 @@ public class Endpoints public string? S3outposts { get; set; } = null!; /// /// Use this to override the default service endpoint URL + /// + public string? S3tables { get; set; } = null!; + /// + /// Use this to override the default service endpoint URL /// public string? Sagemaker { get; set; } = null!; /// diff --git a/sdk/dotnet/DynamoDB/TableReplica.cs b/sdk/dotnet/DynamoDB/TableReplica.cs index d929e7fb1a3..5910bd9bf44 100644 --- a/sdk/dotnet/DynamoDB/TableReplica.cs +++ b/sdk/dotnet/DynamoDB/TableReplica.cs @@ -77,6 +77,12 @@ public partial class TableReplica : global::Pulumi.CustomResource [Output("arn")] public Output Arn { get; private set; } = null!; + /// + /// Whether deletion protection is enabled (true) or disabled (false) on the table replica. + /// + [Output("deletionProtectionEnabled")] + public Output DeletionProtectionEnabled { get; private set; } = null!; + /// /// ARN of the _main_ or global table which this resource will replicate. /// @@ -92,7 +98,7 @@ public partial class TableReplica : global::Pulumi.CustomResource public Output KmsKeyArn { get; private set; } = null!; /// - /// Whether to enable Point In Time Recovery for the replica. Default is `false`. + /// Whether to enable Point In Time Recovery for the table replica. Default is `false`. /// [Output("pointInTimeRecovery")] public Output PointInTimeRecovery { get; private set; } = null!; @@ -161,6 +167,12 @@ public static TableReplica Get(string name, Input id, TableReplicaState? public sealed class TableReplicaArgs : global::Pulumi.ResourceArgs { + /// + /// Whether deletion protection is enabled (true) or disabled (false) on the table replica. + /// + [Input("deletionProtectionEnabled")] + public Input? DeletionProtectionEnabled { get; set; } + /// /// ARN of the _main_ or global table which this resource will replicate. /// @@ -176,7 +188,7 @@ public sealed class TableReplicaArgs : global::Pulumi.ResourceArgs public Input? KmsKeyArn { get; set; } /// - /// Whether to enable Point In Time Recovery for the replica. Default is `false`. + /// Whether to enable Point In Time Recovery for the table replica. Default is `false`. /// [Input("pointInTimeRecovery")] public Input? PointInTimeRecovery { get; set; } @@ -213,6 +225,12 @@ public sealed class TableReplicaState : global::Pulumi.ResourceArgs [Input("arn")] public Input? Arn { get; set; } + /// + /// Whether deletion protection is enabled (true) or disabled (false) on the table replica. + /// + [Input("deletionProtectionEnabled")] + public Input? DeletionProtectionEnabled { get; set; } + /// /// ARN of the _main_ or global table which this resource will replicate. /// @@ -228,7 +246,7 @@ public sealed class TableReplicaState : global::Pulumi.ResourceArgs public Input? KmsKeyArn { get; set; } /// - /// Whether to enable Point In Time Recovery for the replica. Default is `false`. + /// Whether to enable Point In Time Recovery for the table replica. Default is `false`. /// [Input("pointInTimeRecovery")] public Input? PointInTimeRecovery { get; set; } diff --git a/sdk/dotnet/Inputs/ProviderEndpointArgs.cs b/sdk/dotnet/Inputs/ProviderEndpointArgs.cs index 3dff10cd984..97638a6e5a1 100644 --- a/sdk/dotnet/Inputs/ProviderEndpointArgs.cs +++ b/sdk/dotnet/Inputs/ProviderEndpointArgs.cs @@ -1470,6 +1470,12 @@ public sealed class ProviderEndpointArgs : global::Pulumi.ResourceArgs [Input("s3outposts")] public Input? S3outposts { get; set; } + /// + /// Use this to override the default service endpoint URL + /// + [Input("s3tables")] + public Input? S3tables { get; set; } + /// /// Use this to override the default service endpoint URL /// diff --git a/sdk/dotnet/Rds/ClusterInstance.cs b/sdk/dotnet/Rds/ClusterInstance.cs index 60fdff1638f..ca32b5de5c4 100644 --- a/sdk/dotnet/Rds/ClusterInstance.cs +++ b/sdk/dotnet/Rds/ClusterInstance.cs @@ -169,6 +169,12 @@ public partial class ClusterInstance : global::Pulumi.CustomResource [Output("engineVersionActual")] public Output EngineVersionActual { get; private set; } = null!; + /// + /// Forces an instance to be destroyed when a part of a read replica cluster. **Note:** will promote the read replica to a standalone cluster before instance deletion. + /// + [Output("forceDestroy")] + public Output ForceDestroy { get; private set; } = null!; + /// /// Identifier for the RDS instance, if omitted, Pulumi will assign a random, unique identifier. /// @@ -396,6 +402,12 @@ public sealed class ClusterInstanceArgs : global::Pulumi.ResourceArgs [Input("engineVersion")] public Input? EngineVersion { get; set; } + /// + /// Forces an instance to be destroyed when a part of a read replica cluster. **Note:** will promote the read replica to a standalone cluster before instance deletion. + /// + [Input("forceDestroy")] + public Input? ForceDestroy { get; set; } + /// /// Identifier for the RDS instance, if omitted, Pulumi will assign a random, unique identifier. /// @@ -579,6 +591,12 @@ public sealed class ClusterInstanceState : global::Pulumi.ResourceArgs [Input("engineVersionActual")] public Input? EngineVersionActual { get; set; } + /// + /// Forces an instance to be destroyed when a part of a read replica cluster. **Note:** will promote the read replica to a standalone cluster before instance deletion. + /// + [Input("forceDestroy")] + public Input? ForceDestroy { get; set; } + /// /// Identifier for the RDS instance, if omitted, Pulumi will assign a random, unique identifier. /// diff --git a/sdk/dotnet/Rds/Inputs/ClusterServerlessv2ScalingConfigurationArgs.cs b/sdk/dotnet/Rds/Inputs/ClusterServerlessv2ScalingConfigurationArgs.cs index f2f3f1529f8..3d265eedc2b 100644 --- a/sdk/dotnet/Rds/Inputs/ClusterServerlessv2ScalingConfigurationArgs.cs +++ b/sdk/dotnet/Rds/Inputs/ClusterServerlessv2ScalingConfigurationArgs.cs @@ -13,13 +13,13 @@ namespace Pulumi.Aws.Rds.Inputs public sealed class ClusterServerlessv2ScalingConfigurationArgs : global::Pulumi.ResourceArgs { /// - /// 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.5` up to `256` in steps of `0.5`. + /// 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`. /// [Input("maxCapacity", required: true)] public Input MaxCapacity { get; set; } = null!; /// - /// 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.5` up to `256` in steps of `0.5`. + /// 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`. /// [Input("minCapacity", required: true)] public Input MinCapacity { get; set; } = null!; diff --git a/sdk/dotnet/Rds/Inputs/ClusterServerlessv2ScalingConfigurationGetArgs.cs b/sdk/dotnet/Rds/Inputs/ClusterServerlessv2ScalingConfigurationGetArgs.cs index d0cb3f464c2..d429dcc7fa9 100644 --- a/sdk/dotnet/Rds/Inputs/ClusterServerlessv2ScalingConfigurationGetArgs.cs +++ b/sdk/dotnet/Rds/Inputs/ClusterServerlessv2ScalingConfigurationGetArgs.cs @@ -13,13 +13,13 @@ namespace Pulumi.Aws.Rds.Inputs public sealed class ClusterServerlessv2ScalingConfigurationGetArgs : global::Pulumi.ResourceArgs { /// - /// 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.5` up to `256` in steps of `0.5`. + /// 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`. /// [Input("maxCapacity", required: true)] public Input MaxCapacity { get; set; } = null!; /// - /// 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.5` up to `256` in steps of `0.5`. + /// 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`. /// [Input("minCapacity", required: true)] public Input MinCapacity { get; set; } = null!; diff --git a/sdk/dotnet/Rds/Outputs/ClusterServerlessv2ScalingConfiguration.cs b/sdk/dotnet/Rds/Outputs/ClusterServerlessv2ScalingConfiguration.cs index fefab255590..9e7437ac582 100644 --- a/sdk/dotnet/Rds/Outputs/ClusterServerlessv2ScalingConfiguration.cs +++ b/sdk/dotnet/Rds/Outputs/ClusterServerlessv2ScalingConfiguration.cs @@ -14,11 +14,11 @@ namespace Pulumi.Aws.Rds.Outputs public sealed class ClusterServerlessv2ScalingConfiguration { /// - /// 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.5` up to `256` in steps of `0.5`. + /// 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`. /// public readonly double 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.5` up to `256` in steps of `0.5`. + /// 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; diff --git a/sdk/dotnet/Rds/ParameterGroup.cs b/sdk/dotnet/Rds/ParameterGroup.cs index 99f41944efa..2a58e23285a 100644 --- a/sdk/dotnet/Rds/ParameterGroup.cs +++ b/sdk/dotnet/Rds/ParameterGroup.cs @@ -10,55 +10,6 @@ namespace Pulumi.Aws.Rds { /// - /// Provides an RDS DB parameter group resource. Documentation of the available parameters for various RDS engines can be found at: - /// - /// * [Aurora MySQL Parameters](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AuroraMySQL.Reference.html) - /// * [Aurora PostgreSQL Parameters](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AuroraPostgreSQL.Reference.html) - /// * [MariaDB Parameters](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.MariaDB.Parameters.html) - /// * [Oracle Parameters](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ModifyInstance.Oracle.html#USER_ModifyInstance.Oracle.sqlnet) - /// * [PostgreSQL Parameters](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.PostgreSQL.CommonDBATasks.html#Appendix.PostgreSQL.CommonDBATasks.Parameters) - /// - /// > **Hands-on:** For an example of the `aws.rds.ParameterGroup` in use, follow the Manage AWS RDS Instances tutorial on HashiCorp Learn. - /// - /// > **NOTE**: to make diffs less confusing, the AWS provider will ignore changes for a `parameter` whose `value` remains - /// unchanged but whose `apply_method` is changing (e.g., from `immediate` to `pending-reboot`, or `pending-reboot` to - /// `immediate`). This matches the cloud: if only the apply method of a parameter is changing, the AWS API will not register - /// this change. To change the `apply_method` of a parameter, its value must also change. - /// - /// ## Example Usage - /// - /// ### Basic Usage - /// - /// ```csharp - /// using System.Collections.Generic; - /// using System.Linq; - /// using Pulumi; - /// using Aws = Pulumi.Aws; - /// - /// return await Deployment.RunAsync(() => - /// { - /// var @default = new Aws.Rds.ParameterGroup("default", new() - /// { - /// Name = "rds-pg", - /// Family = "mysql5.6", - /// Parameters = new[] - /// { - /// new Aws.Rds.Inputs.ParameterGroupParameterArgs - /// { - /// Name = "character_set_server", - /// Value = "utf8", - /// }, - /// new Aws.Rds.Inputs.ParameterGroupParameterArgs - /// { - /// Name = "character_set_client", - /// Value = "utf8", - /// }, - /// }, - /// }); - /// - /// }); - /// ``` - /// /// ## Import /// /// Using `pulumi import`, import DB Parameter groups using the `name`. For example: diff --git a/sdk/dotnet/S3/Inputs/DirectoryBucketLocationArgs.cs b/sdk/dotnet/S3/Inputs/DirectoryBucketLocationArgs.cs index e87b4ba50f9..37d1317b93e 100644 --- a/sdk/dotnet/S3/Inputs/DirectoryBucketLocationArgs.cs +++ b/sdk/dotnet/S3/Inputs/DirectoryBucketLocationArgs.cs @@ -13,13 +13,13 @@ namespace Pulumi.Aws.S3.Inputs public sealed class DirectoryBucketLocationArgs : global::Pulumi.ResourceArgs { /// - /// [Availability Zone ID](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html#az-ids). + /// [Availability Zone ID](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html#az-ids) or Local Zone ID. /// [Input("name", required: true)] public Input Name { get; set; } = null!; /// - /// Location type. Valid values: `AvailabilityZone`. + /// Location type. Valid values: `AvailabilityZone`, `LocalZone`. /// [Input("type")] public Input? Type { get; set; } diff --git a/sdk/dotnet/S3/Inputs/DirectoryBucketLocationGetArgs.cs b/sdk/dotnet/S3/Inputs/DirectoryBucketLocationGetArgs.cs index 21c533d11f8..3cc7dbf0d45 100644 --- a/sdk/dotnet/S3/Inputs/DirectoryBucketLocationGetArgs.cs +++ b/sdk/dotnet/S3/Inputs/DirectoryBucketLocationGetArgs.cs @@ -13,13 +13,13 @@ namespace Pulumi.Aws.S3.Inputs public sealed class DirectoryBucketLocationGetArgs : global::Pulumi.ResourceArgs { /// - /// [Availability Zone ID](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html#az-ids). + /// [Availability Zone ID](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html#az-ids) or Local Zone ID. /// [Input("name", required: true)] public Input Name { get; set; } = null!; /// - /// Location type. Valid values: `AvailabilityZone`. + /// Location type. Valid values: `AvailabilityZone`, `LocalZone`. /// [Input("type")] public Input? Type { get; set; } diff --git a/sdk/dotnet/S3/Outputs/DirectoryBucketLocation.cs b/sdk/dotnet/S3/Outputs/DirectoryBucketLocation.cs index fe1620a0cdf..e29a77c4c14 100644 --- a/sdk/dotnet/S3/Outputs/DirectoryBucketLocation.cs +++ b/sdk/dotnet/S3/Outputs/DirectoryBucketLocation.cs @@ -14,11 +14,11 @@ namespace Pulumi.Aws.S3.Outputs public sealed class DirectoryBucketLocation { /// - /// [Availability Zone ID](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html#az-ids). + /// [Availability Zone ID](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html#az-ids) or Local Zone ID. /// public readonly string Name; /// - /// Location type. Valid values: `AvailabilityZone`. + /// Location type. Valid values: `AvailabilityZone`, `LocalZone`. /// public readonly string? Type; diff --git a/sdk/dotnet/S3Tables/Inputs/TableBucketMaintenanceConfigurationArgs.cs b/sdk/dotnet/S3Tables/Inputs/TableBucketMaintenanceConfigurationArgs.cs new file mode 100644 index 00000000000..b128a78a308 --- /dev/null +++ b/sdk/dotnet/S3Tables/Inputs/TableBucketMaintenanceConfigurationArgs.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.S3Tables.Inputs +{ + + public sealed class TableBucketMaintenanceConfigurationArgs : global::Pulumi.ResourceArgs + { + /// + /// A single Iceberg unreferenced file removal settings block. + /// See `iceberg_unreferenced_file_removal` below + /// + [Input("icebergUnreferencedFileRemoval", required: true)] + public Input IcebergUnreferencedFileRemoval { get; set; } = null!; + + public TableBucketMaintenanceConfigurationArgs() + { + } + public static new TableBucketMaintenanceConfigurationArgs Empty => new TableBucketMaintenanceConfigurationArgs(); + } +} diff --git a/sdk/dotnet/S3Tables/Inputs/TableBucketMaintenanceConfigurationGetArgs.cs b/sdk/dotnet/S3Tables/Inputs/TableBucketMaintenanceConfigurationGetArgs.cs new file mode 100644 index 00000000000..24f4ade3e40 --- /dev/null +++ b/sdk/dotnet/S3Tables/Inputs/TableBucketMaintenanceConfigurationGetArgs.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.S3Tables.Inputs +{ + + public sealed class TableBucketMaintenanceConfigurationGetArgs : global::Pulumi.ResourceArgs + { + /// + /// A single Iceberg unreferenced file removal settings block. + /// See `iceberg_unreferenced_file_removal` below + /// + [Input("icebergUnreferencedFileRemoval", required: true)] + public Input IcebergUnreferencedFileRemoval { get; set; } = null!; + + public TableBucketMaintenanceConfigurationGetArgs() + { + } + public static new TableBucketMaintenanceConfigurationGetArgs Empty => new TableBucketMaintenanceConfigurationGetArgs(); + } +} diff --git a/sdk/dotnet/S3Tables/Inputs/TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalArgs.cs b/sdk/dotnet/S3Tables/Inputs/TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalArgs.cs new file mode 100644 index 00000000000..7c264583217 --- /dev/null +++ b/sdk/dotnet/S3Tables/Inputs/TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalArgs.cs @@ -0,0 +1,34 @@ +// *** WARNING: this file 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.S3Tables.Inputs +{ + + public sealed class TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalArgs : global::Pulumi.ResourceArgs + { + /// + /// Settings for unreferenced file removal. + /// See `iceberg_unreferenced_file_removal.settings` below + /// + [Input("settings", required: true)] + public Input Settings { get; set; } = null!; + + /// + /// Whether the configuration is enabled. + /// Valid values are `enabled` and `disabled`. + /// + [Input("status", required: true)] + public Input Status { get; set; } = null!; + + public TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalArgs() + { + } + public static new TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalArgs Empty => new TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalArgs(); + } +} diff --git a/sdk/dotnet/S3Tables/Inputs/TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalGetArgs.cs b/sdk/dotnet/S3Tables/Inputs/TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalGetArgs.cs new file mode 100644 index 00000000000..68ee0fbccba --- /dev/null +++ b/sdk/dotnet/S3Tables/Inputs/TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalGetArgs.cs @@ -0,0 +1,34 @@ +// *** WARNING: this file 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.S3Tables.Inputs +{ + + public sealed class TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Settings for unreferenced file removal. + /// See `iceberg_unreferenced_file_removal.settings` below + /// + [Input("settings", required: true)] + public Input Settings { get; set; } = null!; + + /// + /// Whether the configuration is enabled. + /// Valid values are `enabled` and `disabled`. + /// + [Input("status", required: true)] + public Input Status { get; set; } = null!; + + public TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalGetArgs() + { + } + public static new TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalGetArgs Empty => new TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalGetArgs(); + } +} diff --git a/sdk/dotnet/S3Tables/Inputs/TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettingsArgs.cs b/sdk/dotnet/S3Tables/Inputs/TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettingsArgs.cs new file mode 100644 index 00000000000..f46017cfd8d --- /dev/null +++ b/sdk/dotnet/S3Tables/Inputs/TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettingsArgs.cs @@ -0,0 +1,34 @@ +// *** WARNING: this file 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.S3Tables.Inputs +{ + + public sealed class TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettingsArgs : global::Pulumi.ResourceArgs + { + /// + /// Data objects marked for deletion are deleted after this many days. + /// Must be at least `1`. + /// + [Input("nonCurrentDays", required: true)] + public Input NonCurrentDays { get; set; } = null!; + + /// + /// Unreferenced data objects are marked for deletion after this many days. + /// Must be at least `1`. + /// + [Input("unreferencedDays", required: true)] + public Input UnreferencedDays { get; set; } = null!; + + public TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettingsArgs() + { + } + public static new TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettingsArgs Empty => new TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettingsArgs(); + } +} diff --git a/sdk/dotnet/S3Tables/Inputs/TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettingsGetArgs.cs b/sdk/dotnet/S3Tables/Inputs/TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettingsGetArgs.cs new file mode 100644 index 00000000000..c78945dca61 --- /dev/null +++ b/sdk/dotnet/S3Tables/Inputs/TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettingsGetArgs.cs @@ -0,0 +1,34 @@ +// *** WARNING: this file 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.S3Tables.Inputs +{ + + public sealed class TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettingsGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Data objects marked for deletion are deleted after this many days. + /// Must be at least `1`. + /// + [Input("nonCurrentDays", required: true)] + public Input NonCurrentDays { get; set; } = null!; + + /// + /// Unreferenced data objects are marked for deletion after this many days. + /// Must be at least `1`. + /// + [Input("unreferencedDays", required: true)] + public Input UnreferencedDays { get; set; } = null!; + + public TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettingsGetArgs() + { + } + public static new TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettingsGetArgs Empty => new TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettingsGetArgs(); + } +} diff --git a/sdk/dotnet/S3Tables/Inputs/TableMaintenanceConfigurationArgs.cs b/sdk/dotnet/S3Tables/Inputs/TableMaintenanceConfigurationArgs.cs new file mode 100644 index 00000000000..c512a66a556 --- /dev/null +++ b/sdk/dotnet/S3Tables/Inputs/TableMaintenanceConfigurationArgs.cs @@ -0,0 +1,34 @@ +// *** WARNING: this file 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.S3Tables.Inputs +{ + + public sealed class TableMaintenanceConfigurationArgs : global::Pulumi.ResourceArgs + { + /// + /// A single Iceberg compaction settings block. + /// See `iceberg_compaction` below + /// + [Input("icebergCompaction", required: true)] + public Input IcebergCompaction { get; set; } = null!; + + /// + /// A single Iceberg snapshot management settings block. + /// See `iceberg_snapshot_management` below + /// + [Input("icebergSnapshotManagement", required: true)] + public Input IcebergSnapshotManagement { get; set; } = null!; + + public TableMaintenanceConfigurationArgs() + { + } + public static new TableMaintenanceConfigurationArgs Empty => new TableMaintenanceConfigurationArgs(); + } +} diff --git a/sdk/dotnet/S3Tables/Inputs/TableMaintenanceConfigurationGetArgs.cs b/sdk/dotnet/S3Tables/Inputs/TableMaintenanceConfigurationGetArgs.cs new file mode 100644 index 00000000000..d998f2fc545 --- /dev/null +++ b/sdk/dotnet/S3Tables/Inputs/TableMaintenanceConfigurationGetArgs.cs @@ -0,0 +1,34 @@ +// *** WARNING: this file 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.S3Tables.Inputs +{ + + public sealed class TableMaintenanceConfigurationGetArgs : global::Pulumi.ResourceArgs + { + /// + /// A single Iceberg compaction settings block. + /// See `iceberg_compaction` below + /// + [Input("icebergCompaction", required: true)] + public Input IcebergCompaction { get; set; } = null!; + + /// + /// A single Iceberg snapshot management settings block. + /// See `iceberg_snapshot_management` below + /// + [Input("icebergSnapshotManagement", required: true)] + public Input IcebergSnapshotManagement { get; set; } = null!; + + public TableMaintenanceConfigurationGetArgs() + { + } + public static new TableMaintenanceConfigurationGetArgs Empty => new TableMaintenanceConfigurationGetArgs(); + } +} diff --git a/sdk/dotnet/S3Tables/Inputs/TableMaintenanceConfigurationIcebergCompactionArgs.cs b/sdk/dotnet/S3Tables/Inputs/TableMaintenanceConfigurationIcebergCompactionArgs.cs new file mode 100644 index 00000000000..bbfceff3c0d --- /dev/null +++ b/sdk/dotnet/S3Tables/Inputs/TableMaintenanceConfigurationIcebergCompactionArgs.cs @@ -0,0 +1,34 @@ +// *** WARNING: this file 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.S3Tables.Inputs +{ + + public sealed class TableMaintenanceConfigurationIcebergCompactionArgs : global::Pulumi.ResourceArgs + { + /// + /// Settings for compaction. + /// See `iceberg_compaction.settings` below + /// + [Input("settings", required: true)] + public Input Settings { get; set; } = null!; + + /// + /// Whether the configuration is enabled. + /// Valid values are `enabled` and `disabled`. + /// + [Input("status", required: true)] + public Input Status { get; set; } = null!; + + public TableMaintenanceConfigurationIcebergCompactionArgs() + { + } + public static new TableMaintenanceConfigurationIcebergCompactionArgs Empty => new TableMaintenanceConfigurationIcebergCompactionArgs(); + } +} diff --git a/sdk/dotnet/S3Tables/Inputs/TableMaintenanceConfigurationIcebergCompactionGetArgs.cs b/sdk/dotnet/S3Tables/Inputs/TableMaintenanceConfigurationIcebergCompactionGetArgs.cs new file mode 100644 index 00000000000..2c197ba009a --- /dev/null +++ b/sdk/dotnet/S3Tables/Inputs/TableMaintenanceConfigurationIcebergCompactionGetArgs.cs @@ -0,0 +1,34 @@ +// *** WARNING: this file 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.S3Tables.Inputs +{ + + public sealed class TableMaintenanceConfigurationIcebergCompactionGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Settings for compaction. + /// See `iceberg_compaction.settings` below + /// + [Input("settings", required: true)] + public Input Settings { get; set; } = null!; + + /// + /// Whether the configuration is enabled. + /// Valid values are `enabled` and `disabled`. + /// + [Input("status", required: true)] + public Input Status { get; set; } = null!; + + public TableMaintenanceConfigurationIcebergCompactionGetArgs() + { + } + public static new TableMaintenanceConfigurationIcebergCompactionGetArgs Empty => new TableMaintenanceConfigurationIcebergCompactionGetArgs(); + } +} diff --git a/sdk/dotnet/S3Tables/Inputs/TableMaintenanceConfigurationIcebergCompactionSettingsArgs.cs b/sdk/dotnet/S3Tables/Inputs/TableMaintenanceConfigurationIcebergCompactionSettingsArgs.cs new file mode 100644 index 00000000000..1c6631629b2 --- /dev/null +++ b/sdk/dotnet/S3Tables/Inputs/TableMaintenanceConfigurationIcebergCompactionSettingsArgs.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.S3Tables.Inputs +{ + + public sealed class TableMaintenanceConfigurationIcebergCompactionSettingsArgs : global::Pulumi.ResourceArgs + { + /// + /// Data objects smaller than this size may be combined with others to improve query performance. + /// Must be between `64` and `512`. + /// + [Input("targetFileSizeMb", required: true)] + public Input TargetFileSizeMb { get; set; } = null!; + + public TableMaintenanceConfigurationIcebergCompactionSettingsArgs() + { + } + public static new TableMaintenanceConfigurationIcebergCompactionSettingsArgs Empty => new TableMaintenanceConfigurationIcebergCompactionSettingsArgs(); + } +} diff --git a/sdk/dotnet/S3Tables/Inputs/TableMaintenanceConfigurationIcebergCompactionSettingsGetArgs.cs b/sdk/dotnet/S3Tables/Inputs/TableMaintenanceConfigurationIcebergCompactionSettingsGetArgs.cs new file mode 100644 index 00000000000..292a010dda1 --- /dev/null +++ b/sdk/dotnet/S3Tables/Inputs/TableMaintenanceConfigurationIcebergCompactionSettingsGetArgs.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.S3Tables.Inputs +{ + + public sealed class TableMaintenanceConfigurationIcebergCompactionSettingsGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Data objects smaller than this size may be combined with others to improve query performance. + /// Must be between `64` and `512`. + /// + [Input("targetFileSizeMb", required: true)] + public Input TargetFileSizeMb { get; set; } = null!; + + public TableMaintenanceConfigurationIcebergCompactionSettingsGetArgs() + { + } + public static new TableMaintenanceConfigurationIcebergCompactionSettingsGetArgs Empty => new TableMaintenanceConfigurationIcebergCompactionSettingsGetArgs(); + } +} diff --git a/sdk/dotnet/S3Tables/Inputs/TableMaintenanceConfigurationIcebergSnapshotManagementArgs.cs b/sdk/dotnet/S3Tables/Inputs/TableMaintenanceConfigurationIcebergSnapshotManagementArgs.cs new file mode 100644 index 00000000000..a3cbee22b18 --- /dev/null +++ b/sdk/dotnet/S3Tables/Inputs/TableMaintenanceConfigurationIcebergSnapshotManagementArgs.cs @@ -0,0 +1,34 @@ +// *** WARNING: this file 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.S3Tables.Inputs +{ + + public sealed class TableMaintenanceConfigurationIcebergSnapshotManagementArgs : global::Pulumi.ResourceArgs + { + /// + /// Settings for snapshot management. + /// See `iceberg_snapshot_management.settings` below + /// + [Input("settings", required: true)] + public Input Settings { get; set; } = null!; + + /// + /// Whether the configuration is enabled. + /// Valid values are `enabled` and `disabled`. + /// + [Input("status", required: true)] + public Input Status { get; set; } = null!; + + public TableMaintenanceConfigurationIcebergSnapshotManagementArgs() + { + } + public static new TableMaintenanceConfigurationIcebergSnapshotManagementArgs Empty => new TableMaintenanceConfigurationIcebergSnapshotManagementArgs(); + } +} diff --git a/sdk/dotnet/S3Tables/Inputs/TableMaintenanceConfigurationIcebergSnapshotManagementGetArgs.cs b/sdk/dotnet/S3Tables/Inputs/TableMaintenanceConfigurationIcebergSnapshotManagementGetArgs.cs new file mode 100644 index 00000000000..e4ce500d871 --- /dev/null +++ b/sdk/dotnet/S3Tables/Inputs/TableMaintenanceConfigurationIcebergSnapshotManagementGetArgs.cs @@ -0,0 +1,34 @@ +// *** WARNING: this file 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.S3Tables.Inputs +{ + + public sealed class TableMaintenanceConfigurationIcebergSnapshotManagementGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Settings for snapshot management. + /// See `iceberg_snapshot_management.settings` below + /// + [Input("settings", required: true)] + public Input Settings { get; set; } = null!; + + /// + /// Whether the configuration is enabled. + /// Valid values are `enabled` and `disabled`. + /// + [Input("status", required: true)] + public Input Status { get; set; } = null!; + + public TableMaintenanceConfigurationIcebergSnapshotManagementGetArgs() + { + } + public static new TableMaintenanceConfigurationIcebergSnapshotManagementGetArgs Empty => new TableMaintenanceConfigurationIcebergSnapshotManagementGetArgs(); + } +} diff --git a/sdk/dotnet/S3Tables/Inputs/TableMaintenanceConfigurationIcebergSnapshotManagementSettingsArgs.cs b/sdk/dotnet/S3Tables/Inputs/TableMaintenanceConfigurationIcebergSnapshotManagementSettingsArgs.cs new file mode 100644 index 00000000000..87e4c922e3e --- /dev/null +++ b/sdk/dotnet/S3Tables/Inputs/TableMaintenanceConfigurationIcebergSnapshotManagementSettingsArgs.cs @@ -0,0 +1,34 @@ +// *** WARNING: this file 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.S3Tables.Inputs +{ + + public sealed class TableMaintenanceConfigurationIcebergSnapshotManagementSettingsArgs : global::Pulumi.ResourceArgs + { + /// + /// Snapshots older than this will be marked for deletiion. + /// Must be at least `1`. + /// + [Input("maxSnapshotAgeHours", required: true)] + public Input MaxSnapshotAgeHours { get; set; } = null!; + + /// + /// Minimum number of snapshots to keep. + /// Must be at least `1`. + /// + [Input("minSnapshotsToKeep", required: true)] + public Input MinSnapshotsToKeep { get; set; } = null!; + + public TableMaintenanceConfigurationIcebergSnapshotManagementSettingsArgs() + { + } + public static new TableMaintenanceConfigurationIcebergSnapshotManagementSettingsArgs Empty => new TableMaintenanceConfigurationIcebergSnapshotManagementSettingsArgs(); + } +} diff --git a/sdk/dotnet/S3Tables/Inputs/TableMaintenanceConfigurationIcebergSnapshotManagementSettingsGetArgs.cs b/sdk/dotnet/S3Tables/Inputs/TableMaintenanceConfigurationIcebergSnapshotManagementSettingsGetArgs.cs new file mode 100644 index 00000000000..87a07f3ef9f --- /dev/null +++ b/sdk/dotnet/S3Tables/Inputs/TableMaintenanceConfigurationIcebergSnapshotManagementSettingsGetArgs.cs @@ -0,0 +1,34 @@ +// *** WARNING: this file 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.S3Tables.Inputs +{ + + public sealed class TableMaintenanceConfigurationIcebergSnapshotManagementSettingsGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Snapshots older than this will be marked for deletiion. + /// Must be at least `1`. + /// + [Input("maxSnapshotAgeHours", required: true)] + public Input MaxSnapshotAgeHours { get; set; } = null!; + + /// + /// Minimum number of snapshots to keep. + /// Must be at least `1`. + /// + [Input("minSnapshotsToKeep", required: true)] + public Input MinSnapshotsToKeep { get; set; } = null!; + + public TableMaintenanceConfigurationIcebergSnapshotManagementSettingsGetArgs() + { + } + public static new TableMaintenanceConfigurationIcebergSnapshotManagementSettingsGetArgs Empty => new TableMaintenanceConfigurationIcebergSnapshotManagementSettingsGetArgs(); + } +} diff --git a/sdk/dotnet/S3Tables/Namespace.cs b/sdk/dotnet/S3Tables/Namespace.cs new file mode 100644 index 00000000000..48d1fd90c15 --- /dev/null +++ b/sdk/dotnet/S3Tables/Namespace.cs @@ -0,0 +1,189 @@ +// *** WARNING: this file 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.S3Tables +{ + /// + /// Resource for managing an Amazon S3 Tables Namespace. + /// + /// ## Example Usage + /// + /// ### Basic Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Aws = Pulumi.Aws; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var exampleTableBucket = new Aws.S3Tables.TableBucket("example", new() + /// { + /// Name = "example-bucket", + /// }); + /// + /// var example = new Aws.S3Tables.Namespace("example", new() + /// { + /// NameSpace = "example-namespace", + /// TableBucketArn = exampleTableBucket.Arn, + /// }); + /// + /// }); + /// ``` + /// + /// ## Import + /// + /// Using `pulumi import`, import S3 Tables Namespace using the `table_bucket_arn` and the value of `namespace`, separated by a semicolon (`;`). For example: + /// + /// ```sh + /// $ pulumi import aws:s3tables/namespace:Namespace example 'arn:aws:s3tables:us-west-2:123456789012:bucket/example-bucket;example-namespace' + /// ``` + /// + [AwsResourceType("aws:s3tables/namespace:Namespace")] + public partial class Namespace : global::Pulumi.CustomResource + { + /// + /// Date and time when the namespace was created. + /// + [Output("createdAt")] + public Output CreatedAt { get; private set; } = null!; + + /// + /// Account ID of the account that created the namespace. + /// + [Output("createdBy")] + public Output CreatedBy { get; private set; } = null!; + + /// + /// Name of the namespace. + /// Must be between 1 and 255 characters in length. + /// Can consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number. + /// + [Output("namespace")] + public Output NameSpace { get; private set; } = null!; + + /// + /// Account ID of the account that owns the namespace. + /// + [Output("ownerAccountId")] + public Output OwnerAccountId { get; private set; } = null!; + + /// + /// ARN referencing the Table Bucket that contains this Namespace. + /// + [Output("tableBucketArn")] + public Output TableBucketArn { get; private set; } = null!; + + + /// + /// Create a Namespace 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 Namespace(string name, NamespaceArgs args, CustomResourceOptions? options = null) + : base("aws:s3tables/namespace:Namespace", name, args ?? new NamespaceArgs(), MakeResourceOptions(options, "")) + { + } + + private Namespace(string name, Input id, NamespaceState? state = null, CustomResourceOptions? options = null) + : base("aws:s3tables/namespace:Namespace", 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 Namespace 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 Namespace Get(string name, Input id, NamespaceState? state = null, CustomResourceOptions? options = null) + { + return new Namespace(name, id, state, options); + } + } + + public sealed class NamespaceArgs : global::Pulumi.ResourceArgs + { + /// + /// Name of the namespace. + /// Must be between 1 and 255 characters in length. + /// Can consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number. + /// + [Input("namespace", required: true)] + public Input NameSpace { get; set; } = null!; + + /// + /// ARN referencing the Table Bucket that contains this Namespace. + /// + [Input("tableBucketArn", required: true)] + public Input TableBucketArn { get; set; } = null!; + + public NamespaceArgs() + { + } + public static new NamespaceArgs Empty => new NamespaceArgs(); + } + + public sealed class NamespaceState : global::Pulumi.ResourceArgs + { + /// + /// Date and time when the namespace was created. + /// + [Input("createdAt")] + public Input? CreatedAt { get; set; } + + /// + /// Account ID of the account that created the namespace. + /// + [Input("createdBy")] + public Input? CreatedBy { get; set; } + + /// + /// Name of the namespace. + /// Must be between 1 and 255 characters in length. + /// Can consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number. + /// + [Input("namespace")] + public Input? NameSpace { get; set; } + + /// + /// Account ID of the account that owns the namespace. + /// + [Input("ownerAccountId")] + public Input? OwnerAccountId { get; set; } + + /// + /// ARN referencing the Table Bucket that contains this Namespace. + /// + [Input("tableBucketArn")] + public Input? TableBucketArn { get; set; } + + public NamespaceState() + { + } + public static new NamespaceState Empty => new NamespaceState(); + } +} diff --git a/sdk/dotnet/S3Tables/Outputs/TableBucketMaintenanceConfiguration.cs b/sdk/dotnet/S3Tables/Outputs/TableBucketMaintenanceConfiguration.cs new file mode 100644 index 00000000000..4656c9314d8 --- /dev/null +++ b/sdk/dotnet/S3Tables/Outputs/TableBucketMaintenanceConfiguration.cs @@ -0,0 +1,28 @@ +// *** WARNING: this file 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.S3Tables.Outputs +{ + + [OutputType] + public sealed class TableBucketMaintenanceConfiguration + { + /// + /// A single Iceberg unreferenced file removal settings block. + /// See `iceberg_unreferenced_file_removal` below + /// + public readonly Outputs.TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemoval IcebergUnreferencedFileRemoval; + + [OutputConstructor] + private TableBucketMaintenanceConfiguration(Outputs.TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemoval icebergUnreferencedFileRemoval) + { + IcebergUnreferencedFileRemoval = icebergUnreferencedFileRemoval; + } + } +} diff --git a/sdk/dotnet/S3Tables/Outputs/TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemoval.cs b/sdk/dotnet/S3Tables/Outputs/TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemoval.cs new file mode 100644 index 00000000000..c08e6ac0fb4 --- /dev/null +++ b/sdk/dotnet/S3Tables/Outputs/TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemoval.cs @@ -0,0 +1,37 @@ +// *** WARNING: this file 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.S3Tables.Outputs +{ + + [OutputType] + public sealed class TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemoval + { + /// + /// Settings for unreferenced file removal. + /// See `iceberg_unreferenced_file_removal.settings` below + /// + public readonly Outputs.TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettings Settings; + /// + /// Whether the configuration is enabled. + /// Valid values are `enabled` and `disabled`. + /// + public readonly string Status; + + [OutputConstructor] + private TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemoval( + Outputs.TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettings settings, + + string status) + { + Settings = settings; + Status = status; + } + } +} diff --git a/sdk/dotnet/S3Tables/Outputs/TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettings.cs b/sdk/dotnet/S3Tables/Outputs/TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettings.cs new file mode 100644 index 00000000000..5545d1e0186 --- /dev/null +++ b/sdk/dotnet/S3Tables/Outputs/TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettings.cs @@ -0,0 +1,37 @@ +// *** WARNING: this file 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.S3Tables.Outputs +{ + + [OutputType] + public sealed class TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettings + { + /// + /// Data objects marked for deletion are deleted after this many days. + /// Must be at least `1`. + /// + public readonly double NonCurrentDays; + /// + /// Unreferenced data objects are marked for deletion after this many days. + /// Must be at least `1`. + /// + public readonly double UnreferencedDays; + + [OutputConstructor] + private TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettings( + double nonCurrentDays, + + double unreferencedDays) + { + NonCurrentDays = nonCurrentDays; + UnreferencedDays = unreferencedDays; + } + } +} diff --git a/sdk/dotnet/S3Tables/Outputs/TableMaintenanceConfiguration.cs b/sdk/dotnet/S3Tables/Outputs/TableMaintenanceConfiguration.cs new file mode 100644 index 00000000000..59f5b0a6abc --- /dev/null +++ b/sdk/dotnet/S3Tables/Outputs/TableMaintenanceConfiguration.cs @@ -0,0 +1,37 @@ +// *** WARNING: this file 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.S3Tables.Outputs +{ + + [OutputType] + public sealed class TableMaintenanceConfiguration + { + /// + /// A single Iceberg compaction settings block. + /// See `iceberg_compaction` below + /// + public readonly Outputs.TableMaintenanceConfigurationIcebergCompaction IcebergCompaction; + /// + /// A single Iceberg snapshot management settings block. + /// See `iceberg_snapshot_management` below + /// + public readonly Outputs.TableMaintenanceConfigurationIcebergSnapshotManagement IcebergSnapshotManagement; + + [OutputConstructor] + private TableMaintenanceConfiguration( + Outputs.TableMaintenanceConfigurationIcebergCompaction icebergCompaction, + + Outputs.TableMaintenanceConfigurationIcebergSnapshotManagement icebergSnapshotManagement) + { + IcebergCompaction = icebergCompaction; + IcebergSnapshotManagement = icebergSnapshotManagement; + } + } +} diff --git a/sdk/dotnet/S3Tables/Outputs/TableMaintenanceConfigurationIcebergCompaction.cs b/sdk/dotnet/S3Tables/Outputs/TableMaintenanceConfigurationIcebergCompaction.cs new file mode 100644 index 00000000000..9f4be93a210 --- /dev/null +++ b/sdk/dotnet/S3Tables/Outputs/TableMaintenanceConfigurationIcebergCompaction.cs @@ -0,0 +1,37 @@ +// *** WARNING: this file 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.S3Tables.Outputs +{ + + [OutputType] + public sealed class TableMaintenanceConfigurationIcebergCompaction + { + /// + /// Settings for compaction. + /// See `iceberg_compaction.settings` below + /// + public readonly Outputs.TableMaintenanceConfigurationIcebergCompactionSettings Settings; + /// + /// Whether the configuration is enabled. + /// Valid values are `enabled` and `disabled`. + /// + public readonly string Status; + + [OutputConstructor] + private TableMaintenanceConfigurationIcebergCompaction( + Outputs.TableMaintenanceConfigurationIcebergCompactionSettings settings, + + string status) + { + Settings = settings; + Status = status; + } + } +} diff --git a/sdk/dotnet/S3Tables/Outputs/TableMaintenanceConfigurationIcebergCompactionSettings.cs b/sdk/dotnet/S3Tables/Outputs/TableMaintenanceConfigurationIcebergCompactionSettings.cs new file mode 100644 index 00000000000..ed49738a47b --- /dev/null +++ b/sdk/dotnet/S3Tables/Outputs/TableMaintenanceConfigurationIcebergCompactionSettings.cs @@ -0,0 +1,28 @@ +// *** WARNING: this file 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.S3Tables.Outputs +{ + + [OutputType] + public sealed class TableMaintenanceConfigurationIcebergCompactionSettings + { + /// + /// Data objects smaller than this size may be combined with others to improve query performance. + /// Must be between `64` and `512`. + /// + public readonly double TargetFileSizeMb; + + [OutputConstructor] + private TableMaintenanceConfigurationIcebergCompactionSettings(double targetFileSizeMb) + { + TargetFileSizeMb = targetFileSizeMb; + } + } +} diff --git a/sdk/dotnet/S3Tables/Outputs/TableMaintenanceConfigurationIcebergSnapshotManagement.cs b/sdk/dotnet/S3Tables/Outputs/TableMaintenanceConfigurationIcebergSnapshotManagement.cs new file mode 100644 index 00000000000..57b1695ab3b --- /dev/null +++ b/sdk/dotnet/S3Tables/Outputs/TableMaintenanceConfigurationIcebergSnapshotManagement.cs @@ -0,0 +1,37 @@ +// *** WARNING: this file 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.S3Tables.Outputs +{ + + [OutputType] + public sealed class TableMaintenanceConfigurationIcebergSnapshotManagement + { + /// + /// Settings for snapshot management. + /// See `iceberg_snapshot_management.settings` below + /// + public readonly Outputs.TableMaintenanceConfigurationIcebergSnapshotManagementSettings Settings; + /// + /// Whether the configuration is enabled. + /// Valid values are `enabled` and `disabled`. + /// + public readonly string Status; + + [OutputConstructor] + private TableMaintenanceConfigurationIcebergSnapshotManagement( + Outputs.TableMaintenanceConfigurationIcebergSnapshotManagementSettings settings, + + string status) + { + Settings = settings; + Status = status; + } + } +} diff --git a/sdk/dotnet/S3Tables/Outputs/TableMaintenanceConfigurationIcebergSnapshotManagementSettings.cs b/sdk/dotnet/S3Tables/Outputs/TableMaintenanceConfigurationIcebergSnapshotManagementSettings.cs new file mode 100644 index 00000000000..f2e4aeaf797 --- /dev/null +++ b/sdk/dotnet/S3Tables/Outputs/TableMaintenanceConfigurationIcebergSnapshotManagementSettings.cs @@ -0,0 +1,37 @@ +// *** WARNING: this file 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.S3Tables.Outputs +{ + + [OutputType] + public sealed class TableMaintenanceConfigurationIcebergSnapshotManagementSettings + { + /// + /// Snapshots older than this will be marked for deletiion. + /// Must be at least `1`. + /// + public readonly double MaxSnapshotAgeHours; + /// + /// Minimum number of snapshots to keep. + /// Must be at least `1`. + /// + public readonly double MinSnapshotsToKeep; + + [OutputConstructor] + private TableMaintenanceConfigurationIcebergSnapshotManagementSettings( + double maxSnapshotAgeHours, + + double minSnapshotsToKeep) + { + MaxSnapshotAgeHours = maxSnapshotAgeHours; + MinSnapshotsToKeep = minSnapshotsToKeep; + } + } +} diff --git a/sdk/dotnet/S3Tables/README.md b/sdk/dotnet/S3Tables/README.md new file mode 100644 index 00000000000..9d868f18f20 --- /dev/null +++ b/sdk/dotnet/S3Tables/README.md @@ -0,0 +1 @@ +A Pulumi package for creating and managing Amazon Web Services (AWS) cloud resources. diff --git a/sdk/dotnet/S3Tables/Table.cs b/sdk/dotnet/S3Tables/Table.cs new file mode 100644 index 00000000000..9f12074d2dc --- /dev/null +++ b/sdk/dotnet/S3Tables/Table.cs @@ -0,0 +1,355 @@ +// *** WARNING: this file 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.S3Tables +{ + /// + /// Resource for managing an Amazon S3 Tables Table. + /// + /// ## Example Usage + /// + /// ### Basic Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Aws = Pulumi.Aws; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var exampleTableBucket = new Aws.S3Tables.TableBucket("example", new() + /// { + /// Name = "example-bucket", + /// }); + /// + /// var exampleNamespace = new Aws.S3Tables.Namespace("example", new() + /// { + /// NameSpace = "example-namespace", + /// TableBucketArn = exampleTableBucket.Arn, + /// }); + /// + /// var example = new Aws.S3Tables.Table("example", new() + /// { + /// Name = "example-table", + /// Namespace = exampleNamespace, + /// TableBucketArn = exampleNamespace.TableBucketArn, + /// Format = "ICEBERG", + /// }); + /// + /// }); + /// ``` + /// + /// ## Import + /// + /// Using `pulumi import`, import S3 Tables Table using the `table_bucket_arn`, the value of `namespace`, and the value of `name`, separated by a semicolon (`;`). For example: + /// + /// ```sh + /// $ pulumi import aws:s3tables/table:Table example 'arn:aws:s3tables:us-west-2:123456789012:bucket/example-bucket;example-namespace;example-table' + /// ``` + /// + [AwsResourceType("aws:s3tables/table:Table")] + public partial class Table : global::Pulumi.CustomResource + { + /// + /// ARN of the table. + /// + [Output("arn")] + public Output Arn { get; private set; } = null!; + + /// + /// Date and time when the namespace was created. + /// + [Output("createdAt")] + public Output CreatedAt { get; private set; } = null!; + + /// + /// Account ID of the account that created the namespace. + /// + [Output("createdBy")] + public Output CreatedBy { get; private set; } = null!; + + /// + /// Format of the table. + /// Must be `ICEBERG`. + /// + [Output("format")] + public Output Format { get; private set; } = null!; + + /// + /// A single table bucket maintenance configuration block. + /// See `maintenance_configuration` below + /// + [Output("maintenanceConfiguration")] + public Output MaintenanceConfiguration { get; private set; } = null!; + + /// + /// Location of table metadata. + /// + [Output("metadataLocation")] + public Output MetadataLocation { get; private set; } = null!; + + /// + /// Date and time when the namespace was last modified. + /// + [Output("modifiedAt")] + public Output ModifiedAt { get; private set; } = null!; + + /// + /// Account ID of the account that last modified the namespace. + /// + [Output("modifiedBy")] + public Output ModifiedBy { get; private set; } = null!; + + /// + /// Name of the table. + /// Must be between 1 and 255 characters in length. + /// Can consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number. + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// Name of the namespace for this table. + /// Must be between 1 and 255 characters in length. + /// Can consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number. + /// + [Output("namespace")] + public Output Namespace { get; private set; } = null!; + + /// + /// Account ID of the account that owns the namespace. + /// + [Output("ownerAccountId")] + public Output OwnerAccountId { get; private set; } = null!; + + /// + /// ARN referencing the Table Bucket that contains this Namespace. + /// + /// The following argument is optional: + /// + [Output("tableBucketArn")] + public Output TableBucketArn { get; private set; } = null!; + + /// + /// Type of the table. + /// One of `customer` or `aws`. + /// + [Output("type")] + public Output Type { get; private set; } = null!; + + /// + /// Identifier for the current version of table data. + /// + [Output("versionToken")] + public Output VersionToken { get; private set; } = null!; + + /// + /// S3 URI pointing to the S3 Bucket that contains the table data. + /// + [Output("warehouseLocation")] + public Output WarehouseLocation { get; private set; } = null!; + + + /// + /// Create a Table 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 Table(string name, TableArgs args, CustomResourceOptions? options = null) + : base("aws:s3tables/table:Table", name, args ?? new TableArgs(), MakeResourceOptions(options, "")) + { + } + + private Table(string name, Input id, TableState? state = null, CustomResourceOptions? options = null) + : base("aws:s3tables/table:Table", 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 Table 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 Table Get(string name, Input id, TableState? state = null, CustomResourceOptions? options = null) + { + return new Table(name, id, state, options); + } + } + + public sealed class TableArgs : global::Pulumi.ResourceArgs + { + /// + /// Format of the table. + /// Must be `ICEBERG`. + /// + [Input("format", required: true)] + public Input Format { get; set; } = null!; + + /// + /// A single table bucket maintenance configuration block. + /// See `maintenance_configuration` below + /// + [Input("maintenanceConfiguration")] + public Input? MaintenanceConfiguration { get; set; } + + /// + /// Name of the table. + /// Must be between 1 and 255 characters in length. + /// Can consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number. + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// Name of the namespace for this table. + /// Must be between 1 and 255 characters in length. + /// Can consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number. + /// + [Input("namespace", required: true)] + public Input Namespace { get; set; } = null!; + + /// + /// ARN referencing the Table Bucket that contains this Namespace. + /// + /// The following argument is optional: + /// + [Input("tableBucketArn", required: true)] + public Input TableBucketArn { get; set; } = null!; + + public TableArgs() + { + } + public static new TableArgs Empty => new TableArgs(); + } + + public sealed class TableState : global::Pulumi.ResourceArgs + { + /// + /// ARN of the table. + /// + [Input("arn")] + public Input? Arn { get; set; } + + /// + /// Date and time when the namespace was created. + /// + [Input("createdAt")] + public Input? CreatedAt { get; set; } + + /// + /// Account ID of the account that created the namespace. + /// + [Input("createdBy")] + public Input? CreatedBy { get; set; } + + /// + /// Format of the table. + /// Must be `ICEBERG`. + /// + [Input("format")] + public Input? Format { get; set; } + + /// + /// A single table bucket maintenance configuration block. + /// See `maintenance_configuration` below + /// + [Input("maintenanceConfiguration")] + public Input? MaintenanceConfiguration { get; set; } + + /// + /// Location of table metadata. + /// + [Input("metadataLocation")] + public Input? MetadataLocation { get; set; } + + /// + /// Date and time when the namespace was last modified. + /// + [Input("modifiedAt")] + public Input? ModifiedAt { get; set; } + + /// + /// Account ID of the account that last modified the namespace. + /// + [Input("modifiedBy")] + public Input? ModifiedBy { get; set; } + + /// + /// Name of the table. + /// Must be between 1 and 255 characters in length. + /// Can consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number. + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// Name of the namespace for this table. + /// Must be between 1 and 255 characters in length. + /// Can consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number. + /// + [Input("namespace")] + public Input? Namespace { get; set; } + + /// + /// Account ID of the account that owns the namespace. + /// + [Input("ownerAccountId")] + public Input? OwnerAccountId { get; set; } + + /// + /// ARN referencing the Table Bucket that contains this Namespace. + /// + /// The following argument is optional: + /// + [Input("tableBucketArn")] + public Input? TableBucketArn { get; set; } + + /// + /// Type of the table. + /// One of `customer` or `aws`. + /// + [Input("type")] + public Input? Type { get; set; } + + /// + /// Identifier for the current version of table data. + /// + [Input("versionToken")] + public Input? VersionToken { get; set; } + + /// + /// S3 URI pointing to the S3 Bucket that contains the table data. + /// + [Input("warehouseLocation")] + public Input? WarehouseLocation { get; set; } + + public TableState() + { + } + public static new TableState Empty => new TableState(); + } +} diff --git a/sdk/dotnet/S3Tables/TableBucket.cs b/sdk/dotnet/S3Tables/TableBucket.cs new file mode 100644 index 00000000000..e1161ce7048 --- /dev/null +++ b/sdk/dotnet/S3Tables/TableBucket.cs @@ -0,0 +1,195 @@ +// *** WARNING: this file 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.S3Tables +{ + /// + /// Resource for managing an Amazon S3 Tables Table Bucket. + /// + /// ## Example Usage + /// + /// ### Basic Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Aws = Pulumi.Aws; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var example = new Aws.S3Tables.TableBucket("example", new() + /// { + /// Name = "example-bucket", + /// }); + /// + /// }); + /// ``` + /// + /// ## Import + /// + /// Using `pulumi import`, import S3 Tables Table Bucket using the `arn`. For example: + /// + /// ```sh + /// $ pulumi import aws:s3tables/tableBucket:TableBucket example arn:aws:s3tables:us-west-2:123456789012:bucket/example-bucket + /// ``` + /// + [AwsResourceType("aws:s3tables/tableBucket:TableBucket")] + public partial class TableBucket : global::Pulumi.CustomResource + { + /// + /// ARN of the table bucket. + /// + [Output("arn")] + public Output Arn { get; private set; } = null!; + + /// + /// Date and time when the bucket was created. + /// + [Output("createdAt")] + public Output CreatedAt { get; private set; } = null!; + + /// + /// A single table bucket maintenance configuration block. + /// See `maintenance_configuration` below + /// + [Output("maintenanceConfiguration")] + public Output MaintenanceConfiguration { get; private set; } = null!; + + /// + /// Name of the table bucket. + /// Must be between 3 and 63 characters in length. + /// Can consist of lowercase letters, numbers, and hyphens, and must begin and end with a lowercase letter or number. + /// A full list of bucket naming rules may be found in S3 Tables documentation. + /// + /// The following argument is optional: + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// Account ID of the account that owns the table bucket. + /// + [Output("ownerAccountId")] + public Output OwnerAccountId { get; private set; } = null!; + + + /// + /// Create a TableBucket 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 TableBucket(string name, TableBucketArgs? args = null, CustomResourceOptions? options = null) + : base("aws:s3tables/tableBucket:TableBucket", name, args ?? new TableBucketArgs(), MakeResourceOptions(options, "")) + { + } + + private TableBucket(string name, Input id, TableBucketState? state = null, CustomResourceOptions? options = null) + : base("aws:s3tables/tableBucket:TableBucket", 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 TableBucket 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 TableBucket Get(string name, Input id, TableBucketState? state = null, CustomResourceOptions? options = null) + { + return new TableBucket(name, id, state, options); + } + } + + public sealed class TableBucketArgs : global::Pulumi.ResourceArgs + { + /// + /// A single table bucket maintenance configuration block. + /// See `maintenance_configuration` below + /// + [Input("maintenanceConfiguration")] + public Input? MaintenanceConfiguration { get; set; } + + /// + /// Name of the table bucket. + /// Must be between 3 and 63 characters in length. + /// Can consist of lowercase letters, numbers, and hyphens, and must begin and end with a lowercase letter or number. + /// A full list of bucket naming rules may be found in S3 Tables documentation. + /// + /// The following argument is optional: + /// + [Input("name")] + public Input? Name { get; set; } + + public TableBucketArgs() + { + } + public static new TableBucketArgs Empty => new TableBucketArgs(); + } + + public sealed class TableBucketState : global::Pulumi.ResourceArgs + { + /// + /// ARN of the table bucket. + /// + [Input("arn")] + public Input? Arn { get; set; } + + /// + /// Date and time when the bucket was created. + /// + [Input("createdAt")] + public Input? CreatedAt { get; set; } + + /// + /// A single table bucket maintenance configuration block. + /// See `maintenance_configuration` below + /// + [Input("maintenanceConfiguration")] + public Input? MaintenanceConfiguration { get; set; } + + /// + /// Name of the table bucket. + /// Must be between 3 and 63 characters in length. + /// Can consist of lowercase letters, numbers, and hyphens, and must begin and end with a lowercase letter or number. + /// A full list of bucket naming rules may be found in S3 Tables documentation. + /// + /// The following argument is optional: + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// Account ID of the account that owns the table bucket. + /// + [Input("ownerAccountId")] + public Input? OwnerAccountId { get; set; } + + public TableBucketState() + { + } + public static new TableBucketState Empty => new TableBucketState(); + } +} diff --git a/sdk/dotnet/S3Tables/TableBucketPolicy.cs b/sdk/dotnet/S3Tables/TableBucketPolicy.cs new file mode 100644 index 00000000000..e636b8dc0b5 --- /dev/null +++ b/sdk/dotnet/S3Tables/TableBucketPolicy.cs @@ -0,0 +1,155 @@ +// *** WARNING: this file 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.S3Tables +{ + /// + /// Resource for managing an Amazon S3 Tables Table Bucket Policy. + /// + /// ## 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.Iam.GetPolicyDocument.Invoke(new() + /// { + /// Statements = new[] + /// { + /// null, + /// }, + /// }); + /// + /// var exampleTableBucketPolicy = new Aws.S3Tables.TableBucketPolicy("example", new() + /// { + /// ResourcePolicy = example.Apply(getPolicyDocumentResult => getPolicyDocumentResult.Json), + /// TableBucketArn = exampleAwsS3tablesTableBucket.Arn, + /// }); + /// + /// var test = new Aws.S3Tables.TableBucket("test", new() + /// { + /// Name = "example-bucket", + /// }); + /// + /// }); + /// ``` + /// + /// ## Import + /// + /// Using `pulumi import`, import S3 Tables Table Bucket Policy using the `table_bucket_arn`. For example: + /// + /// ```sh + /// $ pulumi import aws:s3tables/tableBucketPolicy:TableBucketPolicy example 'arn:aws:s3tables:us-west-2:123456789012:bucket/example-bucket;example-namespace' + /// ``` + /// + [AwsResourceType("aws:s3tables/tableBucketPolicy:TableBucketPolicy")] + public partial class TableBucketPolicy : global::Pulumi.CustomResource + { + /// + /// Amazon Web Services resource-based policy document in JSON format. + /// + [Output("resourcePolicy")] + public Output ResourcePolicy { get; private set; } = null!; + + /// + /// ARN referencing the Table Bucket that owns this policy. + /// + [Output("tableBucketArn")] + public Output TableBucketArn { get; private set; } = null!; + + + /// + /// Create a TableBucketPolicy 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 TableBucketPolicy(string name, TableBucketPolicyArgs args, CustomResourceOptions? options = null) + : base("aws:s3tables/tableBucketPolicy:TableBucketPolicy", name, args ?? new TableBucketPolicyArgs(), MakeResourceOptions(options, "")) + { + } + + private TableBucketPolicy(string name, Input id, TableBucketPolicyState? state = null, CustomResourceOptions? options = null) + : base("aws:s3tables/tableBucketPolicy:TableBucketPolicy", 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 TableBucketPolicy 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 TableBucketPolicy Get(string name, Input id, TableBucketPolicyState? state = null, CustomResourceOptions? options = null) + { + return new TableBucketPolicy(name, id, state, options); + } + } + + public sealed class TableBucketPolicyArgs : global::Pulumi.ResourceArgs + { + /// + /// Amazon Web Services resource-based policy document in JSON format. + /// + [Input("resourcePolicy", required: true)] + public Input ResourcePolicy { get; set; } = null!; + + /// + /// ARN referencing the Table Bucket that owns this policy. + /// + [Input("tableBucketArn", required: true)] + public Input TableBucketArn { get; set; } = null!; + + public TableBucketPolicyArgs() + { + } + public static new TableBucketPolicyArgs Empty => new TableBucketPolicyArgs(); + } + + public sealed class TableBucketPolicyState : global::Pulumi.ResourceArgs + { + /// + /// Amazon Web Services resource-based policy document in JSON format. + /// + [Input("resourcePolicy")] + public Input? ResourcePolicy { get; set; } + + /// + /// ARN referencing the Table Bucket that owns this policy. + /// + [Input("tableBucketArn")] + public Input? TableBucketArn { get; set; } + + public TableBucketPolicyState() + { + } + public static new TableBucketPolicyState Empty => new TableBucketPolicyState(); + } +} diff --git a/sdk/dotnet/S3Tables/TablePolicy.cs b/sdk/dotnet/S3Tables/TablePolicy.cs new file mode 100644 index 00000000000..bf41d24a5bf --- /dev/null +++ b/sdk/dotnet/S3Tables/TablePolicy.cs @@ -0,0 +1,171 @@ +// *** WARNING: this file 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.S3Tables +{ + /// + /// Resource for managing an Amazon S3 Tables Table Policy. + /// + /// ## Example Usage + /// + /// ## Import + /// + /// Using `pulumi import`, import S3 Tables Table Policy using the `table_bucket_arn`, the value of `namespace`, and the value of `name`, separated by a semicolon (`;`). For example: + /// + /// ```sh + /// $ pulumi import aws:s3tables/tablePolicy:TablePolicy example 'arn:aws:s3tables:us-west-2:123456789012:bucket/example-bucket;example-namespace;example-table' + /// ``` + /// + [AwsResourceType("aws:s3tables/tablePolicy:TablePolicy")] + public partial class TablePolicy : global::Pulumi.CustomResource + { + /// + /// Name of the table. + /// Must be between 1 and 255 characters in length. + /// Can consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number. + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// Name of the namespace for this table. + /// Must be between 1 and 255 characters in length. + /// Can consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number. + /// + [Output("namespace")] + public Output Namespace { get; private set; } = null!; + + /// + /// Amazon Web Services resource-based policy document in JSON format. + /// + [Output("resourcePolicy")] + public Output ResourcePolicy { get; private set; } = null!; + + /// + /// ARN referencing the Table Bucket that contains this Namespace. + /// + [Output("tableBucketArn")] + public Output TableBucketArn { get; private set; } = null!; + + + /// + /// Create a TablePolicy 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 TablePolicy(string name, TablePolicyArgs args, CustomResourceOptions? options = null) + : base("aws:s3tables/tablePolicy:TablePolicy", name, args ?? new TablePolicyArgs(), MakeResourceOptions(options, "")) + { + } + + private TablePolicy(string name, Input id, TablePolicyState? state = null, CustomResourceOptions? options = null) + : base("aws:s3tables/tablePolicy:TablePolicy", 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 TablePolicy 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 TablePolicy Get(string name, Input id, TablePolicyState? state = null, CustomResourceOptions? options = null) + { + return new TablePolicy(name, id, state, options); + } + } + + public sealed class TablePolicyArgs : global::Pulumi.ResourceArgs + { + /// + /// Name of the table. + /// Must be between 1 and 255 characters in length. + /// Can consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number. + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// Name of the namespace for this table. + /// Must be between 1 and 255 characters in length. + /// Can consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number. + /// + [Input("namespace", required: true)] + public Input Namespace { get; set; } = null!; + + /// + /// Amazon Web Services resource-based policy document in JSON format. + /// + [Input("resourcePolicy", required: true)] + public Input ResourcePolicy { get; set; } = null!; + + /// + /// ARN referencing the Table Bucket that contains this Namespace. + /// + [Input("tableBucketArn", required: true)] + public Input TableBucketArn { get; set; } = null!; + + public TablePolicyArgs() + { + } + public static new TablePolicyArgs Empty => new TablePolicyArgs(); + } + + public sealed class TablePolicyState : global::Pulumi.ResourceArgs + { + /// + /// Name of the table. + /// Must be between 1 and 255 characters in length. + /// Can consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number. + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// Name of the namespace for this table. + /// Must be between 1 and 255 characters in length. + /// Can consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number. + /// + [Input("namespace")] + public Input? Namespace { get; set; } + + /// + /// Amazon Web Services resource-based policy document in JSON format. + /// + [Input("resourcePolicy")] + public Input? ResourcePolicy { get; set; } + + /// + /// ARN referencing the Table Bucket that contains this Namespace. + /// + [Input("tableBucketArn")] + public Input? TableBucketArn { get; set; } + + public TablePolicyState() + { + } + public static new TablePolicyState Empty => new TablePolicyState(); + } +} diff --git a/sdk/dotnet/SecurityHub/StandardsControlAssociation.cs b/sdk/dotnet/SecurityHub/StandardsControlAssociation.cs index 173af78b7cc..7d0f88a1d88 100644 --- a/sdk/dotnet/SecurityHub/StandardsControlAssociation.cs +++ b/sdk/dotnet/SecurityHub/StandardsControlAssociation.cs @@ -35,7 +35,7 @@ namespace Pulumi.Aws.SecurityHub /// }, /// }); /// - /// var cisAwsFoundationsBenchmarkDisableIam1 = new Aws.Index.StandardsControlAssociation("cis_aws_foundations_benchmark_disable_iam_1", new() + /// var cisAwsFoundationsBenchmarkDisableIam1 = new Aws.SecurityHub.StandardsControlAssociation("cis_aws_foundations_benchmark_disable_iam_1", new() /// { /// StandardsArn = cisAwsFoundationsBenchmark.StandardsArn, /// SecurityControlId = "IAM.1", diff --git a/sdk/go/aws/bedrock/agentAgent.go b/sdk/go/aws/bedrock/agentAgent.go index 42363f0d8d6..76ea4b5e394 100644 --- a/sdk/go/aws/bedrock/agentAgent.go +++ b/sdk/go/aws/bedrock/agentAgent.go @@ -154,11 +154,12 @@ type AgentAgent struct { // Foundation model used for orchestration by the agent. // // The following arguments are optional: - FoundationModel pulumi.StringOutput `pulumi:"foundationModel"` + FoundationModel pulumi.StringOutput `pulumi:"foundationModel"` + // Details about the guardrail associated with the agent. See `guardrailConfiguration` Block for details. GuardrailConfigurations AgentAgentGuardrailConfigurationArrayOutput `pulumi:"guardrailConfigurations"` // Number of seconds for which Amazon Bedrock keeps information about a user's conversation with the agent. A user interaction remains active for the amount of time specified. If no conversation occurs during this time, the session expires and Amazon Bedrock deletes any data provided before the timeout. IdleSessionTtlInSeconds pulumi.IntOutput `pulumi:"idleSessionTtlInSeconds"` - // Instructions that tell the agent what it should do and how it should interact with users. + // Instructions that tell the agent what it should do and how it should interact with users. The valid range is 40 - 8000 characters. Instruction pulumi.StringOutput `pulumi:"instruction"` // Whether to prepare the agent after creation or modification. Defaults to `true`. PrepareAgent pulumi.BoolOutput `pulumi:"prepareAgent"` @@ -231,11 +232,12 @@ type agentAgentState struct { // Foundation model used for orchestration by the agent. // // The following arguments are optional: - FoundationModel *string `pulumi:"foundationModel"` + FoundationModel *string `pulumi:"foundationModel"` + // Details about the guardrail associated with the agent. See `guardrailConfiguration` Block for details. GuardrailConfigurations []AgentAgentGuardrailConfiguration `pulumi:"guardrailConfigurations"` // Number of seconds for which Amazon Bedrock keeps information about a user's conversation with the agent. A user interaction remains active for the amount of time specified. If no conversation occurs during this time, the session expires and Amazon Bedrock deletes any data provided before the timeout. IdleSessionTtlInSeconds *int `pulumi:"idleSessionTtlInSeconds"` - // Instructions that tell the agent what it should do and how it should interact with users. + // Instructions that tell the agent what it should do and how it should interact with users. The valid range is 40 - 8000 characters. Instruction *string `pulumi:"instruction"` // Whether to prepare the agent after creation or modification. Defaults to `true`. PrepareAgent *bool `pulumi:"prepareAgent"` @@ -270,11 +272,12 @@ type AgentAgentState struct { // Foundation model used for orchestration by the agent. // // The following arguments are optional: - FoundationModel pulumi.StringPtrInput + FoundationModel pulumi.StringPtrInput + // Details about the guardrail associated with the agent. See `guardrailConfiguration` Block for details. GuardrailConfigurations AgentAgentGuardrailConfigurationArrayInput // Number of seconds for which Amazon Bedrock keeps information about a user's conversation with the agent. A user interaction remains active for the amount of time specified. If no conversation occurs during this time, the session expires and Amazon Bedrock deletes any data provided before the timeout. IdleSessionTtlInSeconds pulumi.IntPtrInput - // Instructions that tell the agent what it should do and how it should interact with users. + // Instructions that tell the agent what it should do and how it should interact with users. The valid range is 40 - 8000 characters. Instruction pulumi.StringPtrInput // Whether to prepare the agent after creation or modification. Defaults to `true`. PrepareAgent pulumi.BoolPtrInput @@ -307,11 +310,12 @@ type agentAgentArgs struct { // Foundation model used for orchestration by the agent. // // The following arguments are optional: - FoundationModel string `pulumi:"foundationModel"` + FoundationModel string `pulumi:"foundationModel"` + // Details about the guardrail associated with the agent. See `guardrailConfiguration` Block for details. GuardrailConfigurations []AgentAgentGuardrailConfiguration `pulumi:"guardrailConfigurations"` // Number of seconds for which Amazon Bedrock keeps information about a user's conversation with the agent. A user interaction remains active for the amount of time specified. If no conversation occurs during this time, the session expires and Amazon Bedrock deletes any data provided before the timeout. IdleSessionTtlInSeconds *int `pulumi:"idleSessionTtlInSeconds"` - // Instructions that tell the agent what it should do and how it should interact with users. + // Instructions that tell the agent what it should do and how it should interact with users. The valid range is 40 - 8000 characters. Instruction *string `pulumi:"instruction"` // Whether to prepare the agent after creation or modification. Defaults to `true`. PrepareAgent *bool `pulumi:"prepareAgent"` @@ -337,11 +341,12 @@ type AgentAgentArgs struct { // Foundation model used for orchestration by the agent. // // The following arguments are optional: - FoundationModel pulumi.StringInput + FoundationModel pulumi.StringInput + // Details about the guardrail associated with the agent. See `guardrailConfiguration` Block for details. GuardrailConfigurations AgentAgentGuardrailConfigurationArrayInput // Number of seconds for which Amazon Bedrock keeps information about a user's conversation with the agent. A user interaction remains active for the amount of time specified. If no conversation occurs during this time, the session expires and Amazon Bedrock deletes any data provided before the timeout. IdleSessionTtlInSeconds pulumi.IntPtrInput - // Instructions that tell the agent what it should do and how it should interact with users. + // Instructions that tell the agent what it should do and how it should interact with users. The valid range is 40 - 8000 characters. Instruction pulumi.StringPtrInput // Whether to prepare the agent after creation or modification. Defaults to `true`. PrepareAgent pulumi.BoolPtrInput @@ -483,6 +488,7 @@ func (o AgentAgentOutput) FoundationModel() pulumi.StringOutput { return o.ApplyT(func(v *AgentAgent) pulumi.StringOutput { return v.FoundationModel }).(pulumi.StringOutput) } +// Details about the guardrail associated with the agent. See `guardrailConfiguration` Block for details. func (o AgentAgentOutput) GuardrailConfigurations() AgentAgentGuardrailConfigurationArrayOutput { return o.ApplyT(func(v *AgentAgent) AgentAgentGuardrailConfigurationArrayOutput { return v.GuardrailConfigurations }).(AgentAgentGuardrailConfigurationArrayOutput) } @@ -492,7 +498,7 @@ func (o AgentAgentOutput) IdleSessionTtlInSeconds() pulumi.IntOutput { return o.ApplyT(func(v *AgentAgent) pulumi.IntOutput { return v.IdleSessionTtlInSeconds }).(pulumi.IntOutput) } -// Instructions that tell the agent what it should do and how it should interact with users. +// Instructions that tell the agent what it should do and how it should interact with users. The valid range is 40 - 8000 characters. func (o AgentAgentOutput) Instruction() pulumi.StringOutput { return o.ApplyT(func(v *AgentAgent) pulumi.StringOutput { return v.Instruction }).(pulumi.StringOutput) } diff --git a/sdk/go/aws/codeconnections/connection.go b/sdk/go/aws/codeconnections/connection.go new file mode 100644 index 00000000000..2d46394afbd --- /dev/null +++ b/sdk/go/aws/codeconnections/connection.go @@ -0,0 +1,356 @@ +// 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 codeconnections + +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 CodeConnections Connection. +// +// > **NOTE:** The `codeconnections.Connection` resource is created in the state `PENDING`. Authentication with the connection provider must be completed in the AWS Console. See the [AWS documentation](https://docs.aws.amazon.com/dtconsole/latest/userguide/connections-update.html) for details. +// +// ## Example Usage +// +// ### Basic Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/codeconnections" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := codeconnections.NewConnection(ctx, "example", &codeconnections.ConnectionArgs{ +// Name: pulumi.String("example-connection"), +// ProviderType: pulumi.String("Bitbucket"), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// ## Import +// +// Using `pulumi import`, import CodeConnections connection using the ARN. For example: +// +// ```sh +// $ pulumi import aws:codeconnections/connection:Connection test-connection arn:aws:codeconnections:us-west-1:0123456789:connection/79d4d357-a2ee-41e4-b350-2fe39ae59448 +// ``` +type Connection struct { + pulumi.CustomResourceState + + // The codeconnections connection ARN. + Arn pulumi.StringOutput `pulumi:"arn"` + // The codeconnections connection status. Possible values are `PENDING`, `AVAILABLE` and `ERROR`. + ConnectionStatus pulumi.StringOutput `pulumi:"connectionStatus"` + // The Amazon Resource Name (ARN) of the host associated with the connection. Conflicts with `providerType` + HostArn pulumi.StringPtrOutput `pulumi:"hostArn"` + // The name of the connection to be created. The name must be unique in the calling AWS account. Changing `name` will create a new resource. + Name pulumi.StringOutput `pulumi:"name"` + OwnerAccountId pulumi.StringOutput `pulumi:"ownerAccountId"` + // The name of the external provider where your third-party code repository is configured. Changing `providerType` will create a new resource. Conflicts with `hostArn`. + ProviderType pulumi.StringOutput `pulumi:"providerType"` + // Map of key-value resource tags to associate with the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + Tags pulumi.StringMapOutput `pulumi:"tags"` + // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + // + // Deprecated: Please use `tags` instead. + TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"` + Timeouts ConnectionTimeoutsPtrOutput `pulumi:"timeouts"` +} + +// NewConnection registers a new resource with the given unique name, arguments, and options. +func NewConnection(ctx *pulumi.Context, + name string, args *ConnectionArgs, opts ...pulumi.ResourceOption) (*Connection, error) { + if args == nil { + args = &ConnectionArgs{} + } + + opts = internal.PkgResourceDefaultOpts(opts) + var resource Connection + err := ctx.RegisterResource("aws:codeconnections/connection:Connection", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetConnection gets an existing Connection 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 GetConnection(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *ConnectionState, opts ...pulumi.ResourceOption) (*Connection, error) { + var resource Connection + err := ctx.ReadResource("aws:codeconnections/connection:Connection", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering Connection resources. +type connectionState struct { + // The codeconnections connection ARN. + Arn *string `pulumi:"arn"` + // The codeconnections connection status. Possible values are `PENDING`, `AVAILABLE` and `ERROR`. + ConnectionStatus *string `pulumi:"connectionStatus"` + // The Amazon Resource Name (ARN) of the host associated with the connection. Conflicts with `providerType` + HostArn *string `pulumi:"hostArn"` + // The name of the connection to be created. The name must be unique in the calling AWS account. Changing `name` will create a new resource. + Name *string `pulumi:"name"` + OwnerAccountId *string `pulumi:"ownerAccountId"` + // The name of the external provider where your third-party code repository is configured. Changing `providerType` will create a new resource. Conflicts with `hostArn`. + ProviderType *string `pulumi:"providerType"` + // Map of key-value resource tags to associate with the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + Tags map[string]string `pulumi:"tags"` + // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + // + // Deprecated: Please use `tags` instead. + TagsAll map[string]string `pulumi:"tagsAll"` + Timeouts *ConnectionTimeouts `pulumi:"timeouts"` +} + +type ConnectionState struct { + // The codeconnections connection ARN. + Arn pulumi.StringPtrInput + // The codeconnections connection status. Possible values are `PENDING`, `AVAILABLE` and `ERROR`. + ConnectionStatus pulumi.StringPtrInput + // The Amazon Resource Name (ARN) of the host associated with the connection. Conflicts with `providerType` + HostArn pulumi.StringPtrInput + // The name of the connection to be created. The name must be unique in the calling AWS account. Changing `name` will create a new resource. + Name pulumi.StringPtrInput + OwnerAccountId pulumi.StringPtrInput + // The name of the external provider where your third-party code repository is configured. Changing `providerType` will create a new resource. Conflicts with `hostArn`. + ProviderType pulumi.StringPtrInput + // Map of key-value resource tags to associate with the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + Tags pulumi.StringMapInput + // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + // + // Deprecated: Please use `tags` instead. + TagsAll pulumi.StringMapInput + Timeouts ConnectionTimeoutsPtrInput +} + +func (ConnectionState) ElementType() reflect.Type { + return reflect.TypeOf((*connectionState)(nil)).Elem() +} + +type connectionArgs struct { + // The Amazon Resource Name (ARN) of the host associated with the connection. Conflicts with `providerType` + HostArn *string `pulumi:"hostArn"` + // The name of the connection to be created. The name must be unique in the calling AWS account. Changing `name` will create a new resource. + Name *string `pulumi:"name"` + // The name of the external provider where your third-party code repository is configured. Changing `providerType` will create a new resource. Conflicts with `hostArn`. + ProviderType *string `pulumi:"providerType"` + // Map of key-value resource tags to associate with 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 *ConnectionTimeouts `pulumi:"timeouts"` +} + +// The set of arguments for constructing a Connection resource. +type ConnectionArgs struct { + // The Amazon Resource Name (ARN) of the host associated with the connection. Conflicts with `providerType` + HostArn pulumi.StringPtrInput + // The name of the connection to be created. The name must be unique in the calling AWS account. Changing `name` will create a new resource. + Name pulumi.StringPtrInput + // The name of the external provider where your third-party code repository is configured. Changing `providerType` will create a new resource. Conflicts with `hostArn`. + ProviderType pulumi.StringPtrInput + // Map of key-value resource tags to associate with 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 ConnectionTimeoutsPtrInput +} + +func (ConnectionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*connectionArgs)(nil)).Elem() +} + +type ConnectionInput interface { + pulumi.Input + + ToConnectionOutput() ConnectionOutput + ToConnectionOutputWithContext(ctx context.Context) ConnectionOutput +} + +func (*Connection) ElementType() reflect.Type { + return reflect.TypeOf((**Connection)(nil)).Elem() +} + +func (i *Connection) ToConnectionOutput() ConnectionOutput { + return i.ToConnectionOutputWithContext(context.Background()) +} + +func (i *Connection) ToConnectionOutputWithContext(ctx context.Context) ConnectionOutput { + return pulumi.ToOutputWithContext(ctx, i).(ConnectionOutput) +} + +// ConnectionArrayInput is an input type that accepts ConnectionArray and ConnectionArrayOutput values. +// You can construct a concrete instance of `ConnectionArrayInput` via: +// +// ConnectionArray{ ConnectionArgs{...} } +type ConnectionArrayInput interface { + pulumi.Input + + ToConnectionArrayOutput() ConnectionArrayOutput + ToConnectionArrayOutputWithContext(context.Context) ConnectionArrayOutput +} + +type ConnectionArray []ConnectionInput + +func (ConnectionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*Connection)(nil)).Elem() +} + +func (i ConnectionArray) ToConnectionArrayOutput() ConnectionArrayOutput { + return i.ToConnectionArrayOutputWithContext(context.Background()) +} + +func (i ConnectionArray) ToConnectionArrayOutputWithContext(ctx context.Context) ConnectionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ConnectionArrayOutput) +} + +// ConnectionMapInput is an input type that accepts ConnectionMap and ConnectionMapOutput values. +// You can construct a concrete instance of `ConnectionMapInput` via: +// +// ConnectionMap{ "key": ConnectionArgs{...} } +type ConnectionMapInput interface { + pulumi.Input + + ToConnectionMapOutput() ConnectionMapOutput + ToConnectionMapOutputWithContext(context.Context) ConnectionMapOutput +} + +type ConnectionMap map[string]ConnectionInput + +func (ConnectionMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*Connection)(nil)).Elem() +} + +func (i ConnectionMap) ToConnectionMapOutput() ConnectionMapOutput { + return i.ToConnectionMapOutputWithContext(context.Background()) +} + +func (i ConnectionMap) ToConnectionMapOutputWithContext(ctx context.Context) ConnectionMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(ConnectionMapOutput) +} + +type ConnectionOutput struct{ *pulumi.OutputState } + +func (ConnectionOutput) ElementType() reflect.Type { + return reflect.TypeOf((**Connection)(nil)).Elem() +} + +func (o ConnectionOutput) ToConnectionOutput() ConnectionOutput { + return o +} + +func (o ConnectionOutput) ToConnectionOutputWithContext(ctx context.Context) ConnectionOutput { + return o +} + +// The codeconnections connection ARN. +func (o ConnectionOutput) Arn() pulumi.StringOutput { + return o.ApplyT(func(v *Connection) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) +} + +// The codeconnections connection status. Possible values are `PENDING`, `AVAILABLE` and `ERROR`. +func (o ConnectionOutput) ConnectionStatus() pulumi.StringOutput { + return o.ApplyT(func(v *Connection) pulumi.StringOutput { return v.ConnectionStatus }).(pulumi.StringOutput) +} + +// The Amazon Resource Name (ARN) of the host associated with the connection. Conflicts with `providerType` +func (o ConnectionOutput) HostArn() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Connection) pulumi.StringPtrOutput { return v.HostArn }).(pulumi.StringPtrOutput) +} + +// The name of the connection to be created. The name must be unique in the calling AWS account. Changing `name` will create a new resource. +func (o ConnectionOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *Connection) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +func (o ConnectionOutput) OwnerAccountId() pulumi.StringOutput { + return o.ApplyT(func(v *Connection) pulumi.StringOutput { return v.OwnerAccountId }).(pulumi.StringOutput) +} + +// The name of the external provider where your third-party code repository is configured. Changing `providerType` will create a new resource. Conflicts with `hostArn`. +func (o ConnectionOutput) ProviderType() pulumi.StringOutput { + return o.ApplyT(func(v *Connection) pulumi.StringOutput { return v.ProviderType }).(pulumi.StringOutput) +} + +// Map of key-value resource tags to associate with 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 ConnectionOutput) Tags() pulumi.StringMapOutput { + return o.ApplyT(func(v *Connection) 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 ConnectionOutput) TagsAll() pulumi.StringMapOutput { + return o.ApplyT(func(v *Connection) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput) +} + +func (o ConnectionOutput) Timeouts() ConnectionTimeoutsPtrOutput { + return o.ApplyT(func(v *Connection) ConnectionTimeoutsPtrOutput { return v.Timeouts }).(ConnectionTimeoutsPtrOutput) +} + +type ConnectionArrayOutput struct{ *pulumi.OutputState } + +func (ConnectionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*Connection)(nil)).Elem() +} + +func (o ConnectionArrayOutput) ToConnectionArrayOutput() ConnectionArrayOutput { + return o +} + +func (o ConnectionArrayOutput) ToConnectionArrayOutputWithContext(ctx context.Context) ConnectionArrayOutput { + return o +} + +func (o ConnectionArrayOutput) Index(i pulumi.IntInput) ConnectionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *Connection { + return vs[0].([]*Connection)[vs[1].(int)] + }).(ConnectionOutput) +} + +type ConnectionMapOutput struct{ *pulumi.OutputState } + +func (ConnectionMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*Connection)(nil)).Elem() +} + +func (o ConnectionMapOutput) ToConnectionMapOutput() ConnectionMapOutput { + return o +} + +func (o ConnectionMapOutput) ToConnectionMapOutputWithContext(ctx context.Context) ConnectionMapOutput { + return o +} + +func (o ConnectionMapOutput) MapIndex(k pulumi.StringInput) ConnectionOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *Connection { + return vs[0].(map[string]*Connection)[vs[1].(string)] + }).(ConnectionOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*ConnectionInput)(nil)).Elem(), &Connection{}) + pulumi.RegisterInputType(reflect.TypeOf((*ConnectionArrayInput)(nil)).Elem(), ConnectionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*ConnectionMapInput)(nil)).Elem(), ConnectionMap{}) + pulumi.RegisterOutputType(ConnectionOutput{}) + pulumi.RegisterOutputType(ConnectionArrayOutput{}) + pulumi.RegisterOutputType(ConnectionMapOutput{}) +} diff --git a/sdk/go/aws/codeconnections/host.go b/sdk/go/aws/codeconnections/host.go new file mode 100644 index 00000000000..f49c767c634 --- /dev/null +++ b/sdk/go/aws/codeconnections/host.go @@ -0,0 +1,347 @@ +// 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 codeconnections + +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 CodeConnections Host. +// +// > **NOTE:** The `codeconnections.Host` resource is created in the state `PENDING`. Authentication with the host provider must be completed in the AWS Console. For more information visit [Set up a pending host](https://docs.aws.amazon.com/dtconsole/latest/userguide/connections-host-setup.html). +// +// ## Example Usage +// +// ### Basic Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/codeconnections" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := codeconnections.NewHost(ctx, "example", &codeconnections.HostArgs{ +// Name: pulumi.String("example-host"), +// ProviderEndpoint: pulumi.String("https://example.com"), +// ProviderType: pulumi.String("GitHubEnterpriseServer"), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// ## Import +// +// Using `pulumi import`, import CodeConnections Host using the ARN. For example: +// +// ```sh +// $ pulumi import aws:codeconnections/host:Host example-host arn:aws:codeconnections:us-west-1:0123456789:host/79d4d357-a2ee-41e4-b350-2fe39ae59448 +// ``` +type Host struct { + pulumi.CustomResourceState + + // The CodeConnections Host ARN. + Arn pulumi.StringOutput `pulumi:"arn"` + // The name of the host to be created. The name must be unique in the calling AWS account. + Name pulumi.StringOutput `pulumi:"name"` + // The endpoint of the infrastructure to be represented by the host after it is created. + ProviderEndpoint pulumi.StringOutput `pulumi:"providerEndpoint"` + // The name of the external provider where your third-party code repository is configured. + ProviderType pulumi.StringOutput `pulumi:"providerType"` + Tags pulumi.StringMapOutput `pulumi:"tags"` + // Deprecated: Please use `tags` instead. + TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"` + Timeouts HostTimeoutsPtrOutput `pulumi:"timeouts"` + // The VPC configuration to be provisioned for the host. A VPC must be configured, and the infrastructure to be represented by the host must already be connected to the VPC. + VpcConfiguration HostVpcConfigurationPtrOutput `pulumi:"vpcConfiguration"` +} + +// NewHost registers a new resource with the given unique name, arguments, and options. +func NewHost(ctx *pulumi.Context, + name string, args *HostArgs, opts ...pulumi.ResourceOption) (*Host, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.ProviderEndpoint == nil { + return nil, errors.New("invalid value for required argument 'ProviderEndpoint'") + } + if args.ProviderType == nil { + return nil, errors.New("invalid value for required argument 'ProviderType'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource Host + err := ctx.RegisterResource("aws:codeconnections/host:Host", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetHost gets an existing Host 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 GetHost(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *HostState, opts ...pulumi.ResourceOption) (*Host, error) { + var resource Host + err := ctx.ReadResource("aws:codeconnections/host:Host", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering Host resources. +type hostState struct { + // The CodeConnections Host ARN. + Arn *string `pulumi:"arn"` + // The name of the host to be created. The name must be unique in the calling AWS account. + Name *string `pulumi:"name"` + // The endpoint of the infrastructure to be represented by the host after it is created. + ProviderEndpoint *string `pulumi:"providerEndpoint"` + // The name of the external provider where your third-party code repository is configured. + ProviderType *string `pulumi:"providerType"` + Tags map[string]string `pulumi:"tags"` + // Deprecated: Please use `tags` instead. + TagsAll map[string]string `pulumi:"tagsAll"` + Timeouts *HostTimeouts `pulumi:"timeouts"` + // The VPC configuration to be provisioned for the host. A VPC must be configured, and the infrastructure to be represented by the host must already be connected to the VPC. + VpcConfiguration *HostVpcConfiguration `pulumi:"vpcConfiguration"` +} + +type HostState struct { + // The CodeConnections Host ARN. + Arn pulumi.StringPtrInput + // The name of the host to be created. The name must be unique in the calling AWS account. + Name pulumi.StringPtrInput + // The endpoint of the infrastructure to be represented by the host after it is created. + ProviderEndpoint pulumi.StringPtrInput + // The name of the external provider where your third-party code repository is configured. + ProviderType pulumi.StringPtrInput + Tags pulumi.StringMapInput + // Deprecated: Please use `tags` instead. + TagsAll pulumi.StringMapInput + Timeouts HostTimeoutsPtrInput + // The VPC configuration to be provisioned for the host. A VPC must be configured, and the infrastructure to be represented by the host must already be connected to the VPC. + VpcConfiguration HostVpcConfigurationPtrInput +} + +func (HostState) ElementType() reflect.Type { + return reflect.TypeOf((*hostState)(nil)).Elem() +} + +type hostArgs struct { + // The name of the host to be created. The name must be unique in the calling AWS account. + Name *string `pulumi:"name"` + // The endpoint of the infrastructure to be represented by the host after it is created. + ProviderEndpoint string `pulumi:"providerEndpoint"` + // The name of the external provider where your third-party code repository is configured. + ProviderType string `pulumi:"providerType"` + Tags map[string]string `pulumi:"tags"` + Timeouts *HostTimeouts `pulumi:"timeouts"` + // The VPC configuration to be provisioned for the host. A VPC must be configured, and the infrastructure to be represented by the host must already be connected to the VPC. + VpcConfiguration *HostVpcConfiguration `pulumi:"vpcConfiguration"` +} + +// The set of arguments for constructing a Host resource. +type HostArgs struct { + // The name of the host to be created. The name must be unique in the calling AWS account. + Name pulumi.StringPtrInput + // The endpoint of the infrastructure to be represented by the host after it is created. + ProviderEndpoint pulumi.StringInput + // The name of the external provider where your third-party code repository is configured. + ProviderType pulumi.StringInput + Tags pulumi.StringMapInput + Timeouts HostTimeoutsPtrInput + // The VPC configuration to be provisioned for the host. A VPC must be configured, and the infrastructure to be represented by the host must already be connected to the VPC. + VpcConfiguration HostVpcConfigurationPtrInput +} + +func (HostArgs) ElementType() reflect.Type { + return reflect.TypeOf((*hostArgs)(nil)).Elem() +} + +type HostInput interface { + pulumi.Input + + ToHostOutput() HostOutput + ToHostOutputWithContext(ctx context.Context) HostOutput +} + +func (*Host) ElementType() reflect.Type { + return reflect.TypeOf((**Host)(nil)).Elem() +} + +func (i *Host) ToHostOutput() HostOutput { + return i.ToHostOutputWithContext(context.Background()) +} + +func (i *Host) ToHostOutputWithContext(ctx context.Context) HostOutput { + return pulumi.ToOutputWithContext(ctx, i).(HostOutput) +} + +// HostArrayInput is an input type that accepts HostArray and HostArrayOutput values. +// You can construct a concrete instance of `HostArrayInput` via: +// +// HostArray{ HostArgs{...} } +type HostArrayInput interface { + pulumi.Input + + ToHostArrayOutput() HostArrayOutput + ToHostArrayOutputWithContext(context.Context) HostArrayOutput +} + +type HostArray []HostInput + +func (HostArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*Host)(nil)).Elem() +} + +func (i HostArray) ToHostArrayOutput() HostArrayOutput { + return i.ToHostArrayOutputWithContext(context.Background()) +} + +func (i HostArray) ToHostArrayOutputWithContext(ctx context.Context) HostArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(HostArrayOutput) +} + +// HostMapInput is an input type that accepts HostMap and HostMapOutput values. +// You can construct a concrete instance of `HostMapInput` via: +// +// HostMap{ "key": HostArgs{...} } +type HostMapInput interface { + pulumi.Input + + ToHostMapOutput() HostMapOutput + ToHostMapOutputWithContext(context.Context) HostMapOutput +} + +type HostMap map[string]HostInput + +func (HostMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*Host)(nil)).Elem() +} + +func (i HostMap) ToHostMapOutput() HostMapOutput { + return i.ToHostMapOutputWithContext(context.Background()) +} + +func (i HostMap) ToHostMapOutputWithContext(ctx context.Context) HostMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(HostMapOutput) +} + +type HostOutput struct{ *pulumi.OutputState } + +func (HostOutput) ElementType() reflect.Type { + return reflect.TypeOf((**Host)(nil)).Elem() +} + +func (o HostOutput) ToHostOutput() HostOutput { + return o +} + +func (o HostOutput) ToHostOutputWithContext(ctx context.Context) HostOutput { + return o +} + +// The CodeConnections Host ARN. +func (o HostOutput) Arn() pulumi.StringOutput { + return o.ApplyT(func(v *Host) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) +} + +// The name of the host to be created. The name must be unique in the calling AWS account. +func (o HostOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *Host) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// The endpoint of the infrastructure to be represented by the host after it is created. +func (o HostOutput) ProviderEndpoint() pulumi.StringOutput { + return o.ApplyT(func(v *Host) pulumi.StringOutput { return v.ProviderEndpoint }).(pulumi.StringOutput) +} + +// The name of the external provider where your third-party code repository is configured. +func (o HostOutput) ProviderType() pulumi.StringOutput { + return o.ApplyT(func(v *Host) pulumi.StringOutput { return v.ProviderType }).(pulumi.StringOutput) +} + +func (o HostOutput) Tags() pulumi.StringMapOutput { + return o.ApplyT(func(v *Host) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) +} + +// Deprecated: Please use `tags` instead. +func (o HostOutput) TagsAll() pulumi.StringMapOutput { + return o.ApplyT(func(v *Host) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput) +} + +func (o HostOutput) Timeouts() HostTimeoutsPtrOutput { + return o.ApplyT(func(v *Host) HostTimeoutsPtrOutput { return v.Timeouts }).(HostTimeoutsPtrOutput) +} + +// The VPC configuration to be provisioned for the host. A VPC must be configured, and the infrastructure to be represented by the host must already be connected to the VPC. +func (o HostOutput) VpcConfiguration() HostVpcConfigurationPtrOutput { + return o.ApplyT(func(v *Host) HostVpcConfigurationPtrOutput { return v.VpcConfiguration }).(HostVpcConfigurationPtrOutput) +} + +type HostArrayOutput struct{ *pulumi.OutputState } + +func (HostArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*Host)(nil)).Elem() +} + +func (o HostArrayOutput) ToHostArrayOutput() HostArrayOutput { + return o +} + +func (o HostArrayOutput) ToHostArrayOutputWithContext(ctx context.Context) HostArrayOutput { + return o +} + +func (o HostArrayOutput) Index(i pulumi.IntInput) HostOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *Host { + return vs[0].([]*Host)[vs[1].(int)] + }).(HostOutput) +} + +type HostMapOutput struct{ *pulumi.OutputState } + +func (HostMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*Host)(nil)).Elem() +} + +func (o HostMapOutput) ToHostMapOutput() HostMapOutput { + return o +} + +func (o HostMapOutput) ToHostMapOutputWithContext(ctx context.Context) HostMapOutput { + return o +} + +func (o HostMapOutput) MapIndex(k pulumi.StringInput) HostOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *Host { + return vs[0].(map[string]*Host)[vs[1].(string)] + }).(HostOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*HostInput)(nil)).Elem(), &Host{}) + pulumi.RegisterInputType(reflect.TypeOf((*HostArrayInput)(nil)).Elem(), HostArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*HostMapInput)(nil)).Elem(), HostMap{}) + pulumi.RegisterOutputType(HostOutput{}) + pulumi.RegisterOutputType(HostArrayOutput{}) + pulumi.RegisterOutputType(HostMapOutput{}) +} diff --git a/sdk/go/aws/codeconnections/init.go b/sdk/go/aws/codeconnections/init.go new file mode 100644 index 00000000000..7083bc853ff --- /dev/null +++ b/sdk/go/aws/codeconnections/init.go @@ -0,0 +1,51 @@ +// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package codeconnections + +import ( + "fmt" + + "github.com/blang/semver" + "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type module struct { + version semver.Version +} + +func (m *module) Version() semver.Version { + return m.version +} + +func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi.Resource, err error) { + switch typ { + case "aws:codeconnections/connection:Connection": + r = &Connection{} + case "aws:codeconnections/host:Host": + r = &Host{} + default: + return nil, fmt.Errorf("unknown resource type: %s", typ) + } + + err = ctx.RegisterResource(typ, name, nil, r, pulumi.URN_(urn)) + return +} + +func init() { + version, err := internal.PkgVersion() + if err != nil { + version = semver.Version{Major: 1} + } + pulumi.RegisterResourceModule( + "aws", + "codeconnections/connection", + &module{version}, + ) + pulumi.RegisterResourceModule( + "aws", + "codeconnections/host", + &module{version}, + ) +} diff --git a/sdk/go/aws/codeconnections/pulumiTypes.go b/sdk/go/aws/codeconnections/pulumiTypes.go new file mode 100644 index 00000000000..3f7b284b293 --- /dev/null +++ b/sdk/go/aws/codeconnections/pulumiTypes.go @@ -0,0 +1,573 @@ +// 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 codeconnections + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +var _ = internal.GetEnvOrDefault + +type ConnectionTimeouts 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"` +} + +// ConnectionTimeoutsInput is an input type that accepts ConnectionTimeoutsArgs and ConnectionTimeoutsOutput values. +// You can construct a concrete instance of `ConnectionTimeoutsInput` via: +// +// ConnectionTimeoutsArgs{...} +type ConnectionTimeoutsInput interface { + pulumi.Input + + ToConnectionTimeoutsOutput() ConnectionTimeoutsOutput + ToConnectionTimeoutsOutputWithContext(context.Context) ConnectionTimeoutsOutput +} + +type ConnectionTimeoutsArgs 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 (ConnectionTimeoutsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ConnectionTimeouts)(nil)).Elem() +} + +func (i ConnectionTimeoutsArgs) ToConnectionTimeoutsOutput() ConnectionTimeoutsOutput { + return i.ToConnectionTimeoutsOutputWithContext(context.Background()) +} + +func (i ConnectionTimeoutsArgs) ToConnectionTimeoutsOutputWithContext(ctx context.Context) ConnectionTimeoutsOutput { + return pulumi.ToOutputWithContext(ctx, i).(ConnectionTimeoutsOutput) +} + +func (i ConnectionTimeoutsArgs) ToConnectionTimeoutsPtrOutput() ConnectionTimeoutsPtrOutput { + return i.ToConnectionTimeoutsPtrOutputWithContext(context.Background()) +} + +func (i ConnectionTimeoutsArgs) ToConnectionTimeoutsPtrOutputWithContext(ctx context.Context) ConnectionTimeoutsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ConnectionTimeoutsOutput).ToConnectionTimeoutsPtrOutputWithContext(ctx) +} + +// ConnectionTimeoutsPtrInput is an input type that accepts ConnectionTimeoutsArgs, ConnectionTimeoutsPtr and ConnectionTimeoutsPtrOutput values. +// You can construct a concrete instance of `ConnectionTimeoutsPtrInput` via: +// +// ConnectionTimeoutsArgs{...} +// +// or: +// +// nil +type ConnectionTimeoutsPtrInput interface { + pulumi.Input + + ToConnectionTimeoutsPtrOutput() ConnectionTimeoutsPtrOutput + ToConnectionTimeoutsPtrOutputWithContext(context.Context) ConnectionTimeoutsPtrOutput +} + +type connectionTimeoutsPtrType ConnectionTimeoutsArgs + +func ConnectionTimeoutsPtr(v *ConnectionTimeoutsArgs) ConnectionTimeoutsPtrInput { + return (*connectionTimeoutsPtrType)(v) +} + +func (*connectionTimeoutsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**ConnectionTimeouts)(nil)).Elem() +} + +func (i *connectionTimeoutsPtrType) ToConnectionTimeoutsPtrOutput() ConnectionTimeoutsPtrOutput { + return i.ToConnectionTimeoutsPtrOutputWithContext(context.Background()) +} + +func (i *connectionTimeoutsPtrType) ToConnectionTimeoutsPtrOutputWithContext(ctx context.Context) ConnectionTimeoutsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ConnectionTimeoutsPtrOutput) +} + +type ConnectionTimeoutsOutput struct{ *pulumi.OutputState } + +func (ConnectionTimeoutsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ConnectionTimeouts)(nil)).Elem() +} + +func (o ConnectionTimeoutsOutput) ToConnectionTimeoutsOutput() ConnectionTimeoutsOutput { + return o +} + +func (o ConnectionTimeoutsOutput) ToConnectionTimeoutsOutputWithContext(ctx context.Context) ConnectionTimeoutsOutput { + return o +} + +func (o ConnectionTimeoutsOutput) ToConnectionTimeoutsPtrOutput() ConnectionTimeoutsPtrOutput { + return o.ToConnectionTimeoutsPtrOutputWithContext(context.Background()) +} + +func (o ConnectionTimeoutsOutput) ToConnectionTimeoutsPtrOutputWithContext(ctx context.Context) ConnectionTimeoutsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ConnectionTimeouts) *ConnectionTimeouts { + return &v + }).(ConnectionTimeoutsPtrOutput) +} + +// A string that can be [parsed as a duration](https://pkg.go.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 ConnectionTimeoutsOutput) Create() pulumi.StringPtrOutput { + return o.ApplyT(func(v ConnectionTimeouts) *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 ConnectionTimeoutsOutput) Delete() pulumi.StringPtrOutput { + return o.ApplyT(func(v ConnectionTimeouts) *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 ConnectionTimeoutsOutput) Update() pulumi.StringPtrOutput { + return o.ApplyT(func(v ConnectionTimeouts) *string { return v.Update }).(pulumi.StringPtrOutput) +} + +type ConnectionTimeoutsPtrOutput struct{ *pulumi.OutputState } + +func (ConnectionTimeoutsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ConnectionTimeouts)(nil)).Elem() +} + +func (o ConnectionTimeoutsPtrOutput) ToConnectionTimeoutsPtrOutput() ConnectionTimeoutsPtrOutput { + return o +} + +func (o ConnectionTimeoutsPtrOutput) ToConnectionTimeoutsPtrOutputWithContext(ctx context.Context) ConnectionTimeoutsPtrOutput { + return o +} + +func (o ConnectionTimeoutsPtrOutput) Elem() ConnectionTimeoutsOutput { + return o.ApplyT(func(v *ConnectionTimeouts) ConnectionTimeouts { + if v != nil { + return *v + } + var ret ConnectionTimeouts + return ret + }).(ConnectionTimeoutsOutput) +} + +// A string that can be [parsed as a duration](https://pkg.go.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 ConnectionTimeoutsPtrOutput) Create() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ConnectionTimeouts) *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 ConnectionTimeoutsPtrOutput) Delete() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ConnectionTimeouts) *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 ConnectionTimeoutsPtrOutput) Update() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ConnectionTimeouts) *string { + if v == nil { + return nil + } + return v.Update + }).(pulumi.StringPtrOutput) +} + +type HostTimeouts 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"` +} + +// HostTimeoutsInput is an input type that accepts HostTimeoutsArgs and HostTimeoutsOutput values. +// You can construct a concrete instance of `HostTimeoutsInput` via: +// +// HostTimeoutsArgs{...} +type HostTimeoutsInput interface { + pulumi.Input + + ToHostTimeoutsOutput() HostTimeoutsOutput + ToHostTimeoutsOutputWithContext(context.Context) HostTimeoutsOutput +} + +type HostTimeoutsArgs 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 (HostTimeoutsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*HostTimeouts)(nil)).Elem() +} + +func (i HostTimeoutsArgs) ToHostTimeoutsOutput() HostTimeoutsOutput { + return i.ToHostTimeoutsOutputWithContext(context.Background()) +} + +func (i HostTimeoutsArgs) ToHostTimeoutsOutputWithContext(ctx context.Context) HostTimeoutsOutput { + return pulumi.ToOutputWithContext(ctx, i).(HostTimeoutsOutput) +} + +func (i HostTimeoutsArgs) ToHostTimeoutsPtrOutput() HostTimeoutsPtrOutput { + return i.ToHostTimeoutsPtrOutputWithContext(context.Background()) +} + +func (i HostTimeoutsArgs) ToHostTimeoutsPtrOutputWithContext(ctx context.Context) HostTimeoutsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(HostTimeoutsOutput).ToHostTimeoutsPtrOutputWithContext(ctx) +} + +// HostTimeoutsPtrInput is an input type that accepts HostTimeoutsArgs, HostTimeoutsPtr and HostTimeoutsPtrOutput values. +// You can construct a concrete instance of `HostTimeoutsPtrInput` via: +// +// HostTimeoutsArgs{...} +// +// or: +// +// nil +type HostTimeoutsPtrInput interface { + pulumi.Input + + ToHostTimeoutsPtrOutput() HostTimeoutsPtrOutput + ToHostTimeoutsPtrOutputWithContext(context.Context) HostTimeoutsPtrOutput +} + +type hostTimeoutsPtrType HostTimeoutsArgs + +func HostTimeoutsPtr(v *HostTimeoutsArgs) HostTimeoutsPtrInput { + return (*hostTimeoutsPtrType)(v) +} + +func (*hostTimeoutsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**HostTimeouts)(nil)).Elem() +} + +func (i *hostTimeoutsPtrType) ToHostTimeoutsPtrOutput() HostTimeoutsPtrOutput { + return i.ToHostTimeoutsPtrOutputWithContext(context.Background()) +} + +func (i *hostTimeoutsPtrType) ToHostTimeoutsPtrOutputWithContext(ctx context.Context) HostTimeoutsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(HostTimeoutsPtrOutput) +} + +type HostTimeoutsOutput struct{ *pulumi.OutputState } + +func (HostTimeoutsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*HostTimeouts)(nil)).Elem() +} + +func (o HostTimeoutsOutput) ToHostTimeoutsOutput() HostTimeoutsOutput { + return o +} + +func (o HostTimeoutsOutput) ToHostTimeoutsOutputWithContext(ctx context.Context) HostTimeoutsOutput { + return o +} + +func (o HostTimeoutsOutput) ToHostTimeoutsPtrOutput() HostTimeoutsPtrOutput { + return o.ToHostTimeoutsPtrOutputWithContext(context.Background()) +} + +func (o HostTimeoutsOutput) ToHostTimeoutsPtrOutputWithContext(ctx context.Context) HostTimeoutsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v HostTimeouts) *HostTimeouts { + return &v + }).(HostTimeoutsPtrOutput) +} + +// A string that can be [parsed as a duration](https://pkg.go.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 HostTimeoutsOutput) Create() pulumi.StringPtrOutput { + return o.ApplyT(func(v HostTimeouts) *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 HostTimeoutsOutput) Delete() pulumi.StringPtrOutput { + return o.ApplyT(func(v HostTimeouts) *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 HostTimeoutsOutput) Update() pulumi.StringPtrOutput { + return o.ApplyT(func(v HostTimeouts) *string { return v.Update }).(pulumi.StringPtrOutput) +} + +type HostTimeoutsPtrOutput struct{ *pulumi.OutputState } + +func (HostTimeoutsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**HostTimeouts)(nil)).Elem() +} + +func (o HostTimeoutsPtrOutput) ToHostTimeoutsPtrOutput() HostTimeoutsPtrOutput { + return o +} + +func (o HostTimeoutsPtrOutput) ToHostTimeoutsPtrOutputWithContext(ctx context.Context) HostTimeoutsPtrOutput { + return o +} + +func (o HostTimeoutsPtrOutput) Elem() HostTimeoutsOutput { + return o.ApplyT(func(v *HostTimeouts) HostTimeouts { + if v != nil { + return *v + } + var ret HostTimeouts + return ret + }).(HostTimeoutsOutput) +} + +// A string that can be [parsed as a duration](https://pkg.go.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 HostTimeoutsPtrOutput) Create() pulumi.StringPtrOutput { + return o.ApplyT(func(v *HostTimeouts) *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 HostTimeoutsPtrOutput) Delete() pulumi.StringPtrOutput { + return o.ApplyT(func(v *HostTimeouts) *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 HostTimeoutsPtrOutput) Update() pulumi.StringPtrOutput { + return o.ApplyT(func(v *HostTimeouts) *string { + if v == nil { + return nil + } + return v.Update + }).(pulumi.StringPtrOutput) +} + +type HostVpcConfiguration struct { + // ID of the security group or security groups associated with the Amazon VPC connected to the infrastructure where your provider type is installed. + SecurityGroupIds []string `pulumi:"securityGroupIds"` + // The ID of the subnet or subnets associated with the Amazon VPC connected to the infrastructure where your provider type is installed. + SubnetIds []string `pulumi:"subnetIds"` + // The value of the Transport Layer Security (TLS) certificate associated with the infrastructure where your provider type is installed. + TlsCertificate string `pulumi:"tlsCertificate"` + // The ID of the Amazon VPC connected to the infrastructure where your provider type is installed. + VpcId string `pulumi:"vpcId"` +} + +// HostVpcConfigurationInput is an input type that accepts HostVpcConfigurationArgs and HostVpcConfigurationOutput values. +// You can construct a concrete instance of `HostVpcConfigurationInput` via: +// +// HostVpcConfigurationArgs{...} +type HostVpcConfigurationInput interface { + pulumi.Input + + ToHostVpcConfigurationOutput() HostVpcConfigurationOutput + ToHostVpcConfigurationOutputWithContext(context.Context) HostVpcConfigurationOutput +} + +type HostVpcConfigurationArgs struct { + // ID of the security group or security groups associated with the Amazon VPC connected to the infrastructure where your provider type is installed. + SecurityGroupIds pulumi.StringArrayInput `pulumi:"securityGroupIds"` + // The ID of the subnet or subnets associated with the Amazon VPC connected to the infrastructure where your provider type is installed. + SubnetIds pulumi.StringArrayInput `pulumi:"subnetIds"` + // The value of the Transport Layer Security (TLS) certificate associated with the infrastructure where your provider type is installed. + TlsCertificate pulumi.StringInput `pulumi:"tlsCertificate"` + // The ID of the Amazon VPC connected to the infrastructure where your provider type is installed. + VpcId pulumi.StringInput `pulumi:"vpcId"` +} + +func (HostVpcConfigurationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*HostVpcConfiguration)(nil)).Elem() +} + +func (i HostVpcConfigurationArgs) ToHostVpcConfigurationOutput() HostVpcConfigurationOutput { + return i.ToHostVpcConfigurationOutputWithContext(context.Background()) +} + +func (i HostVpcConfigurationArgs) ToHostVpcConfigurationOutputWithContext(ctx context.Context) HostVpcConfigurationOutput { + return pulumi.ToOutputWithContext(ctx, i).(HostVpcConfigurationOutput) +} + +func (i HostVpcConfigurationArgs) ToHostVpcConfigurationPtrOutput() HostVpcConfigurationPtrOutput { + return i.ToHostVpcConfigurationPtrOutputWithContext(context.Background()) +} + +func (i HostVpcConfigurationArgs) ToHostVpcConfigurationPtrOutputWithContext(ctx context.Context) HostVpcConfigurationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(HostVpcConfigurationOutput).ToHostVpcConfigurationPtrOutputWithContext(ctx) +} + +// HostVpcConfigurationPtrInput is an input type that accepts HostVpcConfigurationArgs, HostVpcConfigurationPtr and HostVpcConfigurationPtrOutput values. +// You can construct a concrete instance of `HostVpcConfigurationPtrInput` via: +// +// HostVpcConfigurationArgs{...} +// +// or: +// +// nil +type HostVpcConfigurationPtrInput interface { + pulumi.Input + + ToHostVpcConfigurationPtrOutput() HostVpcConfigurationPtrOutput + ToHostVpcConfigurationPtrOutputWithContext(context.Context) HostVpcConfigurationPtrOutput +} + +type hostVpcConfigurationPtrType HostVpcConfigurationArgs + +func HostVpcConfigurationPtr(v *HostVpcConfigurationArgs) HostVpcConfigurationPtrInput { + return (*hostVpcConfigurationPtrType)(v) +} + +func (*hostVpcConfigurationPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**HostVpcConfiguration)(nil)).Elem() +} + +func (i *hostVpcConfigurationPtrType) ToHostVpcConfigurationPtrOutput() HostVpcConfigurationPtrOutput { + return i.ToHostVpcConfigurationPtrOutputWithContext(context.Background()) +} + +func (i *hostVpcConfigurationPtrType) ToHostVpcConfigurationPtrOutputWithContext(ctx context.Context) HostVpcConfigurationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(HostVpcConfigurationPtrOutput) +} + +type HostVpcConfigurationOutput struct{ *pulumi.OutputState } + +func (HostVpcConfigurationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*HostVpcConfiguration)(nil)).Elem() +} + +func (o HostVpcConfigurationOutput) ToHostVpcConfigurationOutput() HostVpcConfigurationOutput { + return o +} + +func (o HostVpcConfigurationOutput) ToHostVpcConfigurationOutputWithContext(ctx context.Context) HostVpcConfigurationOutput { + return o +} + +func (o HostVpcConfigurationOutput) ToHostVpcConfigurationPtrOutput() HostVpcConfigurationPtrOutput { + return o.ToHostVpcConfigurationPtrOutputWithContext(context.Background()) +} + +func (o HostVpcConfigurationOutput) ToHostVpcConfigurationPtrOutputWithContext(ctx context.Context) HostVpcConfigurationPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v HostVpcConfiguration) *HostVpcConfiguration { + return &v + }).(HostVpcConfigurationPtrOutput) +} + +// ID of the security group or security groups associated with the Amazon VPC connected to the infrastructure where your provider type is installed. +func (o HostVpcConfigurationOutput) SecurityGroupIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v HostVpcConfiguration) []string { return v.SecurityGroupIds }).(pulumi.StringArrayOutput) +} + +// The ID of the subnet or subnets associated with the Amazon VPC connected to the infrastructure where your provider type is installed. +func (o HostVpcConfigurationOutput) SubnetIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v HostVpcConfiguration) []string { return v.SubnetIds }).(pulumi.StringArrayOutput) +} + +// The value of the Transport Layer Security (TLS) certificate associated with the infrastructure where your provider type is installed. +func (o HostVpcConfigurationOutput) TlsCertificate() pulumi.StringOutput { + return o.ApplyT(func(v HostVpcConfiguration) string { return v.TlsCertificate }).(pulumi.StringOutput) +} + +// The ID of the Amazon VPC connected to the infrastructure where your provider type is installed. +func (o HostVpcConfigurationOutput) VpcId() pulumi.StringOutput { + return o.ApplyT(func(v HostVpcConfiguration) string { return v.VpcId }).(pulumi.StringOutput) +} + +type HostVpcConfigurationPtrOutput struct{ *pulumi.OutputState } + +func (HostVpcConfigurationPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**HostVpcConfiguration)(nil)).Elem() +} + +func (o HostVpcConfigurationPtrOutput) ToHostVpcConfigurationPtrOutput() HostVpcConfigurationPtrOutput { + return o +} + +func (o HostVpcConfigurationPtrOutput) ToHostVpcConfigurationPtrOutputWithContext(ctx context.Context) HostVpcConfigurationPtrOutput { + return o +} + +func (o HostVpcConfigurationPtrOutput) Elem() HostVpcConfigurationOutput { + return o.ApplyT(func(v *HostVpcConfiguration) HostVpcConfiguration { + if v != nil { + return *v + } + var ret HostVpcConfiguration + return ret + }).(HostVpcConfigurationOutput) +} + +// ID of the security group or security groups associated with the Amazon VPC connected to the infrastructure where your provider type is installed. +func (o HostVpcConfigurationPtrOutput) SecurityGroupIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v *HostVpcConfiguration) []string { + if v == nil { + return nil + } + return v.SecurityGroupIds + }).(pulumi.StringArrayOutput) +} + +// The ID of the subnet or subnets associated with the Amazon VPC connected to the infrastructure where your provider type is installed. +func (o HostVpcConfigurationPtrOutput) SubnetIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v *HostVpcConfiguration) []string { + if v == nil { + return nil + } + return v.SubnetIds + }).(pulumi.StringArrayOutput) +} + +// The value of the Transport Layer Security (TLS) certificate associated with the infrastructure where your provider type is installed. +func (o HostVpcConfigurationPtrOutput) TlsCertificate() pulumi.StringPtrOutput { + return o.ApplyT(func(v *HostVpcConfiguration) *string { + if v == nil { + return nil + } + return &v.TlsCertificate + }).(pulumi.StringPtrOutput) +} + +// The ID of the Amazon VPC connected to the infrastructure where your provider type is installed. +func (o HostVpcConfigurationPtrOutput) VpcId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *HostVpcConfiguration) *string { + if v == nil { + return nil + } + return &v.VpcId + }).(pulumi.StringPtrOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*ConnectionTimeoutsInput)(nil)).Elem(), ConnectionTimeoutsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ConnectionTimeoutsPtrInput)(nil)).Elem(), ConnectionTimeoutsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*HostTimeoutsInput)(nil)).Elem(), HostTimeoutsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*HostTimeoutsPtrInput)(nil)).Elem(), HostTimeoutsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*HostVpcConfigurationInput)(nil)).Elem(), HostVpcConfigurationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*HostVpcConfigurationPtrInput)(nil)).Elem(), HostVpcConfigurationArgs{}) + pulumi.RegisterOutputType(ConnectionTimeoutsOutput{}) + pulumi.RegisterOutputType(ConnectionTimeoutsPtrOutput{}) + pulumi.RegisterOutputType(HostTimeoutsOutput{}) + pulumi.RegisterOutputType(HostTimeoutsPtrOutput{}) + pulumi.RegisterOutputType(HostVpcConfigurationOutput{}) + pulumi.RegisterOutputType(HostVpcConfigurationPtrOutput{}) +} diff --git a/sdk/go/aws/config/pulumiTypes.go b/sdk/go/aws/config/pulumiTypes.go index 37ba2b40ddf..025c6a21620 100644 --- a/sdk/go/aws/config/pulumiTypes.go +++ b/sdk/go/aws/config/pulumiTypes.go @@ -777,6 +777,8 @@ type Endpoints struct { // Use this to override the default service endpoint URL S3outposts *string `pulumi:"s3outposts"` // Use this to override the default service endpoint URL + S3tables *string `pulumi:"s3tables"` + // Use this to override the default service endpoint URL Sagemaker *string `pulumi:"sagemaker"` // Use this to override the default service endpoint URL Scheduler *string `pulumi:"scheduler"` @@ -1377,6 +1379,8 @@ type EndpointsArgs struct { // Use this to override the default service endpoint URL S3outposts pulumi.StringPtrInput `pulumi:"s3outposts"` // Use this to override the default service endpoint URL + S3tables pulumi.StringPtrInput `pulumi:"s3tables"` + // Use this to override the default service endpoint URL Sagemaker pulumi.StringPtrInput `pulumi:"sagemaker"` // Use this to override the default service endpoint URL Scheduler pulumi.StringPtrInput `pulumi:"scheduler"` @@ -2744,6 +2748,11 @@ func (o EndpointsOutput) S3outposts() pulumi.StringPtrOutput { return o.ApplyT(func(v Endpoints) *string { return v.S3outposts }).(pulumi.StringPtrOutput) } +// Use this to override the default service endpoint URL +func (o EndpointsOutput) S3tables() pulumi.StringPtrOutput { + return o.ApplyT(func(v Endpoints) *string { return v.S3tables }).(pulumi.StringPtrOutput) +} + // Use this to override the default service endpoint URL func (o EndpointsOutput) Sagemaker() pulumi.StringPtrOutput { return o.ApplyT(func(v Endpoints) *string { return v.Sagemaker }).(pulumi.StringPtrOutput) diff --git a/sdk/go/aws/dynamodb/tableReplica.go b/sdk/go/aws/dynamodb/tableReplica.go index a7a2938ea53..230abcbd0b6 100644 --- a/sdk/go/aws/dynamodb/tableReplica.go +++ b/sdk/go/aws/dynamodb/tableReplica.go @@ -80,13 +80,15 @@ type TableReplica struct { // ARN of the table replica. Arn pulumi.StringOutput `pulumi:"arn"` + // Whether deletion protection is enabled (true) or disabled (false) on the table replica. + DeletionProtectionEnabled pulumi.BoolOutput `pulumi:"deletionProtectionEnabled"` // ARN of the _main_ or global table which this resource will replicate. // // Optional arguments: GlobalTableArn pulumi.StringOutput `pulumi:"globalTableArn"` // ARN of the CMK that should be used for the AWS KMS encryption. This argument should only be used if the key is different from the default KMS-managed DynamoDB key, `alias/aws/dynamodb`. **Note:** This attribute will _not_ be populated with the ARN of _default_ keys. KmsKeyArn pulumi.StringOutput `pulumi:"kmsKeyArn"` - // Whether to enable Point In Time Recovery for the replica. Default is `false`. + // Whether to enable Point In Time Recovery for the table replica. Default is `false`. PointInTimeRecovery pulumi.BoolPtrOutput `pulumi:"pointInTimeRecovery"` // Storage class of the table replica. Valid values are `STANDARD` and `STANDARD_INFREQUENT_ACCESS`. If not used, the table replica will use the same class as the global table. TableClassOverride pulumi.StringPtrOutput `pulumi:"tableClassOverride"` @@ -133,13 +135,15 @@ func GetTableReplica(ctx *pulumi.Context, type tableReplicaState struct { // ARN of the table replica. Arn *string `pulumi:"arn"` + // Whether deletion protection is enabled (true) or disabled (false) on the table replica. + DeletionProtectionEnabled *bool `pulumi:"deletionProtectionEnabled"` // ARN of the _main_ or global table which this resource will replicate. // // Optional arguments: GlobalTableArn *string `pulumi:"globalTableArn"` // ARN of the CMK that should be used for the AWS KMS encryption. This argument should only be used if the key is different from the default KMS-managed DynamoDB key, `alias/aws/dynamodb`. **Note:** This attribute will _not_ be populated with the ARN of _default_ keys. KmsKeyArn *string `pulumi:"kmsKeyArn"` - // Whether to enable Point In Time Recovery for the replica. Default is `false`. + // Whether to enable Point In Time Recovery for the table replica. Default is `false`. PointInTimeRecovery *bool `pulumi:"pointInTimeRecovery"` // Storage class of the table replica. Valid values are `STANDARD` and `STANDARD_INFREQUENT_ACCESS`. If not used, the table replica will use the same class as the global table. TableClassOverride *string `pulumi:"tableClassOverride"` @@ -154,13 +158,15 @@ type tableReplicaState struct { type TableReplicaState struct { // ARN of the table replica. Arn pulumi.StringPtrInput + // Whether deletion protection is enabled (true) or disabled (false) on the table replica. + DeletionProtectionEnabled pulumi.BoolPtrInput // ARN of the _main_ or global table which this resource will replicate. // // Optional arguments: GlobalTableArn pulumi.StringPtrInput // ARN of the CMK that should be used for the AWS KMS encryption. This argument should only be used if the key is different from the default KMS-managed DynamoDB key, `alias/aws/dynamodb`. **Note:** This attribute will _not_ be populated with the ARN of _default_ keys. KmsKeyArn pulumi.StringPtrInput - // Whether to enable Point In Time Recovery for the replica. Default is `false`. + // Whether to enable Point In Time Recovery for the table replica. Default is `false`. PointInTimeRecovery pulumi.BoolPtrInput // Storage class of the table replica. Valid values are `STANDARD` and `STANDARD_INFREQUENT_ACCESS`. If not used, the table replica will use the same class as the global table. TableClassOverride pulumi.StringPtrInput @@ -177,13 +183,15 @@ func (TableReplicaState) ElementType() reflect.Type { } type tableReplicaArgs struct { + // Whether deletion protection is enabled (true) or disabled (false) on the table replica. + DeletionProtectionEnabled *bool `pulumi:"deletionProtectionEnabled"` // ARN of the _main_ or global table which this resource will replicate. // // Optional arguments: GlobalTableArn string `pulumi:"globalTableArn"` // ARN of the CMK that should be used for the AWS KMS encryption. This argument should only be used if the key is different from the default KMS-managed DynamoDB key, `alias/aws/dynamodb`. **Note:** This attribute will _not_ be populated with the ARN of _default_ keys. KmsKeyArn *string `pulumi:"kmsKeyArn"` - // Whether to enable Point In Time Recovery for the replica. Default is `false`. + // Whether to enable Point In Time Recovery for the table replica. Default is `false`. PointInTimeRecovery *bool `pulumi:"pointInTimeRecovery"` // Storage class of the table replica. Valid values are `STANDARD` and `STANDARD_INFREQUENT_ACCESS`. If not used, the table replica will use the same class as the global table. TableClassOverride *string `pulumi:"tableClassOverride"` @@ -193,13 +201,15 @@ type tableReplicaArgs struct { // The set of arguments for constructing a TableReplica resource. type TableReplicaArgs struct { + // Whether deletion protection is enabled (true) or disabled (false) on the table replica. + DeletionProtectionEnabled pulumi.BoolPtrInput // ARN of the _main_ or global table which this resource will replicate. // // Optional arguments: GlobalTableArn pulumi.StringInput // ARN of the CMK that should be used for the AWS KMS encryption. This argument should only be used if the key is different from the default KMS-managed DynamoDB key, `alias/aws/dynamodb`. **Note:** This attribute will _not_ be populated with the ARN of _default_ keys. KmsKeyArn pulumi.StringPtrInput - // Whether to enable Point In Time Recovery for the replica. Default is `false`. + // Whether to enable Point In Time Recovery for the table replica. Default is `false`. PointInTimeRecovery pulumi.BoolPtrInput // Storage class of the table replica. Valid values are `STANDARD` and `STANDARD_INFREQUENT_ACCESS`. If not used, the table replica will use the same class as the global table. TableClassOverride pulumi.StringPtrInput @@ -299,6 +309,11 @@ func (o TableReplicaOutput) Arn() pulumi.StringOutput { return o.ApplyT(func(v *TableReplica) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) } +// Whether deletion protection is enabled (true) or disabled (false) on the table replica. +func (o TableReplicaOutput) DeletionProtectionEnabled() pulumi.BoolOutput { + return o.ApplyT(func(v *TableReplica) pulumi.BoolOutput { return v.DeletionProtectionEnabled }).(pulumi.BoolOutput) +} + // ARN of the _main_ or global table which this resource will replicate. // // Optional arguments: @@ -311,7 +326,7 @@ func (o TableReplicaOutput) KmsKeyArn() pulumi.StringOutput { return o.ApplyT(func(v *TableReplica) pulumi.StringOutput { return v.KmsKeyArn }).(pulumi.StringOutput) } -// Whether to enable Point In Time Recovery for the replica. Default is `false`. +// Whether to enable Point In Time Recovery for the table replica. Default is `false`. func (o TableReplicaOutput) PointInTimeRecovery() pulumi.BoolPtrOutput { return o.ApplyT(func(v *TableReplica) pulumi.BoolPtrOutput { return v.PointInTimeRecovery }).(pulumi.BoolPtrOutput) } diff --git a/sdk/go/aws/pulumiTypes.go b/sdk/go/aws/pulumiTypes.go index c990bd994c0..786be9d41d9 100644 --- a/sdk/go/aws/pulumiTypes.go +++ b/sdk/go/aws/pulumiTypes.go @@ -1170,6 +1170,8 @@ type ProviderEndpoint struct { // Use this to override the default service endpoint URL S3outposts *string `pulumi:"s3outposts"` // Use this to override the default service endpoint URL + S3tables *string `pulumi:"s3tables"` + // Use this to override the default service endpoint URL Sagemaker *string `pulumi:"sagemaker"` // Use this to override the default service endpoint URL Scheduler *string `pulumi:"scheduler"` @@ -1770,6 +1772,8 @@ type ProviderEndpointArgs struct { // Use this to override the default service endpoint URL S3outposts pulumi.StringPtrInput `pulumi:"s3outposts"` // Use this to override the default service endpoint URL + S3tables pulumi.StringPtrInput `pulumi:"s3tables"` + // Use this to override the default service endpoint URL Sagemaker pulumi.StringPtrInput `pulumi:"sagemaker"` // Use this to override the default service endpoint URL Scheduler pulumi.StringPtrInput `pulumi:"scheduler"` @@ -3137,6 +3141,11 @@ func (o ProviderEndpointOutput) S3outposts() pulumi.StringPtrOutput { return o.ApplyT(func(v ProviderEndpoint) *string { return v.S3outposts }).(pulumi.StringPtrOutput) } +// Use this to override the default service endpoint URL +func (o ProviderEndpointOutput) S3tables() pulumi.StringPtrOutput { + return o.ApplyT(func(v ProviderEndpoint) *string { return v.S3tables }).(pulumi.StringPtrOutput) +} + // Use this to override the default service endpoint URL func (o ProviderEndpointOutput) Sagemaker() pulumi.StringPtrOutput { return o.ApplyT(func(v ProviderEndpoint) *string { return v.Sagemaker }).(pulumi.StringPtrOutput) diff --git a/sdk/go/aws/rds/clusterInstance.go b/sdk/go/aws/rds/clusterInstance.go index b82c84ddfa9..42c7c42330b 100644 --- a/sdk/go/aws/rds/clusterInstance.go +++ b/sdk/go/aws/rds/clusterInstance.go @@ -122,6 +122,8 @@ type ClusterInstance struct { EngineVersion pulumi.StringOutput `pulumi:"engineVersion"` // Database engine version EngineVersionActual pulumi.StringOutput `pulumi:"engineVersionActual"` + // Forces an instance to be destroyed when a part of a read replica cluster. **Note:** will promote the read replica to a standalone cluster before instance deletion. + ForceDestroy pulumi.BoolPtrOutput `pulumi:"forceDestroy"` // Identifier for the RDS instance, if omitted, Pulumi will assign a random, unique identifier. Identifier pulumi.StringOutput `pulumi:"identifier"` // Creates a unique identifier beginning with the specified prefix. Conflicts with `identifier`. @@ -234,6 +236,8 @@ type clusterInstanceState struct { EngineVersion *string `pulumi:"engineVersion"` // Database engine version EngineVersionActual *string `pulumi:"engineVersionActual"` + // Forces an instance to be destroyed when a part of a read replica cluster. **Note:** will promote the read replica to a standalone cluster before instance deletion. + ForceDestroy *bool `pulumi:"forceDestroy"` // Identifier for the RDS instance, if omitted, Pulumi will assign a random, unique identifier. Identifier *string `pulumi:"identifier"` // Creates a unique identifier beginning with the specified prefix. Conflicts with `identifier`. @@ -308,6 +312,8 @@ type ClusterInstanceState struct { EngineVersion pulumi.StringPtrInput // Database engine version EngineVersionActual pulumi.StringPtrInput + // Forces an instance to be destroyed when a part of a read replica cluster. **Note:** will promote the read replica to a standalone cluster before instance deletion. + ForceDestroy pulumi.BoolPtrInput // Identifier for the RDS instance, if omitted, Pulumi will assign a random, unique identifier. Identifier pulumi.StringPtrInput // Creates a unique identifier beginning with the specified prefix. Conflicts with `identifier`. @@ -378,6 +384,8 @@ type clusterInstanceArgs struct { Engine string `pulumi:"engine"` // Database engine version. Please note that to upgrade the `engineVersion` of the instance, it must be done on the `rds.Cluster` `engineVersion`. Trying to upgrade in `awsClusterInstance` will not update the `engineVersion`. EngineVersion *string `pulumi:"engineVersion"` + // Forces an instance to be destroyed when a part of a read replica cluster. **Note:** will promote the read replica to a standalone cluster before instance deletion. + ForceDestroy *bool `pulumi:"forceDestroy"` // Identifier for the RDS instance, if omitted, Pulumi will assign a random, unique identifier. Identifier *string `pulumi:"identifier"` // Creates a unique identifier beginning with the specified prefix. Conflicts with `identifier`. @@ -431,6 +439,8 @@ type ClusterInstanceArgs struct { Engine pulumi.StringInput // Database engine version. Please note that to upgrade the `engineVersion` of the instance, it must be done on the `rds.Cluster` `engineVersion`. Trying to upgrade in `awsClusterInstance` will not update the `engineVersion`. EngineVersion pulumi.StringPtrInput + // Forces an instance to be destroyed when a part of a read replica cluster. **Note:** will promote the read replica to a standalone cluster before instance deletion. + ForceDestroy pulumi.BoolPtrInput // Identifier for the RDS instance, if omitted, Pulumi will assign a random, unique identifier. Identifier pulumi.StringPtrInput // Creates a unique identifier beginning with the specified prefix. Conflicts with `identifier`. @@ -622,6 +632,11 @@ func (o ClusterInstanceOutput) EngineVersionActual() pulumi.StringOutput { return o.ApplyT(func(v *ClusterInstance) pulumi.StringOutput { return v.EngineVersionActual }).(pulumi.StringOutput) } +// Forces an instance to be destroyed when a part of a read replica cluster. **Note:** will promote the read replica to a standalone cluster before instance deletion. +func (o ClusterInstanceOutput) ForceDestroy() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *ClusterInstance) pulumi.BoolPtrOutput { return v.ForceDestroy }).(pulumi.BoolPtrOutput) +} + // Identifier for the RDS instance, if omitted, Pulumi will assign a random, unique identifier. func (o ClusterInstanceOutput) Identifier() pulumi.StringOutput { return o.ApplyT(func(v *ClusterInstance) pulumi.StringOutput { return v.Identifier }).(pulumi.StringOutput) diff --git a/sdk/go/aws/rds/parameterGroup.go b/sdk/go/aws/rds/parameterGroup.go index 03a08e0ebd6..fb772ac5268 100644 --- a/sdk/go/aws/rds/parameterGroup.go +++ b/sdk/go/aws/rds/parameterGroup.go @@ -12,60 +12,6 @@ import ( "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) -// Provides an RDS DB parameter group resource. Documentation of the available parameters for various RDS engines can be found at: -// -// * [Aurora MySQL Parameters](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AuroraMySQL.Reference.html) -// * [Aurora PostgreSQL Parameters](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AuroraPostgreSQL.Reference.html) -// * [MariaDB Parameters](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.MariaDB.Parameters.html) -// * [Oracle Parameters](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ModifyInstance.Oracle.html#USER_ModifyInstance.Oracle.sqlnet) -// * [PostgreSQL Parameters](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.PostgreSQL.CommonDBATasks.html#Appendix.PostgreSQL.CommonDBATasks.Parameters) -// -// > **Hands-on:** For an example of the `rds.ParameterGroup` in use, follow the Manage AWS RDS Instances tutorial on HashiCorp Learn. -// -// > **NOTE**: to make diffs less confusing, the AWS provider will ignore changes for a `parameter` whose `value` remains -// unchanged but whose `applyMethod` is changing (e.g., from `immediate` to `pending-reboot`, or `pending-reboot` to -// `immediate`). This matches the cloud: if only the apply method of a parameter is changing, the AWS API will not register -// this change. To change the `applyMethod` of a parameter, its value must also change. -// -// ## Example Usage -// -// ### Basic 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.NewParameterGroup(ctx, "default", &rds.ParameterGroupArgs{ -// Name: pulumi.String("rds-pg"), -// Family: pulumi.String("mysql5.6"), -// Parameters: rds.ParameterGroupParameterArray{ -// &rds.ParameterGroupParameterArgs{ -// Name: pulumi.String("character_set_server"), -// Value: pulumi.String("utf8"), -// }, -// &rds.ParameterGroupParameterArgs{ -// Name: pulumi.String("character_set_client"), -// Value: pulumi.String("utf8"), -// }, -// }, -// }) -// if err != nil { -// return err -// } -// return nil -// }) -// } -// -// ``` -// // ## Import // // Using `pulumi import`, import DB Parameter groups using the `name`. For example: diff --git a/sdk/go/aws/rds/pulumiTypes.go b/sdk/go/aws/rds/pulumiTypes.go index 86059f2135c..8da7e19ad13 100644 --- a/sdk/go/aws/rds/pulumiTypes.go +++ b/sdk/go/aws/rds/pulumiTypes.go @@ -920,9 +920,9 @@ func (o ClusterScalingConfigurationPtrOutput) TimeoutAction() pulumi.StringPtrOu } type ClusterServerlessv2ScalingConfiguration struct { - // 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.5` up to `256` in steps of `0.5`. + // 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`. 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.5` up to `256` in steps of `0.5`. + // 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"` } @@ -938,9 +938,9 @@ type ClusterServerlessv2ScalingConfigurationInput interface { } type ClusterServerlessv2ScalingConfigurationArgs struct { - // 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.5` up to `256` in steps of `0.5`. + // 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`. 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.5` up to `256` in steps of `0.5`. + // 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"` } @@ -1021,12 +1021,12 @@ func (o ClusterServerlessv2ScalingConfigurationOutput) ToClusterServerlessv2Scal }).(ClusterServerlessv2ScalingConfigurationPtrOutput) } -// 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.5` up to `256` in steps of `0.5`. +// 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`. func (o ClusterServerlessv2ScalingConfigurationOutput) MaxCapacity() pulumi.Float64Output { return o.ApplyT(func(v ClusterServerlessv2ScalingConfiguration) float64 { return v.MaxCapacity }).(pulumi.Float64Output) } -// 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.5` up to `256` in steps of `0.5`. +// 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`. func (o ClusterServerlessv2ScalingConfigurationOutput) MinCapacity() pulumi.Float64Output { return o.ApplyT(func(v ClusterServerlessv2ScalingConfiguration) float64 { return v.MinCapacity }).(pulumi.Float64Output) } @@ -1055,7 +1055,7 @@ func (o ClusterServerlessv2ScalingConfigurationPtrOutput) Elem() ClusterServerle }).(ClusterServerlessv2ScalingConfigurationOutput) } -// 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.5` up to `256` in steps of `0.5`. +// 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`. func (o ClusterServerlessv2ScalingConfigurationPtrOutput) MaxCapacity() pulumi.Float64PtrOutput { return o.ApplyT(func(v *ClusterServerlessv2ScalingConfiguration) *float64 { if v == nil { @@ -1065,7 +1065,7 @@ func (o ClusterServerlessv2ScalingConfigurationPtrOutput) MaxCapacity() pulumi.F }).(pulumi.Float64PtrOutput) } -// 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.5` up to `256` in steps of `0.5`. +// 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`. func (o ClusterServerlessv2ScalingConfigurationPtrOutput) MinCapacity() pulumi.Float64PtrOutput { return o.ApplyT(func(v *ClusterServerlessv2ScalingConfiguration) *float64 { if v == nil { diff --git a/sdk/go/aws/s3/pulumiTypes.go b/sdk/go/aws/s3/pulumiTypes.go index 9aeea66a838..ec6052c09d9 100644 --- a/sdk/go/aws/s3/pulumiTypes.go +++ b/sdk/go/aws/s3/pulumiTypes.go @@ -15823,9 +15823,9 @@ func (o BucketWebsiteConfigurationV2RoutingRuleRedirectOutput) ReplaceKeyWith() } type DirectoryBucketLocation struct { - // [Availability Zone ID](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html#az-ids). + // [Availability Zone ID](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html#az-ids) or Local Zone ID. Name string `pulumi:"name"` - // Location type. Valid values: `AvailabilityZone`. + // Location type. Valid values: `AvailabilityZone`, `LocalZone`. Type *string `pulumi:"type"` } @@ -15841,9 +15841,9 @@ type DirectoryBucketLocationInput interface { } type DirectoryBucketLocationArgs struct { - // [Availability Zone ID](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html#az-ids). + // [Availability Zone ID](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html#az-ids) or Local Zone ID. Name pulumi.StringInput `pulumi:"name"` - // Location type. Valid values: `AvailabilityZone`. + // Location type. Valid values: `AvailabilityZone`, `LocalZone`. Type pulumi.StringPtrInput `pulumi:"type"` } @@ -15924,12 +15924,12 @@ func (o DirectoryBucketLocationOutput) ToDirectoryBucketLocationPtrOutputWithCon }).(DirectoryBucketLocationPtrOutput) } -// [Availability Zone ID](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html#az-ids). +// [Availability Zone ID](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html#az-ids) or Local Zone ID. func (o DirectoryBucketLocationOutput) Name() pulumi.StringOutput { return o.ApplyT(func(v DirectoryBucketLocation) string { return v.Name }).(pulumi.StringOutput) } -// Location type. Valid values: `AvailabilityZone`. +// Location type. Valid values: `AvailabilityZone`, `LocalZone`. func (o DirectoryBucketLocationOutput) Type() pulumi.StringPtrOutput { return o.ApplyT(func(v DirectoryBucketLocation) *string { return v.Type }).(pulumi.StringPtrOutput) } @@ -15958,7 +15958,7 @@ func (o DirectoryBucketLocationPtrOutput) Elem() DirectoryBucketLocationOutput { }).(DirectoryBucketLocationOutput) } -// [Availability Zone ID](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html#az-ids). +// [Availability Zone ID](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html#az-ids) or Local Zone ID. func (o DirectoryBucketLocationPtrOutput) Name() pulumi.StringPtrOutput { return o.ApplyT(func(v *DirectoryBucketLocation) *string { if v == nil { @@ -15968,7 +15968,7 @@ func (o DirectoryBucketLocationPtrOutput) Name() pulumi.StringPtrOutput { }).(pulumi.StringPtrOutput) } -// Location type. Valid values: `AvailabilityZone`. +// Location type. Valid values: `AvailabilityZone`, `LocalZone`. func (o DirectoryBucketLocationPtrOutput) Type() pulumi.StringPtrOutput { return o.ApplyT(func(v *DirectoryBucketLocation) *string { if v == nil { diff --git a/sdk/go/aws/s3tables/init.go b/sdk/go/aws/s3tables/init.go new file mode 100644 index 00000000000..5237f0846c1 --- /dev/null +++ b/sdk/go/aws/s3tables/init.go @@ -0,0 +1,72 @@ +// 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 s3tables + +import ( + "fmt" + + "github.com/blang/semver" + "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type module struct { + version semver.Version +} + +func (m *module) Version() semver.Version { + return m.version +} + +func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi.Resource, err error) { + switch typ { + case "aws:s3tables/namespace:Namespace": + r = &Namespace{} + case "aws:s3tables/table:Table": + r = &Table{} + case "aws:s3tables/tableBucket:TableBucket": + r = &TableBucket{} + case "aws:s3tables/tableBucketPolicy:TableBucketPolicy": + r = &TableBucketPolicy{} + case "aws:s3tables/tablePolicy:TablePolicy": + r = &TablePolicy{} + default: + return nil, fmt.Errorf("unknown resource type: %s", typ) + } + + err = ctx.RegisterResource(typ, name, nil, r, pulumi.URN_(urn)) + return +} + +func init() { + version, err := internal.PkgVersion() + if err != nil { + version = semver.Version{Major: 1} + } + pulumi.RegisterResourceModule( + "aws", + "s3tables/namespace", + &module{version}, + ) + pulumi.RegisterResourceModule( + "aws", + "s3tables/table", + &module{version}, + ) + pulumi.RegisterResourceModule( + "aws", + "s3tables/tableBucket", + &module{version}, + ) + pulumi.RegisterResourceModule( + "aws", + "s3tables/tableBucketPolicy", + &module{version}, + ) + pulumi.RegisterResourceModule( + "aws", + "s3tables/tablePolicy", + &module{version}, + ) +} diff --git a/sdk/go/aws/s3tables/namespace.go b/sdk/go/aws/s3tables/namespace.go new file mode 100644 index 00000000000..121c1e8cfe8 --- /dev/null +++ b/sdk/go/aws/s3tables/namespace.go @@ -0,0 +1,325 @@ +// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package s3tables + +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 Amazon S3 Tables Namespace. +// +// ## Example Usage +// +// ### Basic Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3tables" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// exampleTableBucket, err := s3tables.NewTableBucket(ctx, "example", &s3tables.TableBucketArgs{ +// Name: pulumi.String("example-bucket"), +// }) +// if err != nil { +// return err +// } +// _, err = s3tables.NewNamespace(ctx, "example", &s3tables.NamespaceArgs{ +// Namespace: pulumi.String("example-namespace"), +// TableBucketArn: exampleTableBucket.Arn, +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// ## Import +// +// Using `pulumi import`, import S3 Tables Namespace using the `table_bucket_arn` and the value of `namespace`, separated by a semicolon (`;`). For example: +// +// ```sh +// $ pulumi import aws:s3tables/namespace:Namespace example 'arn:aws:s3tables:us-west-2:123456789012:bucket/example-bucket;example-namespace' +// ``` +type Namespace struct { + pulumi.CustomResourceState + + // Date and time when the namespace was created. + CreatedAt pulumi.StringOutput `pulumi:"createdAt"` + // Account ID of the account that created the namespace. + CreatedBy pulumi.StringOutput `pulumi:"createdBy"` + // Name of the namespace. + // Must be between 1 and 255 characters in length. + // Can consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number. + Namespace pulumi.StringOutput `pulumi:"namespace"` + // Account ID of the account that owns the namespace. + OwnerAccountId pulumi.StringOutput `pulumi:"ownerAccountId"` + // ARN referencing the Table Bucket that contains this Namespace. + TableBucketArn pulumi.StringOutput `pulumi:"tableBucketArn"` +} + +// NewNamespace registers a new resource with the given unique name, arguments, and options. +func NewNamespace(ctx *pulumi.Context, + name string, args *NamespaceArgs, opts ...pulumi.ResourceOption) (*Namespace, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Namespace == nil { + return nil, errors.New("invalid value for required argument 'Namespace'") + } + if args.TableBucketArn == nil { + return nil, errors.New("invalid value for required argument 'TableBucketArn'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource Namespace + err := ctx.RegisterResource("aws:s3tables/namespace:Namespace", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetNamespace gets an existing Namespace 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 GetNamespace(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *NamespaceState, opts ...pulumi.ResourceOption) (*Namespace, error) { + var resource Namespace + err := ctx.ReadResource("aws:s3tables/namespace:Namespace", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering Namespace resources. +type namespaceState struct { + // Date and time when the namespace was created. + CreatedAt *string `pulumi:"createdAt"` + // Account ID of the account that created the namespace. + CreatedBy *string `pulumi:"createdBy"` + // Name of the namespace. + // Must be between 1 and 255 characters in length. + // Can consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number. + Namespace *string `pulumi:"namespace"` + // Account ID of the account that owns the namespace. + OwnerAccountId *string `pulumi:"ownerAccountId"` + // ARN referencing the Table Bucket that contains this Namespace. + TableBucketArn *string `pulumi:"tableBucketArn"` +} + +type NamespaceState struct { + // Date and time when the namespace was created. + CreatedAt pulumi.StringPtrInput + // Account ID of the account that created the namespace. + CreatedBy pulumi.StringPtrInput + // Name of the namespace. + // Must be between 1 and 255 characters in length. + // Can consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number. + Namespace pulumi.StringPtrInput + // Account ID of the account that owns the namespace. + OwnerAccountId pulumi.StringPtrInput + // ARN referencing the Table Bucket that contains this Namespace. + TableBucketArn pulumi.StringPtrInput +} + +func (NamespaceState) ElementType() reflect.Type { + return reflect.TypeOf((*namespaceState)(nil)).Elem() +} + +type namespaceArgs struct { + // Name of the namespace. + // Must be between 1 and 255 characters in length. + // Can consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number. + Namespace string `pulumi:"namespace"` + // ARN referencing the Table Bucket that contains this Namespace. + TableBucketArn string `pulumi:"tableBucketArn"` +} + +// The set of arguments for constructing a Namespace resource. +type NamespaceArgs struct { + // Name of the namespace. + // Must be between 1 and 255 characters in length. + // Can consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number. + Namespace pulumi.StringInput + // ARN referencing the Table Bucket that contains this Namespace. + TableBucketArn pulumi.StringInput +} + +func (NamespaceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*namespaceArgs)(nil)).Elem() +} + +type NamespaceInput interface { + pulumi.Input + + ToNamespaceOutput() NamespaceOutput + ToNamespaceOutputWithContext(ctx context.Context) NamespaceOutput +} + +func (*Namespace) ElementType() reflect.Type { + return reflect.TypeOf((**Namespace)(nil)).Elem() +} + +func (i *Namespace) ToNamespaceOutput() NamespaceOutput { + return i.ToNamespaceOutputWithContext(context.Background()) +} + +func (i *Namespace) ToNamespaceOutputWithContext(ctx context.Context) NamespaceOutput { + return pulumi.ToOutputWithContext(ctx, i).(NamespaceOutput) +} + +// NamespaceArrayInput is an input type that accepts NamespaceArray and NamespaceArrayOutput values. +// You can construct a concrete instance of `NamespaceArrayInput` via: +// +// NamespaceArray{ NamespaceArgs{...} } +type NamespaceArrayInput interface { + pulumi.Input + + ToNamespaceArrayOutput() NamespaceArrayOutput + ToNamespaceArrayOutputWithContext(context.Context) NamespaceArrayOutput +} + +type NamespaceArray []NamespaceInput + +func (NamespaceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*Namespace)(nil)).Elem() +} + +func (i NamespaceArray) ToNamespaceArrayOutput() NamespaceArrayOutput { + return i.ToNamespaceArrayOutputWithContext(context.Background()) +} + +func (i NamespaceArray) ToNamespaceArrayOutputWithContext(ctx context.Context) NamespaceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(NamespaceArrayOutput) +} + +// NamespaceMapInput is an input type that accepts NamespaceMap and NamespaceMapOutput values. +// You can construct a concrete instance of `NamespaceMapInput` via: +// +// NamespaceMap{ "key": NamespaceArgs{...} } +type NamespaceMapInput interface { + pulumi.Input + + ToNamespaceMapOutput() NamespaceMapOutput + ToNamespaceMapOutputWithContext(context.Context) NamespaceMapOutput +} + +type NamespaceMap map[string]NamespaceInput + +func (NamespaceMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*Namespace)(nil)).Elem() +} + +func (i NamespaceMap) ToNamespaceMapOutput() NamespaceMapOutput { + return i.ToNamespaceMapOutputWithContext(context.Background()) +} + +func (i NamespaceMap) ToNamespaceMapOutputWithContext(ctx context.Context) NamespaceMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(NamespaceMapOutput) +} + +type NamespaceOutput struct{ *pulumi.OutputState } + +func (NamespaceOutput) ElementType() reflect.Type { + return reflect.TypeOf((**Namespace)(nil)).Elem() +} + +func (o NamespaceOutput) ToNamespaceOutput() NamespaceOutput { + return o +} + +func (o NamespaceOutput) ToNamespaceOutputWithContext(ctx context.Context) NamespaceOutput { + return o +} + +// Date and time when the namespace was created. +func (o NamespaceOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v *Namespace) pulumi.StringOutput { return v.CreatedAt }).(pulumi.StringOutput) +} + +// Account ID of the account that created the namespace. +func (o NamespaceOutput) CreatedBy() pulumi.StringOutput { + return o.ApplyT(func(v *Namespace) pulumi.StringOutput { return v.CreatedBy }).(pulumi.StringOutput) +} + +// Name of the namespace. +// Must be between 1 and 255 characters in length. +// Can consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number. +func (o NamespaceOutput) Namespace() pulumi.StringOutput { + return o.ApplyT(func(v *Namespace) pulumi.StringOutput { return v.Namespace }).(pulumi.StringOutput) +} + +// Account ID of the account that owns the namespace. +func (o NamespaceOutput) OwnerAccountId() pulumi.StringOutput { + return o.ApplyT(func(v *Namespace) pulumi.StringOutput { return v.OwnerAccountId }).(pulumi.StringOutput) +} + +// ARN referencing the Table Bucket that contains this Namespace. +func (o NamespaceOutput) TableBucketArn() pulumi.StringOutput { + return o.ApplyT(func(v *Namespace) pulumi.StringOutput { return v.TableBucketArn }).(pulumi.StringOutput) +} + +type NamespaceArrayOutput struct{ *pulumi.OutputState } + +func (NamespaceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*Namespace)(nil)).Elem() +} + +func (o NamespaceArrayOutput) ToNamespaceArrayOutput() NamespaceArrayOutput { + return o +} + +func (o NamespaceArrayOutput) ToNamespaceArrayOutputWithContext(ctx context.Context) NamespaceArrayOutput { + return o +} + +func (o NamespaceArrayOutput) Index(i pulumi.IntInput) NamespaceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *Namespace { + return vs[0].([]*Namespace)[vs[1].(int)] + }).(NamespaceOutput) +} + +type NamespaceMapOutput struct{ *pulumi.OutputState } + +func (NamespaceMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*Namespace)(nil)).Elem() +} + +func (o NamespaceMapOutput) ToNamespaceMapOutput() NamespaceMapOutput { + return o +} + +func (o NamespaceMapOutput) ToNamespaceMapOutputWithContext(ctx context.Context) NamespaceMapOutput { + return o +} + +func (o NamespaceMapOutput) MapIndex(k pulumi.StringInput) NamespaceOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *Namespace { + return vs[0].(map[string]*Namespace)[vs[1].(string)] + }).(NamespaceOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*NamespaceInput)(nil)).Elem(), &Namespace{}) + pulumi.RegisterInputType(reflect.TypeOf((*NamespaceArrayInput)(nil)).Elem(), NamespaceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*NamespaceMapInput)(nil)).Elem(), NamespaceMap{}) + pulumi.RegisterOutputType(NamespaceOutput{}) + pulumi.RegisterOutputType(NamespaceArrayOutput{}) + pulumi.RegisterOutputType(NamespaceMapOutput{}) +} diff --git a/sdk/go/aws/s3tables/pulumiTypes.go b/sdk/go/aws/s3tables/pulumiTypes.go new file mode 100644 index 00000000000..89dd09a8b47 --- /dev/null +++ b/sdk/go/aws/s3tables/pulumiTypes.go @@ -0,0 +1,1335 @@ +// 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 s3tables + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +var _ = internal.GetEnvOrDefault + +type TableBucketMaintenanceConfiguration struct { + // A single Iceberg unreferenced file removal settings block. + // See `icebergUnreferencedFileRemoval` below + IcebergUnreferencedFileRemoval TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemoval `pulumi:"icebergUnreferencedFileRemoval"` +} + +// TableBucketMaintenanceConfigurationInput is an input type that accepts TableBucketMaintenanceConfigurationArgs and TableBucketMaintenanceConfigurationOutput values. +// You can construct a concrete instance of `TableBucketMaintenanceConfigurationInput` via: +// +// TableBucketMaintenanceConfigurationArgs{...} +type TableBucketMaintenanceConfigurationInput interface { + pulumi.Input + + ToTableBucketMaintenanceConfigurationOutput() TableBucketMaintenanceConfigurationOutput + ToTableBucketMaintenanceConfigurationOutputWithContext(context.Context) TableBucketMaintenanceConfigurationOutput +} + +type TableBucketMaintenanceConfigurationArgs struct { + // A single Iceberg unreferenced file removal settings block. + // See `icebergUnreferencedFileRemoval` below + IcebergUnreferencedFileRemoval TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalInput `pulumi:"icebergUnreferencedFileRemoval"` +} + +func (TableBucketMaintenanceConfigurationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*TableBucketMaintenanceConfiguration)(nil)).Elem() +} + +func (i TableBucketMaintenanceConfigurationArgs) ToTableBucketMaintenanceConfigurationOutput() TableBucketMaintenanceConfigurationOutput { + return i.ToTableBucketMaintenanceConfigurationOutputWithContext(context.Background()) +} + +func (i TableBucketMaintenanceConfigurationArgs) ToTableBucketMaintenanceConfigurationOutputWithContext(ctx context.Context) TableBucketMaintenanceConfigurationOutput { + return pulumi.ToOutputWithContext(ctx, i).(TableBucketMaintenanceConfigurationOutput) +} + +func (i TableBucketMaintenanceConfigurationArgs) ToTableBucketMaintenanceConfigurationPtrOutput() TableBucketMaintenanceConfigurationPtrOutput { + return i.ToTableBucketMaintenanceConfigurationPtrOutputWithContext(context.Background()) +} + +func (i TableBucketMaintenanceConfigurationArgs) ToTableBucketMaintenanceConfigurationPtrOutputWithContext(ctx context.Context) TableBucketMaintenanceConfigurationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(TableBucketMaintenanceConfigurationOutput).ToTableBucketMaintenanceConfigurationPtrOutputWithContext(ctx) +} + +// TableBucketMaintenanceConfigurationPtrInput is an input type that accepts TableBucketMaintenanceConfigurationArgs, TableBucketMaintenanceConfigurationPtr and TableBucketMaintenanceConfigurationPtrOutput values. +// You can construct a concrete instance of `TableBucketMaintenanceConfigurationPtrInput` via: +// +// TableBucketMaintenanceConfigurationArgs{...} +// +// or: +// +// nil +type TableBucketMaintenanceConfigurationPtrInput interface { + pulumi.Input + + ToTableBucketMaintenanceConfigurationPtrOutput() TableBucketMaintenanceConfigurationPtrOutput + ToTableBucketMaintenanceConfigurationPtrOutputWithContext(context.Context) TableBucketMaintenanceConfigurationPtrOutput +} + +type tableBucketMaintenanceConfigurationPtrType TableBucketMaintenanceConfigurationArgs + +func TableBucketMaintenanceConfigurationPtr(v *TableBucketMaintenanceConfigurationArgs) TableBucketMaintenanceConfigurationPtrInput { + return (*tableBucketMaintenanceConfigurationPtrType)(v) +} + +func (*tableBucketMaintenanceConfigurationPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**TableBucketMaintenanceConfiguration)(nil)).Elem() +} + +func (i *tableBucketMaintenanceConfigurationPtrType) ToTableBucketMaintenanceConfigurationPtrOutput() TableBucketMaintenanceConfigurationPtrOutput { + return i.ToTableBucketMaintenanceConfigurationPtrOutputWithContext(context.Background()) +} + +func (i *tableBucketMaintenanceConfigurationPtrType) ToTableBucketMaintenanceConfigurationPtrOutputWithContext(ctx context.Context) TableBucketMaintenanceConfigurationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(TableBucketMaintenanceConfigurationPtrOutput) +} + +type TableBucketMaintenanceConfigurationOutput struct{ *pulumi.OutputState } + +func (TableBucketMaintenanceConfigurationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*TableBucketMaintenanceConfiguration)(nil)).Elem() +} + +func (o TableBucketMaintenanceConfigurationOutput) ToTableBucketMaintenanceConfigurationOutput() TableBucketMaintenanceConfigurationOutput { + return o +} + +func (o TableBucketMaintenanceConfigurationOutput) ToTableBucketMaintenanceConfigurationOutputWithContext(ctx context.Context) TableBucketMaintenanceConfigurationOutput { + return o +} + +func (o TableBucketMaintenanceConfigurationOutput) ToTableBucketMaintenanceConfigurationPtrOutput() TableBucketMaintenanceConfigurationPtrOutput { + return o.ToTableBucketMaintenanceConfigurationPtrOutputWithContext(context.Background()) +} + +func (o TableBucketMaintenanceConfigurationOutput) ToTableBucketMaintenanceConfigurationPtrOutputWithContext(ctx context.Context) TableBucketMaintenanceConfigurationPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v TableBucketMaintenanceConfiguration) *TableBucketMaintenanceConfiguration { + return &v + }).(TableBucketMaintenanceConfigurationPtrOutput) +} + +// A single Iceberg unreferenced file removal settings block. +// See `icebergUnreferencedFileRemoval` below +func (o TableBucketMaintenanceConfigurationOutput) IcebergUnreferencedFileRemoval() TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalOutput { + return o.ApplyT(func(v TableBucketMaintenanceConfiguration) TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemoval { + return v.IcebergUnreferencedFileRemoval + }).(TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalOutput) +} + +type TableBucketMaintenanceConfigurationPtrOutput struct{ *pulumi.OutputState } + +func (TableBucketMaintenanceConfigurationPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**TableBucketMaintenanceConfiguration)(nil)).Elem() +} + +func (o TableBucketMaintenanceConfigurationPtrOutput) ToTableBucketMaintenanceConfigurationPtrOutput() TableBucketMaintenanceConfigurationPtrOutput { + return o +} + +func (o TableBucketMaintenanceConfigurationPtrOutput) ToTableBucketMaintenanceConfigurationPtrOutputWithContext(ctx context.Context) TableBucketMaintenanceConfigurationPtrOutput { + return o +} + +func (o TableBucketMaintenanceConfigurationPtrOutput) Elem() TableBucketMaintenanceConfigurationOutput { + return o.ApplyT(func(v *TableBucketMaintenanceConfiguration) TableBucketMaintenanceConfiguration { + if v != nil { + return *v + } + var ret TableBucketMaintenanceConfiguration + return ret + }).(TableBucketMaintenanceConfigurationOutput) +} + +// A single Iceberg unreferenced file removal settings block. +// See `icebergUnreferencedFileRemoval` below +func (o TableBucketMaintenanceConfigurationPtrOutput) IcebergUnreferencedFileRemoval() TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalPtrOutput { + return o.ApplyT(func(v *TableBucketMaintenanceConfiguration) *TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemoval { + if v == nil { + return nil + } + return &v.IcebergUnreferencedFileRemoval + }).(TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalPtrOutput) +} + +type TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemoval struct { + // Settings for unreferenced file removal. + // See `iceberg_unreferenced_file_removal.settings` below + Settings TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettings `pulumi:"settings"` + // Whether the configuration is enabled. + // Valid values are `enabled` and `disabled`. + Status string `pulumi:"status"` +} + +// TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalInput is an input type that accepts TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalArgs and TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalOutput values. +// You can construct a concrete instance of `TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalInput` via: +// +// TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalArgs{...} +type TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalInput interface { + pulumi.Input + + ToTableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalOutput() TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalOutput + ToTableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalOutputWithContext(context.Context) TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalOutput +} + +type TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalArgs struct { + // Settings for unreferenced file removal. + // See `iceberg_unreferenced_file_removal.settings` below + Settings TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettingsInput `pulumi:"settings"` + // Whether the configuration is enabled. + // Valid values are `enabled` and `disabled`. + Status pulumi.StringInput `pulumi:"status"` +} + +func (TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalArgs) ElementType() reflect.Type { + return reflect.TypeOf((*TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemoval)(nil)).Elem() +} + +func (i TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalArgs) ToTableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalOutput() TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalOutput { + return i.ToTableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalOutputWithContext(context.Background()) +} + +func (i TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalArgs) ToTableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalOutputWithContext(ctx context.Context) TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalOutput { + return pulumi.ToOutputWithContext(ctx, i).(TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalOutput) +} + +func (i TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalArgs) ToTableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalPtrOutput() TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalPtrOutput { + return i.ToTableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalPtrOutputWithContext(context.Background()) +} + +func (i TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalArgs) ToTableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalPtrOutputWithContext(ctx context.Context) TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalOutput).ToTableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalPtrOutputWithContext(ctx) +} + +// TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalPtrInput is an input type that accepts TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalArgs, TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalPtr and TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalPtrOutput values. +// You can construct a concrete instance of `TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalPtrInput` via: +// +// TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalArgs{...} +// +// or: +// +// nil +type TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalPtrInput interface { + pulumi.Input + + ToTableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalPtrOutput() TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalPtrOutput + ToTableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalPtrOutputWithContext(context.Context) TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalPtrOutput +} + +type tableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalPtrType TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalArgs + +func TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalPtr(v *TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalArgs) TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalPtrInput { + return (*tableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalPtrType)(v) +} + +func (*tableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemoval)(nil)).Elem() +} + +func (i *tableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalPtrType) ToTableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalPtrOutput() TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalPtrOutput { + return i.ToTableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalPtrOutputWithContext(context.Background()) +} + +func (i *tableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalPtrType) ToTableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalPtrOutputWithContext(ctx context.Context) TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalPtrOutput) +} + +type TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalOutput struct{ *pulumi.OutputState } + +func (TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalOutput) ElementType() reflect.Type { + return reflect.TypeOf((*TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemoval)(nil)).Elem() +} + +func (o TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalOutput) ToTableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalOutput() TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalOutput { + return o +} + +func (o TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalOutput) ToTableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalOutputWithContext(ctx context.Context) TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalOutput { + return o +} + +func (o TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalOutput) ToTableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalPtrOutput() TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalPtrOutput { + return o.ToTableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalPtrOutputWithContext(context.Background()) +} + +func (o TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalOutput) ToTableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalPtrOutputWithContext(ctx context.Context) TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemoval) *TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemoval { + return &v + }).(TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalPtrOutput) +} + +// Settings for unreferenced file removal. +// See `iceberg_unreferenced_file_removal.settings` below +func (o TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalOutput) Settings() TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettingsOutput { + return o.ApplyT(func(v TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemoval) TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettings { + return v.Settings + }).(TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettingsOutput) +} + +// Whether the configuration is enabled. +// Valid values are `enabled` and `disabled`. +func (o TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemoval) string { return v.Status }).(pulumi.StringOutput) +} + +type TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalPtrOutput struct{ *pulumi.OutputState } + +func (TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemoval)(nil)).Elem() +} + +func (o TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalPtrOutput) ToTableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalPtrOutput() TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalPtrOutput { + return o +} + +func (o TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalPtrOutput) ToTableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalPtrOutputWithContext(ctx context.Context) TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalPtrOutput { + return o +} + +func (o TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalPtrOutput) Elem() TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalOutput { + return o.ApplyT(func(v *TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemoval) TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemoval { + if v != nil { + return *v + } + var ret TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemoval + return ret + }).(TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalOutput) +} + +// Settings for unreferenced file removal. +// See `iceberg_unreferenced_file_removal.settings` below +func (o TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalPtrOutput) Settings() TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettingsPtrOutput { + return o.ApplyT(func(v *TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemoval) *TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettings { + if v == nil { + return nil + } + return &v.Settings + }).(TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettingsPtrOutput) +} + +// Whether the configuration is enabled. +// Valid values are `enabled` and `disabled`. +func (o TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalPtrOutput) Status() pulumi.StringPtrOutput { + return o.ApplyT(func(v *TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemoval) *string { + if v == nil { + return nil + } + return &v.Status + }).(pulumi.StringPtrOutput) +} + +type TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettings struct { + // Data objects marked for deletion are deleted after this many days. + // Must be at least `1`. + NonCurrentDays float64 `pulumi:"nonCurrentDays"` + // Unreferenced data objects are marked for deletion after this many days. + // Must be at least `1`. + UnreferencedDays float64 `pulumi:"unreferencedDays"` +} + +// TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettingsInput is an input type that accepts TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettingsArgs and TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettingsOutput values. +// You can construct a concrete instance of `TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettingsInput` via: +// +// TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettingsArgs{...} +type TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettingsInput interface { + pulumi.Input + + ToTableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettingsOutput() TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettingsOutput + ToTableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettingsOutputWithContext(context.Context) TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettingsOutput +} + +type TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettingsArgs struct { + // Data objects marked for deletion are deleted after this many days. + // Must be at least `1`. + NonCurrentDays pulumi.Float64Input `pulumi:"nonCurrentDays"` + // Unreferenced data objects are marked for deletion after this many days. + // Must be at least `1`. + UnreferencedDays pulumi.Float64Input `pulumi:"unreferencedDays"` +} + +func (TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettingsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettings)(nil)).Elem() +} + +func (i TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettingsArgs) ToTableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettingsOutput() TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettingsOutput { + return i.ToTableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettingsOutputWithContext(context.Background()) +} + +func (i TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettingsArgs) ToTableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettingsOutputWithContext(ctx context.Context) TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettingsOutput { + return pulumi.ToOutputWithContext(ctx, i).(TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettingsOutput) +} + +func (i TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettingsArgs) ToTableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettingsPtrOutput() TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettingsPtrOutput { + return i.ToTableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettingsPtrOutputWithContext(context.Background()) +} + +func (i TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettingsArgs) ToTableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettingsPtrOutputWithContext(ctx context.Context) TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettingsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettingsOutput).ToTableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettingsPtrOutputWithContext(ctx) +} + +// TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettingsPtrInput is an input type that accepts TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettingsArgs, TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettingsPtr and TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettingsPtrOutput values. +// You can construct a concrete instance of `TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettingsPtrInput` via: +// +// TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettingsArgs{...} +// +// or: +// +// nil +type TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettingsPtrInput interface { + pulumi.Input + + ToTableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettingsPtrOutput() TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettingsPtrOutput + ToTableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettingsPtrOutputWithContext(context.Context) TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettingsPtrOutput +} + +type tableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettingsPtrType TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettingsArgs + +func TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettingsPtr(v *TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettingsArgs) TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettingsPtrInput { + return (*tableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettingsPtrType)(v) +} + +func (*tableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettingsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettings)(nil)).Elem() +} + +func (i *tableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettingsPtrType) ToTableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettingsPtrOutput() TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettingsPtrOutput { + return i.ToTableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettingsPtrOutputWithContext(context.Background()) +} + +func (i *tableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettingsPtrType) ToTableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettingsPtrOutputWithContext(ctx context.Context) TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettingsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettingsPtrOutput) +} + +type TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettingsOutput struct{ *pulumi.OutputState } + +func (TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettingsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettings)(nil)).Elem() +} + +func (o TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettingsOutput) ToTableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettingsOutput() TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettingsOutput { + return o +} + +func (o TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettingsOutput) ToTableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettingsOutputWithContext(ctx context.Context) TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettingsOutput { + return o +} + +func (o TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettingsOutput) ToTableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettingsPtrOutput() TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettingsPtrOutput { + return o.ToTableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettingsPtrOutputWithContext(context.Background()) +} + +func (o TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettingsOutput) ToTableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettingsPtrOutputWithContext(ctx context.Context) TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettingsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettings) *TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettings { + return &v + }).(TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettingsPtrOutput) +} + +// Data objects marked for deletion are deleted after this many days. +// Must be at least `1`. +func (o TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettingsOutput) NonCurrentDays() pulumi.Float64Output { + return o.ApplyT(func(v TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettings) float64 { + return v.NonCurrentDays + }).(pulumi.Float64Output) +} + +// Unreferenced data objects are marked for deletion after this many days. +// Must be at least `1`. +func (o TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettingsOutput) UnreferencedDays() pulumi.Float64Output { + return o.ApplyT(func(v TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettings) float64 { + return v.UnreferencedDays + }).(pulumi.Float64Output) +} + +type TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettingsPtrOutput struct{ *pulumi.OutputState } + +func (TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettingsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettings)(nil)).Elem() +} + +func (o TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettingsPtrOutput) ToTableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettingsPtrOutput() TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettingsPtrOutput { + return o +} + +func (o TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettingsPtrOutput) ToTableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettingsPtrOutputWithContext(ctx context.Context) TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettingsPtrOutput { + return o +} + +func (o TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettingsPtrOutput) Elem() TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettingsOutput { + return o.ApplyT(func(v *TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettings) TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettings { + if v != nil { + return *v + } + var ret TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettings + return ret + }).(TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettingsOutput) +} + +// Data objects marked for deletion are deleted after this many days. +// Must be at least `1`. +func (o TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettingsPtrOutput) NonCurrentDays() pulumi.Float64PtrOutput { + return o.ApplyT(func(v *TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettings) *float64 { + if v == nil { + return nil + } + return &v.NonCurrentDays + }).(pulumi.Float64PtrOutput) +} + +// Unreferenced data objects are marked for deletion after this many days. +// Must be at least `1`. +func (o TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettingsPtrOutput) UnreferencedDays() pulumi.Float64PtrOutput { + return o.ApplyT(func(v *TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettings) *float64 { + if v == nil { + return nil + } + return &v.UnreferencedDays + }).(pulumi.Float64PtrOutput) +} + +type TableMaintenanceConfiguration struct { + // A single Iceberg compaction settings block. + // See `icebergCompaction` below + IcebergCompaction TableMaintenanceConfigurationIcebergCompaction `pulumi:"icebergCompaction"` + // A single Iceberg snapshot management settings block. + // See `icebergSnapshotManagement` below + IcebergSnapshotManagement TableMaintenanceConfigurationIcebergSnapshotManagement `pulumi:"icebergSnapshotManagement"` +} + +// TableMaintenanceConfigurationInput is an input type that accepts TableMaintenanceConfigurationArgs and TableMaintenanceConfigurationOutput values. +// You can construct a concrete instance of `TableMaintenanceConfigurationInput` via: +// +// TableMaintenanceConfigurationArgs{...} +type TableMaintenanceConfigurationInput interface { + pulumi.Input + + ToTableMaintenanceConfigurationOutput() TableMaintenanceConfigurationOutput + ToTableMaintenanceConfigurationOutputWithContext(context.Context) TableMaintenanceConfigurationOutput +} + +type TableMaintenanceConfigurationArgs struct { + // A single Iceberg compaction settings block. + // See `icebergCompaction` below + IcebergCompaction TableMaintenanceConfigurationIcebergCompactionInput `pulumi:"icebergCompaction"` + // A single Iceberg snapshot management settings block. + // See `icebergSnapshotManagement` below + IcebergSnapshotManagement TableMaintenanceConfigurationIcebergSnapshotManagementInput `pulumi:"icebergSnapshotManagement"` +} + +func (TableMaintenanceConfigurationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*TableMaintenanceConfiguration)(nil)).Elem() +} + +func (i TableMaintenanceConfigurationArgs) ToTableMaintenanceConfigurationOutput() TableMaintenanceConfigurationOutput { + return i.ToTableMaintenanceConfigurationOutputWithContext(context.Background()) +} + +func (i TableMaintenanceConfigurationArgs) ToTableMaintenanceConfigurationOutputWithContext(ctx context.Context) TableMaintenanceConfigurationOutput { + return pulumi.ToOutputWithContext(ctx, i).(TableMaintenanceConfigurationOutput) +} + +func (i TableMaintenanceConfigurationArgs) ToTableMaintenanceConfigurationPtrOutput() TableMaintenanceConfigurationPtrOutput { + return i.ToTableMaintenanceConfigurationPtrOutputWithContext(context.Background()) +} + +func (i TableMaintenanceConfigurationArgs) ToTableMaintenanceConfigurationPtrOutputWithContext(ctx context.Context) TableMaintenanceConfigurationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(TableMaintenanceConfigurationOutput).ToTableMaintenanceConfigurationPtrOutputWithContext(ctx) +} + +// TableMaintenanceConfigurationPtrInput is an input type that accepts TableMaintenanceConfigurationArgs, TableMaintenanceConfigurationPtr and TableMaintenanceConfigurationPtrOutput values. +// You can construct a concrete instance of `TableMaintenanceConfigurationPtrInput` via: +// +// TableMaintenanceConfigurationArgs{...} +// +// or: +// +// nil +type TableMaintenanceConfigurationPtrInput interface { + pulumi.Input + + ToTableMaintenanceConfigurationPtrOutput() TableMaintenanceConfigurationPtrOutput + ToTableMaintenanceConfigurationPtrOutputWithContext(context.Context) TableMaintenanceConfigurationPtrOutput +} + +type tableMaintenanceConfigurationPtrType TableMaintenanceConfigurationArgs + +func TableMaintenanceConfigurationPtr(v *TableMaintenanceConfigurationArgs) TableMaintenanceConfigurationPtrInput { + return (*tableMaintenanceConfigurationPtrType)(v) +} + +func (*tableMaintenanceConfigurationPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**TableMaintenanceConfiguration)(nil)).Elem() +} + +func (i *tableMaintenanceConfigurationPtrType) ToTableMaintenanceConfigurationPtrOutput() TableMaintenanceConfigurationPtrOutput { + return i.ToTableMaintenanceConfigurationPtrOutputWithContext(context.Background()) +} + +func (i *tableMaintenanceConfigurationPtrType) ToTableMaintenanceConfigurationPtrOutputWithContext(ctx context.Context) TableMaintenanceConfigurationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(TableMaintenanceConfigurationPtrOutput) +} + +type TableMaintenanceConfigurationOutput struct{ *pulumi.OutputState } + +func (TableMaintenanceConfigurationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*TableMaintenanceConfiguration)(nil)).Elem() +} + +func (o TableMaintenanceConfigurationOutput) ToTableMaintenanceConfigurationOutput() TableMaintenanceConfigurationOutput { + return o +} + +func (o TableMaintenanceConfigurationOutput) ToTableMaintenanceConfigurationOutputWithContext(ctx context.Context) TableMaintenanceConfigurationOutput { + return o +} + +func (o TableMaintenanceConfigurationOutput) ToTableMaintenanceConfigurationPtrOutput() TableMaintenanceConfigurationPtrOutput { + return o.ToTableMaintenanceConfigurationPtrOutputWithContext(context.Background()) +} + +func (o TableMaintenanceConfigurationOutput) ToTableMaintenanceConfigurationPtrOutputWithContext(ctx context.Context) TableMaintenanceConfigurationPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v TableMaintenanceConfiguration) *TableMaintenanceConfiguration { + return &v + }).(TableMaintenanceConfigurationPtrOutput) +} + +// A single Iceberg compaction settings block. +// See `icebergCompaction` below +func (o TableMaintenanceConfigurationOutput) IcebergCompaction() TableMaintenanceConfigurationIcebergCompactionOutput { + return o.ApplyT(func(v TableMaintenanceConfiguration) TableMaintenanceConfigurationIcebergCompaction { + return v.IcebergCompaction + }).(TableMaintenanceConfigurationIcebergCompactionOutput) +} + +// A single Iceberg snapshot management settings block. +// See `icebergSnapshotManagement` below +func (o TableMaintenanceConfigurationOutput) IcebergSnapshotManagement() TableMaintenanceConfigurationIcebergSnapshotManagementOutput { + return o.ApplyT(func(v TableMaintenanceConfiguration) TableMaintenanceConfigurationIcebergSnapshotManagement { + return v.IcebergSnapshotManagement + }).(TableMaintenanceConfigurationIcebergSnapshotManagementOutput) +} + +type TableMaintenanceConfigurationPtrOutput struct{ *pulumi.OutputState } + +func (TableMaintenanceConfigurationPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**TableMaintenanceConfiguration)(nil)).Elem() +} + +func (o TableMaintenanceConfigurationPtrOutput) ToTableMaintenanceConfigurationPtrOutput() TableMaintenanceConfigurationPtrOutput { + return o +} + +func (o TableMaintenanceConfigurationPtrOutput) ToTableMaintenanceConfigurationPtrOutputWithContext(ctx context.Context) TableMaintenanceConfigurationPtrOutput { + return o +} + +func (o TableMaintenanceConfigurationPtrOutput) Elem() TableMaintenanceConfigurationOutput { + return o.ApplyT(func(v *TableMaintenanceConfiguration) TableMaintenanceConfiguration { + if v != nil { + return *v + } + var ret TableMaintenanceConfiguration + return ret + }).(TableMaintenanceConfigurationOutput) +} + +// A single Iceberg compaction settings block. +// See `icebergCompaction` below +func (o TableMaintenanceConfigurationPtrOutput) IcebergCompaction() TableMaintenanceConfigurationIcebergCompactionPtrOutput { + return o.ApplyT(func(v *TableMaintenanceConfiguration) *TableMaintenanceConfigurationIcebergCompaction { + if v == nil { + return nil + } + return &v.IcebergCompaction + }).(TableMaintenanceConfigurationIcebergCompactionPtrOutput) +} + +// A single Iceberg snapshot management settings block. +// See `icebergSnapshotManagement` below +func (o TableMaintenanceConfigurationPtrOutput) IcebergSnapshotManagement() TableMaintenanceConfigurationIcebergSnapshotManagementPtrOutput { + return o.ApplyT(func(v *TableMaintenanceConfiguration) *TableMaintenanceConfigurationIcebergSnapshotManagement { + if v == nil { + return nil + } + return &v.IcebergSnapshotManagement + }).(TableMaintenanceConfigurationIcebergSnapshotManagementPtrOutput) +} + +type TableMaintenanceConfigurationIcebergCompaction struct { + // Settings for compaction. + // See `iceberg_compaction.settings` below + Settings TableMaintenanceConfigurationIcebergCompactionSettings `pulumi:"settings"` + // Whether the configuration is enabled. + // Valid values are `enabled` and `disabled`. + Status string `pulumi:"status"` +} + +// TableMaintenanceConfigurationIcebergCompactionInput is an input type that accepts TableMaintenanceConfigurationIcebergCompactionArgs and TableMaintenanceConfigurationIcebergCompactionOutput values. +// You can construct a concrete instance of `TableMaintenanceConfigurationIcebergCompactionInput` via: +// +// TableMaintenanceConfigurationIcebergCompactionArgs{...} +type TableMaintenanceConfigurationIcebergCompactionInput interface { + pulumi.Input + + ToTableMaintenanceConfigurationIcebergCompactionOutput() TableMaintenanceConfigurationIcebergCompactionOutput + ToTableMaintenanceConfigurationIcebergCompactionOutputWithContext(context.Context) TableMaintenanceConfigurationIcebergCompactionOutput +} + +type TableMaintenanceConfigurationIcebergCompactionArgs struct { + // Settings for compaction. + // See `iceberg_compaction.settings` below + Settings TableMaintenanceConfigurationIcebergCompactionSettingsInput `pulumi:"settings"` + // Whether the configuration is enabled. + // Valid values are `enabled` and `disabled`. + Status pulumi.StringInput `pulumi:"status"` +} + +func (TableMaintenanceConfigurationIcebergCompactionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*TableMaintenanceConfigurationIcebergCompaction)(nil)).Elem() +} + +func (i TableMaintenanceConfigurationIcebergCompactionArgs) ToTableMaintenanceConfigurationIcebergCompactionOutput() TableMaintenanceConfigurationIcebergCompactionOutput { + return i.ToTableMaintenanceConfigurationIcebergCompactionOutputWithContext(context.Background()) +} + +func (i TableMaintenanceConfigurationIcebergCompactionArgs) ToTableMaintenanceConfigurationIcebergCompactionOutputWithContext(ctx context.Context) TableMaintenanceConfigurationIcebergCompactionOutput { + return pulumi.ToOutputWithContext(ctx, i).(TableMaintenanceConfigurationIcebergCompactionOutput) +} + +func (i TableMaintenanceConfigurationIcebergCompactionArgs) ToTableMaintenanceConfigurationIcebergCompactionPtrOutput() TableMaintenanceConfigurationIcebergCompactionPtrOutput { + return i.ToTableMaintenanceConfigurationIcebergCompactionPtrOutputWithContext(context.Background()) +} + +func (i TableMaintenanceConfigurationIcebergCompactionArgs) ToTableMaintenanceConfigurationIcebergCompactionPtrOutputWithContext(ctx context.Context) TableMaintenanceConfigurationIcebergCompactionPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(TableMaintenanceConfigurationIcebergCompactionOutput).ToTableMaintenanceConfigurationIcebergCompactionPtrOutputWithContext(ctx) +} + +// TableMaintenanceConfigurationIcebergCompactionPtrInput is an input type that accepts TableMaintenanceConfigurationIcebergCompactionArgs, TableMaintenanceConfigurationIcebergCompactionPtr and TableMaintenanceConfigurationIcebergCompactionPtrOutput values. +// You can construct a concrete instance of `TableMaintenanceConfigurationIcebergCompactionPtrInput` via: +// +// TableMaintenanceConfigurationIcebergCompactionArgs{...} +// +// or: +// +// nil +type TableMaintenanceConfigurationIcebergCompactionPtrInput interface { + pulumi.Input + + ToTableMaintenanceConfigurationIcebergCompactionPtrOutput() TableMaintenanceConfigurationIcebergCompactionPtrOutput + ToTableMaintenanceConfigurationIcebergCompactionPtrOutputWithContext(context.Context) TableMaintenanceConfigurationIcebergCompactionPtrOutput +} + +type tableMaintenanceConfigurationIcebergCompactionPtrType TableMaintenanceConfigurationIcebergCompactionArgs + +func TableMaintenanceConfigurationIcebergCompactionPtr(v *TableMaintenanceConfigurationIcebergCompactionArgs) TableMaintenanceConfigurationIcebergCompactionPtrInput { + return (*tableMaintenanceConfigurationIcebergCompactionPtrType)(v) +} + +func (*tableMaintenanceConfigurationIcebergCompactionPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**TableMaintenanceConfigurationIcebergCompaction)(nil)).Elem() +} + +func (i *tableMaintenanceConfigurationIcebergCompactionPtrType) ToTableMaintenanceConfigurationIcebergCompactionPtrOutput() TableMaintenanceConfigurationIcebergCompactionPtrOutput { + return i.ToTableMaintenanceConfigurationIcebergCompactionPtrOutputWithContext(context.Background()) +} + +func (i *tableMaintenanceConfigurationIcebergCompactionPtrType) ToTableMaintenanceConfigurationIcebergCompactionPtrOutputWithContext(ctx context.Context) TableMaintenanceConfigurationIcebergCompactionPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(TableMaintenanceConfigurationIcebergCompactionPtrOutput) +} + +type TableMaintenanceConfigurationIcebergCompactionOutput struct{ *pulumi.OutputState } + +func (TableMaintenanceConfigurationIcebergCompactionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*TableMaintenanceConfigurationIcebergCompaction)(nil)).Elem() +} + +func (o TableMaintenanceConfigurationIcebergCompactionOutput) ToTableMaintenanceConfigurationIcebergCompactionOutput() TableMaintenanceConfigurationIcebergCompactionOutput { + return o +} + +func (o TableMaintenanceConfigurationIcebergCompactionOutput) ToTableMaintenanceConfigurationIcebergCompactionOutputWithContext(ctx context.Context) TableMaintenanceConfigurationIcebergCompactionOutput { + return o +} + +func (o TableMaintenanceConfigurationIcebergCompactionOutput) ToTableMaintenanceConfigurationIcebergCompactionPtrOutput() TableMaintenanceConfigurationIcebergCompactionPtrOutput { + return o.ToTableMaintenanceConfigurationIcebergCompactionPtrOutputWithContext(context.Background()) +} + +func (o TableMaintenanceConfigurationIcebergCompactionOutput) ToTableMaintenanceConfigurationIcebergCompactionPtrOutputWithContext(ctx context.Context) TableMaintenanceConfigurationIcebergCompactionPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v TableMaintenanceConfigurationIcebergCompaction) *TableMaintenanceConfigurationIcebergCompaction { + return &v + }).(TableMaintenanceConfigurationIcebergCompactionPtrOutput) +} + +// Settings for compaction. +// See `iceberg_compaction.settings` below +func (o TableMaintenanceConfigurationIcebergCompactionOutput) Settings() TableMaintenanceConfigurationIcebergCompactionSettingsOutput { + return o.ApplyT(func(v TableMaintenanceConfigurationIcebergCompaction) TableMaintenanceConfigurationIcebergCompactionSettings { + return v.Settings + }).(TableMaintenanceConfigurationIcebergCompactionSettingsOutput) +} + +// Whether the configuration is enabled. +// Valid values are `enabled` and `disabled`. +func (o TableMaintenanceConfigurationIcebergCompactionOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v TableMaintenanceConfigurationIcebergCompaction) string { return v.Status }).(pulumi.StringOutput) +} + +type TableMaintenanceConfigurationIcebergCompactionPtrOutput struct{ *pulumi.OutputState } + +func (TableMaintenanceConfigurationIcebergCompactionPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**TableMaintenanceConfigurationIcebergCompaction)(nil)).Elem() +} + +func (o TableMaintenanceConfigurationIcebergCompactionPtrOutput) ToTableMaintenanceConfigurationIcebergCompactionPtrOutput() TableMaintenanceConfigurationIcebergCompactionPtrOutput { + return o +} + +func (o TableMaintenanceConfigurationIcebergCompactionPtrOutput) ToTableMaintenanceConfigurationIcebergCompactionPtrOutputWithContext(ctx context.Context) TableMaintenanceConfigurationIcebergCompactionPtrOutput { + return o +} + +func (o TableMaintenanceConfigurationIcebergCompactionPtrOutput) Elem() TableMaintenanceConfigurationIcebergCompactionOutput { + return o.ApplyT(func(v *TableMaintenanceConfigurationIcebergCompaction) TableMaintenanceConfigurationIcebergCompaction { + if v != nil { + return *v + } + var ret TableMaintenanceConfigurationIcebergCompaction + return ret + }).(TableMaintenanceConfigurationIcebergCompactionOutput) +} + +// Settings for compaction. +// See `iceberg_compaction.settings` below +func (o TableMaintenanceConfigurationIcebergCompactionPtrOutput) Settings() TableMaintenanceConfigurationIcebergCompactionSettingsPtrOutput { + return o.ApplyT(func(v *TableMaintenanceConfigurationIcebergCompaction) *TableMaintenanceConfigurationIcebergCompactionSettings { + if v == nil { + return nil + } + return &v.Settings + }).(TableMaintenanceConfigurationIcebergCompactionSettingsPtrOutput) +} + +// Whether the configuration is enabled. +// Valid values are `enabled` and `disabled`. +func (o TableMaintenanceConfigurationIcebergCompactionPtrOutput) Status() pulumi.StringPtrOutput { + return o.ApplyT(func(v *TableMaintenanceConfigurationIcebergCompaction) *string { + if v == nil { + return nil + } + return &v.Status + }).(pulumi.StringPtrOutput) +} + +type TableMaintenanceConfigurationIcebergCompactionSettings struct { + // Data objects smaller than this size may be combined with others to improve query performance. + // Must be between `64` and `512`. + TargetFileSizeMb float64 `pulumi:"targetFileSizeMb"` +} + +// TableMaintenanceConfigurationIcebergCompactionSettingsInput is an input type that accepts TableMaintenanceConfigurationIcebergCompactionSettingsArgs and TableMaintenanceConfigurationIcebergCompactionSettingsOutput values. +// You can construct a concrete instance of `TableMaintenanceConfigurationIcebergCompactionSettingsInput` via: +// +// TableMaintenanceConfigurationIcebergCompactionSettingsArgs{...} +type TableMaintenanceConfigurationIcebergCompactionSettingsInput interface { + pulumi.Input + + ToTableMaintenanceConfigurationIcebergCompactionSettingsOutput() TableMaintenanceConfigurationIcebergCompactionSettingsOutput + ToTableMaintenanceConfigurationIcebergCompactionSettingsOutputWithContext(context.Context) TableMaintenanceConfigurationIcebergCompactionSettingsOutput +} + +type TableMaintenanceConfigurationIcebergCompactionSettingsArgs struct { + // Data objects smaller than this size may be combined with others to improve query performance. + // Must be between `64` and `512`. + TargetFileSizeMb pulumi.Float64Input `pulumi:"targetFileSizeMb"` +} + +func (TableMaintenanceConfigurationIcebergCompactionSettingsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*TableMaintenanceConfigurationIcebergCompactionSettings)(nil)).Elem() +} + +func (i TableMaintenanceConfigurationIcebergCompactionSettingsArgs) ToTableMaintenanceConfigurationIcebergCompactionSettingsOutput() TableMaintenanceConfigurationIcebergCompactionSettingsOutput { + return i.ToTableMaintenanceConfigurationIcebergCompactionSettingsOutputWithContext(context.Background()) +} + +func (i TableMaintenanceConfigurationIcebergCompactionSettingsArgs) ToTableMaintenanceConfigurationIcebergCompactionSettingsOutputWithContext(ctx context.Context) TableMaintenanceConfigurationIcebergCompactionSettingsOutput { + return pulumi.ToOutputWithContext(ctx, i).(TableMaintenanceConfigurationIcebergCompactionSettingsOutput) +} + +func (i TableMaintenanceConfigurationIcebergCompactionSettingsArgs) ToTableMaintenanceConfigurationIcebergCompactionSettingsPtrOutput() TableMaintenanceConfigurationIcebergCompactionSettingsPtrOutput { + return i.ToTableMaintenanceConfigurationIcebergCompactionSettingsPtrOutputWithContext(context.Background()) +} + +func (i TableMaintenanceConfigurationIcebergCompactionSettingsArgs) ToTableMaintenanceConfigurationIcebergCompactionSettingsPtrOutputWithContext(ctx context.Context) TableMaintenanceConfigurationIcebergCompactionSettingsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(TableMaintenanceConfigurationIcebergCompactionSettingsOutput).ToTableMaintenanceConfigurationIcebergCompactionSettingsPtrOutputWithContext(ctx) +} + +// TableMaintenanceConfigurationIcebergCompactionSettingsPtrInput is an input type that accepts TableMaintenanceConfigurationIcebergCompactionSettingsArgs, TableMaintenanceConfigurationIcebergCompactionSettingsPtr and TableMaintenanceConfigurationIcebergCompactionSettingsPtrOutput values. +// You can construct a concrete instance of `TableMaintenanceConfigurationIcebergCompactionSettingsPtrInput` via: +// +// TableMaintenanceConfigurationIcebergCompactionSettingsArgs{...} +// +// or: +// +// nil +type TableMaintenanceConfigurationIcebergCompactionSettingsPtrInput interface { + pulumi.Input + + ToTableMaintenanceConfigurationIcebergCompactionSettingsPtrOutput() TableMaintenanceConfigurationIcebergCompactionSettingsPtrOutput + ToTableMaintenanceConfigurationIcebergCompactionSettingsPtrOutputWithContext(context.Context) TableMaintenanceConfigurationIcebergCompactionSettingsPtrOutput +} + +type tableMaintenanceConfigurationIcebergCompactionSettingsPtrType TableMaintenanceConfigurationIcebergCompactionSettingsArgs + +func TableMaintenanceConfigurationIcebergCompactionSettingsPtr(v *TableMaintenanceConfigurationIcebergCompactionSettingsArgs) TableMaintenanceConfigurationIcebergCompactionSettingsPtrInput { + return (*tableMaintenanceConfigurationIcebergCompactionSettingsPtrType)(v) +} + +func (*tableMaintenanceConfigurationIcebergCompactionSettingsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**TableMaintenanceConfigurationIcebergCompactionSettings)(nil)).Elem() +} + +func (i *tableMaintenanceConfigurationIcebergCompactionSettingsPtrType) ToTableMaintenanceConfigurationIcebergCompactionSettingsPtrOutput() TableMaintenanceConfigurationIcebergCompactionSettingsPtrOutput { + return i.ToTableMaintenanceConfigurationIcebergCompactionSettingsPtrOutputWithContext(context.Background()) +} + +func (i *tableMaintenanceConfigurationIcebergCompactionSettingsPtrType) ToTableMaintenanceConfigurationIcebergCompactionSettingsPtrOutputWithContext(ctx context.Context) TableMaintenanceConfigurationIcebergCompactionSettingsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(TableMaintenanceConfigurationIcebergCompactionSettingsPtrOutput) +} + +type TableMaintenanceConfigurationIcebergCompactionSettingsOutput struct{ *pulumi.OutputState } + +func (TableMaintenanceConfigurationIcebergCompactionSettingsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*TableMaintenanceConfigurationIcebergCompactionSettings)(nil)).Elem() +} + +func (o TableMaintenanceConfigurationIcebergCompactionSettingsOutput) ToTableMaintenanceConfigurationIcebergCompactionSettingsOutput() TableMaintenanceConfigurationIcebergCompactionSettingsOutput { + return o +} + +func (o TableMaintenanceConfigurationIcebergCompactionSettingsOutput) ToTableMaintenanceConfigurationIcebergCompactionSettingsOutputWithContext(ctx context.Context) TableMaintenanceConfigurationIcebergCompactionSettingsOutput { + return o +} + +func (o TableMaintenanceConfigurationIcebergCompactionSettingsOutput) ToTableMaintenanceConfigurationIcebergCompactionSettingsPtrOutput() TableMaintenanceConfigurationIcebergCompactionSettingsPtrOutput { + return o.ToTableMaintenanceConfigurationIcebergCompactionSettingsPtrOutputWithContext(context.Background()) +} + +func (o TableMaintenanceConfigurationIcebergCompactionSettingsOutput) ToTableMaintenanceConfigurationIcebergCompactionSettingsPtrOutputWithContext(ctx context.Context) TableMaintenanceConfigurationIcebergCompactionSettingsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v TableMaintenanceConfigurationIcebergCompactionSettings) *TableMaintenanceConfigurationIcebergCompactionSettings { + return &v + }).(TableMaintenanceConfigurationIcebergCompactionSettingsPtrOutput) +} + +// Data objects smaller than this size may be combined with others to improve query performance. +// Must be between `64` and `512`. +func (o TableMaintenanceConfigurationIcebergCompactionSettingsOutput) TargetFileSizeMb() pulumi.Float64Output { + return o.ApplyT(func(v TableMaintenanceConfigurationIcebergCompactionSettings) float64 { return v.TargetFileSizeMb }).(pulumi.Float64Output) +} + +type TableMaintenanceConfigurationIcebergCompactionSettingsPtrOutput struct{ *pulumi.OutputState } + +func (TableMaintenanceConfigurationIcebergCompactionSettingsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**TableMaintenanceConfigurationIcebergCompactionSettings)(nil)).Elem() +} + +func (o TableMaintenanceConfigurationIcebergCompactionSettingsPtrOutput) ToTableMaintenanceConfigurationIcebergCompactionSettingsPtrOutput() TableMaintenanceConfigurationIcebergCompactionSettingsPtrOutput { + return o +} + +func (o TableMaintenanceConfigurationIcebergCompactionSettingsPtrOutput) ToTableMaintenanceConfigurationIcebergCompactionSettingsPtrOutputWithContext(ctx context.Context) TableMaintenanceConfigurationIcebergCompactionSettingsPtrOutput { + return o +} + +func (o TableMaintenanceConfigurationIcebergCompactionSettingsPtrOutput) Elem() TableMaintenanceConfigurationIcebergCompactionSettingsOutput { + return o.ApplyT(func(v *TableMaintenanceConfigurationIcebergCompactionSettings) TableMaintenanceConfigurationIcebergCompactionSettings { + if v != nil { + return *v + } + var ret TableMaintenanceConfigurationIcebergCompactionSettings + return ret + }).(TableMaintenanceConfigurationIcebergCompactionSettingsOutput) +} + +// Data objects smaller than this size may be combined with others to improve query performance. +// Must be between `64` and `512`. +func (o TableMaintenanceConfigurationIcebergCompactionSettingsPtrOutput) TargetFileSizeMb() pulumi.Float64PtrOutput { + return o.ApplyT(func(v *TableMaintenanceConfigurationIcebergCompactionSettings) *float64 { + if v == nil { + return nil + } + return &v.TargetFileSizeMb + }).(pulumi.Float64PtrOutput) +} + +type TableMaintenanceConfigurationIcebergSnapshotManagement struct { + // Settings for snapshot management. + // See `iceberg_snapshot_management.settings` below + Settings TableMaintenanceConfigurationIcebergSnapshotManagementSettings `pulumi:"settings"` + // Whether the configuration is enabled. + // Valid values are `enabled` and `disabled`. + Status string `pulumi:"status"` +} + +// TableMaintenanceConfigurationIcebergSnapshotManagementInput is an input type that accepts TableMaintenanceConfigurationIcebergSnapshotManagementArgs and TableMaintenanceConfigurationIcebergSnapshotManagementOutput values. +// You can construct a concrete instance of `TableMaintenanceConfigurationIcebergSnapshotManagementInput` via: +// +// TableMaintenanceConfigurationIcebergSnapshotManagementArgs{...} +type TableMaintenanceConfigurationIcebergSnapshotManagementInput interface { + pulumi.Input + + ToTableMaintenanceConfigurationIcebergSnapshotManagementOutput() TableMaintenanceConfigurationIcebergSnapshotManagementOutput + ToTableMaintenanceConfigurationIcebergSnapshotManagementOutputWithContext(context.Context) TableMaintenanceConfigurationIcebergSnapshotManagementOutput +} + +type TableMaintenanceConfigurationIcebergSnapshotManagementArgs struct { + // Settings for snapshot management. + // See `iceberg_snapshot_management.settings` below + Settings TableMaintenanceConfigurationIcebergSnapshotManagementSettingsInput `pulumi:"settings"` + // Whether the configuration is enabled. + // Valid values are `enabled` and `disabled`. + Status pulumi.StringInput `pulumi:"status"` +} + +func (TableMaintenanceConfigurationIcebergSnapshotManagementArgs) ElementType() reflect.Type { + return reflect.TypeOf((*TableMaintenanceConfigurationIcebergSnapshotManagement)(nil)).Elem() +} + +func (i TableMaintenanceConfigurationIcebergSnapshotManagementArgs) ToTableMaintenanceConfigurationIcebergSnapshotManagementOutput() TableMaintenanceConfigurationIcebergSnapshotManagementOutput { + return i.ToTableMaintenanceConfigurationIcebergSnapshotManagementOutputWithContext(context.Background()) +} + +func (i TableMaintenanceConfigurationIcebergSnapshotManagementArgs) ToTableMaintenanceConfigurationIcebergSnapshotManagementOutputWithContext(ctx context.Context) TableMaintenanceConfigurationIcebergSnapshotManagementOutput { + return pulumi.ToOutputWithContext(ctx, i).(TableMaintenanceConfigurationIcebergSnapshotManagementOutput) +} + +func (i TableMaintenanceConfigurationIcebergSnapshotManagementArgs) ToTableMaintenanceConfigurationIcebergSnapshotManagementPtrOutput() TableMaintenanceConfigurationIcebergSnapshotManagementPtrOutput { + return i.ToTableMaintenanceConfigurationIcebergSnapshotManagementPtrOutputWithContext(context.Background()) +} + +func (i TableMaintenanceConfigurationIcebergSnapshotManagementArgs) ToTableMaintenanceConfigurationIcebergSnapshotManagementPtrOutputWithContext(ctx context.Context) TableMaintenanceConfigurationIcebergSnapshotManagementPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(TableMaintenanceConfigurationIcebergSnapshotManagementOutput).ToTableMaintenanceConfigurationIcebergSnapshotManagementPtrOutputWithContext(ctx) +} + +// TableMaintenanceConfigurationIcebergSnapshotManagementPtrInput is an input type that accepts TableMaintenanceConfigurationIcebergSnapshotManagementArgs, TableMaintenanceConfigurationIcebergSnapshotManagementPtr and TableMaintenanceConfigurationIcebergSnapshotManagementPtrOutput values. +// You can construct a concrete instance of `TableMaintenanceConfigurationIcebergSnapshotManagementPtrInput` via: +// +// TableMaintenanceConfigurationIcebergSnapshotManagementArgs{...} +// +// or: +// +// nil +type TableMaintenanceConfigurationIcebergSnapshotManagementPtrInput interface { + pulumi.Input + + ToTableMaintenanceConfigurationIcebergSnapshotManagementPtrOutput() TableMaintenanceConfigurationIcebergSnapshotManagementPtrOutput + ToTableMaintenanceConfigurationIcebergSnapshotManagementPtrOutputWithContext(context.Context) TableMaintenanceConfigurationIcebergSnapshotManagementPtrOutput +} + +type tableMaintenanceConfigurationIcebergSnapshotManagementPtrType TableMaintenanceConfigurationIcebergSnapshotManagementArgs + +func TableMaintenanceConfigurationIcebergSnapshotManagementPtr(v *TableMaintenanceConfigurationIcebergSnapshotManagementArgs) TableMaintenanceConfigurationIcebergSnapshotManagementPtrInput { + return (*tableMaintenanceConfigurationIcebergSnapshotManagementPtrType)(v) +} + +func (*tableMaintenanceConfigurationIcebergSnapshotManagementPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**TableMaintenanceConfigurationIcebergSnapshotManagement)(nil)).Elem() +} + +func (i *tableMaintenanceConfigurationIcebergSnapshotManagementPtrType) ToTableMaintenanceConfigurationIcebergSnapshotManagementPtrOutput() TableMaintenanceConfigurationIcebergSnapshotManagementPtrOutput { + return i.ToTableMaintenanceConfigurationIcebergSnapshotManagementPtrOutputWithContext(context.Background()) +} + +func (i *tableMaintenanceConfigurationIcebergSnapshotManagementPtrType) ToTableMaintenanceConfigurationIcebergSnapshotManagementPtrOutputWithContext(ctx context.Context) TableMaintenanceConfigurationIcebergSnapshotManagementPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(TableMaintenanceConfigurationIcebergSnapshotManagementPtrOutput) +} + +type TableMaintenanceConfigurationIcebergSnapshotManagementOutput struct{ *pulumi.OutputState } + +func (TableMaintenanceConfigurationIcebergSnapshotManagementOutput) ElementType() reflect.Type { + return reflect.TypeOf((*TableMaintenanceConfigurationIcebergSnapshotManagement)(nil)).Elem() +} + +func (o TableMaintenanceConfigurationIcebergSnapshotManagementOutput) ToTableMaintenanceConfigurationIcebergSnapshotManagementOutput() TableMaintenanceConfigurationIcebergSnapshotManagementOutput { + return o +} + +func (o TableMaintenanceConfigurationIcebergSnapshotManagementOutput) ToTableMaintenanceConfigurationIcebergSnapshotManagementOutputWithContext(ctx context.Context) TableMaintenanceConfigurationIcebergSnapshotManagementOutput { + return o +} + +func (o TableMaintenanceConfigurationIcebergSnapshotManagementOutput) ToTableMaintenanceConfigurationIcebergSnapshotManagementPtrOutput() TableMaintenanceConfigurationIcebergSnapshotManagementPtrOutput { + return o.ToTableMaintenanceConfigurationIcebergSnapshotManagementPtrOutputWithContext(context.Background()) +} + +func (o TableMaintenanceConfigurationIcebergSnapshotManagementOutput) ToTableMaintenanceConfigurationIcebergSnapshotManagementPtrOutputWithContext(ctx context.Context) TableMaintenanceConfigurationIcebergSnapshotManagementPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v TableMaintenanceConfigurationIcebergSnapshotManagement) *TableMaintenanceConfigurationIcebergSnapshotManagement { + return &v + }).(TableMaintenanceConfigurationIcebergSnapshotManagementPtrOutput) +} + +// Settings for snapshot management. +// See `iceberg_snapshot_management.settings` below +func (o TableMaintenanceConfigurationIcebergSnapshotManagementOutput) Settings() TableMaintenanceConfigurationIcebergSnapshotManagementSettingsOutput { + return o.ApplyT(func(v TableMaintenanceConfigurationIcebergSnapshotManagement) TableMaintenanceConfigurationIcebergSnapshotManagementSettings { + return v.Settings + }).(TableMaintenanceConfigurationIcebergSnapshotManagementSettingsOutput) +} + +// Whether the configuration is enabled. +// Valid values are `enabled` and `disabled`. +func (o TableMaintenanceConfigurationIcebergSnapshotManagementOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v TableMaintenanceConfigurationIcebergSnapshotManagement) string { return v.Status }).(pulumi.StringOutput) +} + +type TableMaintenanceConfigurationIcebergSnapshotManagementPtrOutput struct{ *pulumi.OutputState } + +func (TableMaintenanceConfigurationIcebergSnapshotManagementPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**TableMaintenanceConfigurationIcebergSnapshotManagement)(nil)).Elem() +} + +func (o TableMaintenanceConfigurationIcebergSnapshotManagementPtrOutput) ToTableMaintenanceConfigurationIcebergSnapshotManagementPtrOutput() TableMaintenanceConfigurationIcebergSnapshotManagementPtrOutput { + return o +} + +func (o TableMaintenanceConfigurationIcebergSnapshotManagementPtrOutput) ToTableMaintenanceConfigurationIcebergSnapshotManagementPtrOutputWithContext(ctx context.Context) TableMaintenanceConfigurationIcebergSnapshotManagementPtrOutput { + return o +} + +func (o TableMaintenanceConfigurationIcebergSnapshotManagementPtrOutput) Elem() TableMaintenanceConfigurationIcebergSnapshotManagementOutput { + return o.ApplyT(func(v *TableMaintenanceConfigurationIcebergSnapshotManagement) TableMaintenanceConfigurationIcebergSnapshotManagement { + if v != nil { + return *v + } + var ret TableMaintenanceConfigurationIcebergSnapshotManagement + return ret + }).(TableMaintenanceConfigurationIcebergSnapshotManagementOutput) +} + +// Settings for snapshot management. +// See `iceberg_snapshot_management.settings` below +func (o TableMaintenanceConfigurationIcebergSnapshotManagementPtrOutput) Settings() TableMaintenanceConfigurationIcebergSnapshotManagementSettingsPtrOutput { + return o.ApplyT(func(v *TableMaintenanceConfigurationIcebergSnapshotManagement) *TableMaintenanceConfigurationIcebergSnapshotManagementSettings { + if v == nil { + return nil + } + return &v.Settings + }).(TableMaintenanceConfigurationIcebergSnapshotManagementSettingsPtrOutput) +} + +// Whether the configuration is enabled. +// Valid values are `enabled` and `disabled`. +func (o TableMaintenanceConfigurationIcebergSnapshotManagementPtrOutput) Status() pulumi.StringPtrOutput { + return o.ApplyT(func(v *TableMaintenanceConfigurationIcebergSnapshotManagement) *string { + if v == nil { + return nil + } + return &v.Status + }).(pulumi.StringPtrOutput) +} + +type TableMaintenanceConfigurationIcebergSnapshotManagementSettings struct { + // Snapshots older than this will be marked for deletiion. + // Must be at least `1`. + MaxSnapshotAgeHours float64 `pulumi:"maxSnapshotAgeHours"` + // Minimum number of snapshots to keep. + // Must be at least `1`. + MinSnapshotsToKeep float64 `pulumi:"minSnapshotsToKeep"` +} + +// TableMaintenanceConfigurationIcebergSnapshotManagementSettingsInput is an input type that accepts TableMaintenanceConfigurationIcebergSnapshotManagementSettingsArgs and TableMaintenanceConfigurationIcebergSnapshotManagementSettingsOutput values. +// You can construct a concrete instance of `TableMaintenanceConfigurationIcebergSnapshotManagementSettingsInput` via: +// +// TableMaintenanceConfigurationIcebergSnapshotManagementSettingsArgs{...} +type TableMaintenanceConfigurationIcebergSnapshotManagementSettingsInput interface { + pulumi.Input + + ToTableMaintenanceConfigurationIcebergSnapshotManagementSettingsOutput() TableMaintenanceConfigurationIcebergSnapshotManagementSettingsOutput + ToTableMaintenanceConfigurationIcebergSnapshotManagementSettingsOutputWithContext(context.Context) TableMaintenanceConfigurationIcebergSnapshotManagementSettingsOutput +} + +type TableMaintenanceConfigurationIcebergSnapshotManagementSettingsArgs struct { + // Snapshots older than this will be marked for deletiion. + // Must be at least `1`. + MaxSnapshotAgeHours pulumi.Float64Input `pulumi:"maxSnapshotAgeHours"` + // Minimum number of snapshots to keep. + // Must be at least `1`. + MinSnapshotsToKeep pulumi.Float64Input `pulumi:"minSnapshotsToKeep"` +} + +func (TableMaintenanceConfigurationIcebergSnapshotManagementSettingsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*TableMaintenanceConfigurationIcebergSnapshotManagementSettings)(nil)).Elem() +} + +func (i TableMaintenanceConfigurationIcebergSnapshotManagementSettingsArgs) ToTableMaintenanceConfigurationIcebergSnapshotManagementSettingsOutput() TableMaintenanceConfigurationIcebergSnapshotManagementSettingsOutput { + return i.ToTableMaintenanceConfigurationIcebergSnapshotManagementSettingsOutputWithContext(context.Background()) +} + +func (i TableMaintenanceConfigurationIcebergSnapshotManagementSettingsArgs) ToTableMaintenanceConfigurationIcebergSnapshotManagementSettingsOutputWithContext(ctx context.Context) TableMaintenanceConfigurationIcebergSnapshotManagementSettingsOutput { + return pulumi.ToOutputWithContext(ctx, i).(TableMaintenanceConfigurationIcebergSnapshotManagementSettingsOutput) +} + +func (i TableMaintenanceConfigurationIcebergSnapshotManagementSettingsArgs) ToTableMaintenanceConfigurationIcebergSnapshotManagementSettingsPtrOutput() TableMaintenanceConfigurationIcebergSnapshotManagementSettingsPtrOutput { + return i.ToTableMaintenanceConfigurationIcebergSnapshotManagementSettingsPtrOutputWithContext(context.Background()) +} + +func (i TableMaintenanceConfigurationIcebergSnapshotManagementSettingsArgs) ToTableMaintenanceConfigurationIcebergSnapshotManagementSettingsPtrOutputWithContext(ctx context.Context) TableMaintenanceConfigurationIcebergSnapshotManagementSettingsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(TableMaintenanceConfigurationIcebergSnapshotManagementSettingsOutput).ToTableMaintenanceConfigurationIcebergSnapshotManagementSettingsPtrOutputWithContext(ctx) +} + +// TableMaintenanceConfigurationIcebergSnapshotManagementSettingsPtrInput is an input type that accepts TableMaintenanceConfigurationIcebergSnapshotManagementSettingsArgs, TableMaintenanceConfigurationIcebergSnapshotManagementSettingsPtr and TableMaintenanceConfigurationIcebergSnapshotManagementSettingsPtrOutput values. +// You can construct a concrete instance of `TableMaintenanceConfigurationIcebergSnapshotManagementSettingsPtrInput` via: +// +// TableMaintenanceConfigurationIcebergSnapshotManagementSettingsArgs{...} +// +// or: +// +// nil +type TableMaintenanceConfigurationIcebergSnapshotManagementSettingsPtrInput interface { + pulumi.Input + + ToTableMaintenanceConfigurationIcebergSnapshotManagementSettingsPtrOutput() TableMaintenanceConfigurationIcebergSnapshotManagementSettingsPtrOutput + ToTableMaintenanceConfigurationIcebergSnapshotManagementSettingsPtrOutputWithContext(context.Context) TableMaintenanceConfigurationIcebergSnapshotManagementSettingsPtrOutput +} + +type tableMaintenanceConfigurationIcebergSnapshotManagementSettingsPtrType TableMaintenanceConfigurationIcebergSnapshotManagementSettingsArgs + +func TableMaintenanceConfigurationIcebergSnapshotManagementSettingsPtr(v *TableMaintenanceConfigurationIcebergSnapshotManagementSettingsArgs) TableMaintenanceConfigurationIcebergSnapshotManagementSettingsPtrInput { + return (*tableMaintenanceConfigurationIcebergSnapshotManagementSettingsPtrType)(v) +} + +func (*tableMaintenanceConfigurationIcebergSnapshotManagementSettingsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**TableMaintenanceConfigurationIcebergSnapshotManagementSettings)(nil)).Elem() +} + +func (i *tableMaintenanceConfigurationIcebergSnapshotManagementSettingsPtrType) ToTableMaintenanceConfigurationIcebergSnapshotManagementSettingsPtrOutput() TableMaintenanceConfigurationIcebergSnapshotManagementSettingsPtrOutput { + return i.ToTableMaintenanceConfigurationIcebergSnapshotManagementSettingsPtrOutputWithContext(context.Background()) +} + +func (i *tableMaintenanceConfigurationIcebergSnapshotManagementSettingsPtrType) ToTableMaintenanceConfigurationIcebergSnapshotManagementSettingsPtrOutputWithContext(ctx context.Context) TableMaintenanceConfigurationIcebergSnapshotManagementSettingsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(TableMaintenanceConfigurationIcebergSnapshotManagementSettingsPtrOutput) +} + +type TableMaintenanceConfigurationIcebergSnapshotManagementSettingsOutput struct{ *pulumi.OutputState } + +func (TableMaintenanceConfigurationIcebergSnapshotManagementSettingsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*TableMaintenanceConfigurationIcebergSnapshotManagementSettings)(nil)).Elem() +} + +func (o TableMaintenanceConfigurationIcebergSnapshotManagementSettingsOutput) ToTableMaintenanceConfigurationIcebergSnapshotManagementSettingsOutput() TableMaintenanceConfigurationIcebergSnapshotManagementSettingsOutput { + return o +} + +func (o TableMaintenanceConfigurationIcebergSnapshotManagementSettingsOutput) ToTableMaintenanceConfigurationIcebergSnapshotManagementSettingsOutputWithContext(ctx context.Context) TableMaintenanceConfigurationIcebergSnapshotManagementSettingsOutput { + return o +} + +func (o TableMaintenanceConfigurationIcebergSnapshotManagementSettingsOutput) ToTableMaintenanceConfigurationIcebergSnapshotManagementSettingsPtrOutput() TableMaintenanceConfigurationIcebergSnapshotManagementSettingsPtrOutput { + return o.ToTableMaintenanceConfigurationIcebergSnapshotManagementSettingsPtrOutputWithContext(context.Background()) +} + +func (o TableMaintenanceConfigurationIcebergSnapshotManagementSettingsOutput) ToTableMaintenanceConfigurationIcebergSnapshotManagementSettingsPtrOutputWithContext(ctx context.Context) TableMaintenanceConfigurationIcebergSnapshotManagementSettingsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v TableMaintenanceConfigurationIcebergSnapshotManagementSettings) *TableMaintenanceConfigurationIcebergSnapshotManagementSettings { + return &v + }).(TableMaintenanceConfigurationIcebergSnapshotManagementSettingsPtrOutput) +} + +// Snapshots older than this will be marked for deletiion. +// Must be at least `1`. +func (o TableMaintenanceConfigurationIcebergSnapshotManagementSettingsOutput) MaxSnapshotAgeHours() pulumi.Float64Output { + return o.ApplyT(func(v TableMaintenanceConfigurationIcebergSnapshotManagementSettings) float64 { + return v.MaxSnapshotAgeHours + }).(pulumi.Float64Output) +} + +// Minimum number of snapshots to keep. +// Must be at least `1`. +func (o TableMaintenanceConfigurationIcebergSnapshotManagementSettingsOutput) MinSnapshotsToKeep() pulumi.Float64Output { + return o.ApplyT(func(v TableMaintenanceConfigurationIcebergSnapshotManagementSettings) float64 { + return v.MinSnapshotsToKeep + }).(pulumi.Float64Output) +} + +type TableMaintenanceConfigurationIcebergSnapshotManagementSettingsPtrOutput struct{ *pulumi.OutputState } + +func (TableMaintenanceConfigurationIcebergSnapshotManagementSettingsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**TableMaintenanceConfigurationIcebergSnapshotManagementSettings)(nil)).Elem() +} + +func (o TableMaintenanceConfigurationIcebergSnapshotManagementSettingsPtrOutput) ToTableMaintenanceConfigurationIcebergSnapshotManagementSettingsPtrOutput() TableMaintenanceConfigurationIcebergSnapshotManagementSettingsPtrOutput { + return o +} + +func (o TableMaintenanceConfigurationIcebergSnapshotManagementSettingsPtrOutput) ToTableMaintenanceConfigurationIcebergSnapshotManagementSettingsPtrOutputWithContext(ctx context.Context) TableMaintenanceConfigurationIcebergSnapshotManagementSettingsPtrOutput { + return o +} + +func (o TableMaintenanceConfigurationIcebergSnapshotManagementSettingsPtrOutput) Elem() TableMaintenanceConfigurationIcebergSnapshotManagementSettingsOutput { + return o.ApplyT(func(v *TableMaintenanceConfigurationIcebergSnapshotManagementSettings) TableMaintenanceConfigurationIcebergSnapshotManagementSettings { + if v != nil { + return *v + } + var ret TableMaintenanceConfigurationIcebergSnapshotManagementSettings + return ret + }).(TableMaintenanceConfigurationIcebergSnapshotManagementSettingsOutput) +} + +// Snapshots older than this will be marked for deletiion. +// Must be at least `1`. +func (o TableMaintenanceConfigurationIcebergSnapshotManagementSettingsPtrOutput) MaxSnapshotAgeHours() pulumi.Float64PtrOutput { + return o.ApplyT(func(v *TableMaintenanceConfigurationIcebergSnapshotManagementSettings) *float64 { + if v == nil { + return nil + } + return &v.MaxSnapshotAgeHours + }).(pulumi.Float64PtrOutput) +} + +// Minimum number of snapshots to keep. +// Must be at least `1`. +func (o TableMaintenanceConfigurationIcebergSnapshotManagementSettingsPtrOutput) MinSnapshotsToKeep() pulumi.Float64PtrOutput { + return o.ApplyT(func(v *TableMaintenanceConfigurationIcebergSnapshotManagementSettings) *float64 { + if v == nil { + return nil + } + return &v.MinSnapshotsToKeep + }).(pulumi.Float64PtrOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*TableBucketMaintenanceConfigurationInput)(nil)).Elem(), TableBucketMaintenanceConfigurationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*TableBucketMaintenanceConfigurationPtrInput)(nil)).Elem(), TableBucketMaintenanceConfigurationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalInput)(nil)).Elem(), TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalPtrInput)(nil)).Elem(), TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettingsInput)(nil)).Elem(), TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettingsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettingsPtrInput)(nil)).Elem(), TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettingsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*TableMaintenanceConfigurationInput)(nil)).Elem(), TableMaintenanceConfigurationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*TableMaintenanceConfigurationPtrInput)(nil)).Elem(), TableMaintenanceConfigurationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*TableMaintenanceConfigurationIcebergCompactionInput)(nil)).Elem(), TableMaintenanceConfigurationIcebergCompactionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*TableMaintenanceConfigurationIcebergCompactionPtrInput)(nil)).Elem(), TableMaintenanceConfigurationIcebergCompactionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*TableMaintenanceConfigurationIcebergCompactionSettingsInput)(nil)).Elem(), TableMaintenanceConfigurationIcebergCompactionSettingsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*TableMaintenanceConfigurationIcebergCompactionSettingsPtrInput)(nil)).Elem(), TableMaintenanceConfigurationIcebergCompactionSettingsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*TableMaintenanceConfigurationIcebergSnapshotManagementInput)(nil)).Elem(), TableMaintenanceConfigurationIcebergSnapshotManagementArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*TableMaintenanceConfigurationIcebergSnapshotManagementPtrInput)(nil)).Elem(), TableMaintenanceConfigurationIcebergSnapshotManagementArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*TableMaintenanceConfigurationIcebergSnapshotManagementSettingsInput)(nil)).Elem(), TableMaintenanceConfigurationIcebergSnapshotManagementSettingsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*TableMaintenanceConfigurationIcebergSnapshotManagementSettingsPtrInput)(nil)).Elem(), TableMaintenanceConfigurationIcebergSnapshotManagementSettingsArgs{}) + pulumi.RegisterOutputType(TableBucketMaintenanceConfigurationOutput{}) + pulumi.RegisterOutputType(TableBucketMaintenanceConfigurationPtrOutput{}) + pulumi.RegisterOutputType(TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalOutput{}) + pulumi.RegisterOutputType(TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalPtrOutput{}) + pulumi.RegisterOutputType(TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettingsOutput{}) + pulumi.RegisterOutputType(TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettingsPtrOutput{}) + pulumi.RegisterOutputType(TableMaintenanceConfigurationOutput{}) + pulumi.RegisterOutputType(TableMaintenanceConfigurationPtrOutput{}) + pulumi.RegisterOutputType(TableMaintenanceConfigurationIcebergCompactionOutput{}) + pulumi.RegisterOutputType(TableMaintenanceConfigurationIcebergCompactionPtrOutput{}) + pulumi.RegisterOutputType(TableMaintenanceConfigurationIcebergCompactionSettingsOutput{}) + pulumi.RegisterOutputType(TableMaintenanceConfigurationIcebergCompactionSettingsPtrOutput{}) + pulumi.RegisterOutputType(TableMaintenanceConfigurationIcebergSnapshotManagementOutput{}) + pulumi.RegisterOutputType(TableMaintenanceConfigurationIcebergSnapshotManagementPtrOutput{}) + pulumi.RegisterOutputType(TableMaintenanceConfigurationIcebergSnapshotManagementSettingsOutput{}) + pulumi.RegisterOutputType(TableMaintenanceConfigurationIcebergSnapshotManagementSettingsPtrOutput{}) +} diff --git a/sdk/go/aws/s3tables/table.go b/sdk/go/aws/s3tables/table.go new file mode 100644 index 00000000000..764055aba4c --- /dev/null +++ b/sdk/go/aws/s3tables/table.go @@ -0,0 +1,499 @@ +// 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 s3tables + +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 Amazon S3 Tables Table. +// +// ## Example Usage +// +// ### Basic Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3tables" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// exampleTableBucket, err := s3tables.NewTableBucket(ctx, "example", &s3tables.TableBucketArgs{ +// Name: pulumi.String("example-bucket"), +// }) +// if err != nil { +// return err +// } +// exampleNamespace, err := s3tables.NewNamespace(ctx, "example", &s3tables.NamespaceArgs{ +// Namespace: pulumi.String("example-namespace"), +// TableBucketArn: exampleTableBucket.Arn, +// }) +// if err != nil { +// return err +// } +// _, err = s3tables.NewTable(ctx, "example", &s3tables.TableArgs{ +// Name: pulumi.String("example-table"), +// Namespace: exampleNamespace, +// TableBucketArn: exampleNamespace.TableBucketArn, +// Format: pulumi.String("ICEBERG"), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// ## Import +// +// Using `pulumi import`, import S3 Tables Table using the `table_bucket_arn`, the value of `namespace`, and the value of `name`, separated by a semicolon (`;`). For example: +// +// ```sh +// $ pulumi import aws:s3tables/table:Table example 'arn:aws:s3tables:us-west-2:123456789012:bucket/example-bucket;example-namespace;example-table' +// ``` +type Table struct { + pulumi.CustomResourceState + + // ARN of the table. + Arn pulumi.StringOutput `pulumi:"arn"` + // Date and time when the namespace was created. + CreatedAt pulumi.StringOutput `pulumi:"createdAt"` + // Account ID of the account that created the namespace. + CreatedBy pulumi.StringOutput `pulumi:"createdBy"` + // Format of the table. + // Must be `ICEBERG`. + Format pulumi.StringOutput `pulumi:"format"` + // A single table bucket maintenance configuration block. + // See `maintenanceConfiguration` below + MaintenanceConfiguration TableMaintenanceConfigurationOutput `pulumi:"maintenanceConfiguration"` + // Location of table metadata. + MetadataLocation pulumi.StringOutput `pulumi:"metadataLocation"` + // Date and time when the namespace was last modified. + ModifiedAt pulumi.StringOutput `pulumi:"modifiedAt"` + // Account ID of the account that last modified the namespace. + ModifiedBy pulumi.StringOutput `pulumi:"modifiedBy"` + // Name of the table. + // Must be between 1 and 255 characters in length. + // Can consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number. + Name pulumi.StringOutput `pulumi:"name"` + // Name of the namespace for this table. + // Must be between 1 and 255 characters in length. + // Can consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number. + Namespace pulumi.StringOutput `pulumi:"namespace"` + // Account ID of the account that owns the namespace. + OwnerAccountId pulumi.StringOutput `pulumi:"ownerAccountId"` + // ARN referencing the Table Bucket that contains this Namespace. + // + // The following argument is optional: + TableBucketArn pulumi.StringOutput `pulumi:"tableBucketArn"` + // Type of the table. + // One of `customer` or `aws`. + Type pulumi.StringOutput `pulumi:"type"` + // Identifier for the current version of table data. + VersionToken pulumi.StringOutput `pulumi:"versionToken"` + // S3 URI pointing to the S3 Bucket that contains the table data. + WarehouseLocation pulumi.StringOutput `pulumi:"warehouseLocation"` +} + +// NewTable registers a new resource with the given unique name, arguments, and options. +func NewTable(ctx *pulumi.Context, + name string, args *TableArgs, opts ...pulumi.ResourceOption) (*Table, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Format == nil { + return nil, errors.New("invalid value for required argument 'Format'") + } + if args.Namespace == nil { + return nil, errors.New("invalid value for required argument 'Namespace'") + } + if args.TableBucketArn == nil { + return nil, errors.New("invalid value for required argument 'TableBucketArn'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource Table + err := ctx.RegisterResource("aws:s3tables/table:Table", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetTable gets an existing Table 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 GetTable(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *TableState, opts ...pulumi.ResourceOption) (*Table, error) { + var resource Table + err := ctx.ReadResource("aws:s3tables/table:Table", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering Table resources. +type tableState struct { + // ARN of the table. + Arn *string `pulumi:"arn"` + // Date and time when the namespace was created. + CreatedAt *string `pulumi:"createdAt"` + // Account ID of the account that created the namespace. + CreatedBy *string `pulumi:"createdBy"` + // Format of the table. + // Must be `ICEBERG`. + Format *string `pulumi:"format"` + // A single table bucket maintenance configuration block. + // See `maintenanceConfiguration` below + MaintenanceConfiguration *TableMaintenanceConfiguration `pulumi:"maintenanceConfiguration"` + // Location of table metadata. + MetadataLocation *string `pulumi:"metadataLocation"` + // Date and time when the namespace was last modified. + ModifiedAt *string `pulumi:"modifiedAt"` + // Account ID of the account that last modified the namespace. + ModifiedBy *string `pulumi:"modifiedBy"` + // Name of the table. + // Must be between 1 and 255 characters in length. + // Can consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number. + Name *string `pulumi:"name"` + // Name of the namespace for this table. + // Must be between 1 and 255 characters in length. + // Can consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number. + Namespace *string `pulumi:"namespace"` + // Account ID of the account that owns the namespace. + OwnerAccountId *string `pulumi:"ownerAccountId"` + // ARN referencing the Table Bucket that contains this Namespace. + // + // The following argument is optional: + TableBucketArn *string `pulumi:"tableBucketArn"` + // Type of the table. + // One of `customer` or `aws`. + Type *string `pulumi:"type"` + // Identifier for the current version of table data. + VersionToken *string `pulumi:"versionToken"` + // S3 URI pointing to the S3 Bucket that contains the table data. + WarehouseLocation *string `pulumi:"warehouseLocation"` +} + +type TableState struct { + // ARN of the table. + Arn pulumi.StringPtrInput + // Date and time when the namespace was created. + CreatedAt pulumi.StringPtrInput + // Account ID of the account that created the namespace. + CreatedBy pulumi.StringPtrInput + // Format of the table. + // Must be `ICEBERG`. + Format pulumi.StringPtrInput + // A single table bucket maintenance configuration block. + // See `maintenanceConfiguration` below + MaintenanceConfiguration TableMaintenanceConfigurationPtrInput + // Location of table metadata. + MetadataLocation pulumi.StringPtrInput + // Date and time when the namespace was last modified. + ModifiedAt pulumi.StringPtrInput + // Account ID of the account that last modified the namespace. + ModifiedBy pulumi.StringPtrInput + // Name of the table. + // Must be between 1 and 255 characters in length. + // Can consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number. + Name pulumi.StringPtrInput + // Name of the namespace for this table. + // Must be between 1 and 255 characters in length. + // Can consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number. + Namespace pulumi.StringPtrInput + // Account ID of the account that owns the namespace. + OwnerAccountId pulumi.StringPtrInput + // ARN referencing the Table Bucket that contains this Namespace. + // + // The following argument is optional: + TableBucketArn pulumi.StringPtrInput + // Type of the table. + // One of `customer` or `aws`. + Type pulumi.StringPtrInput + // Identifier for the current version of table data. + VersionToken pulumi.StringPtrInput + // S3 URI pointing to the S3 Bucket that contains the table data. + WarehouseLocation pulumi.StringPtrInput +} + +func (TableState) ElementType() reflect.Type { + return reflect.TypeOf((*tableState)(nil)).Elem() +} + +type tableArgs struct { + // Format of the table. + // Must be `ICEBERG`. + Format string `pulumi:"format"` + // A single table bucket maintenance configuration block. + // See `maintenanceConfiguration` below + MaintenanceConfiguration *TableMaintenanceConfiguration `pulumi:"maintenanceConfiguration"` + // Name of the table. + // Must be between 1 and 255 characters in length. + // Can consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number. + Name *string `pulumi:"name"` + // Name of the namespace for this table. + // Must be between 1 and 255 characters in length. + // Can consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number. + Namespace string `pulumi:"namespace"` + // ARN referencing the Table Bucket that contains this Namespace. + // + // The following argument is optional: + TableBucketArn string `pulumi:"tableBucketArn"` +} + +// The set of arguments for constructing a Table resource. +type TableArgs struct { + // Format of the table. + // Must be `ICEBERG`. + Format pulumi.StringInput + // A single table bucket maintenance configuration block. + // See `maintenanceConfiguration` below + MaintenanceConfiguration TableMaintenanceConfigurationPtrInput + // Name of the table. + // Must be between 1 and 255 characters in length. + // Can consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number. + Name pulumi.StringPtrInput + // Name of the namespace for this table. + // Must be between 1 and 255 characters in length. + // Can consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number. + Namespace pulumi.StringInput + // ARN referencing the Table Bucket that contains this Namespace. + // + // The following argument is optional: + TableBucketArn pulumi.StringInput +} + +func (TableArgs) ElementType() reflect.Type { + return reflect.TypeOf((*tableArgs)(nil)).Elem() +} + +type TableInput interface { + pulumi.Input + + ToTableOutput() TableOutput + ToTableOutputWithContext(ctx context.Context) TableOutput +} + +func (*Table) ElementType() reflect.Type { + return reflect.TypeOf((**Table)(nil)).Elem() +} + +func (i *Table) ToTableOutput() TableOutput { + return i.ToTableOutputWithContext(context.Background()) +} + +func (i *Table) ToTableOutputWithContext(ctx context.Context) TableOutput { + return pulumi.ToOutputWithContext(ctx, i).(TableOutput) +} + +// TableArrayInput is an input type that accepts TableArray and TableArrayOutput values. +// You can construct a concrete instance of `TableArrayInput` via: +// +// TableArray{ TableArgs{...} } +type TableArrayInput interface { + pulumi.Input + + ToTableArrayOutput() TableArrayOutput + ToTableArrayOutputWithContext(context.Context) TableArrayOutput +} + +type TableArray []TableInput + +func (TableArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*Table)(nil)).Elem() +} + +func (i TableArray) ToTableArrayOutput() TableArrayOutput { + return i.ToTableArrayOutputWithContext(context.Background()) +} + +func (i TableArray) ToTableArrayOutputWithContext(ctx context.Context) TableArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(TableArrayOutput) +} + +// TableMapInput is an input type that accepts TableMap and TableMapOutput values. +// You can construct a concrete instance of `TableMapInput` via: +// +// TableMap{ "key": TableArgs{...} } +type TableMapInput interface { + pulumi.Input + + ToTableMapOutput() TableMapOutput + ToTableMapOutputWithContext(context.Context) TableMapOutput +} + +type TableMap map[string]TableInput + +func (TableMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*Table)(nil)).Elem() +} + +func (i TableMap) ToTableMapOutput() TableMapOutput { + return i.ToTableMapOutputWithContext(context.Background()) +} + +func (i TableMap) ToTableMapOutputWithContext(ctx context.Context) TableMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(TableMapOutput) +} + +type TableOutput struct{ *pulumi.OutputState } + +func (TableOutput) ElementType() reflect.Type { + return reflect.TypeOf((**Table)(nil)).Elem() +} + +func (o TableOutput) ToTableOutput() TableOutput { + return o +} + +func (o TableOutput) ToTableOutputWithContext(ctx context.Context) TableOutput { + return o +} + +// ARN of the table. +func (o TableOutput) Arn() pulumi.StringOutput { + return o.ApplyT(func(v *Table) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) +} + +// Date and time when the namespace was created. +func (o TableOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v *Table) pulumi.StringOutput { return v.CreatedAt }).(pulumi.StringOutput) +} + +// Account ID of the account that created the namespace. +func (o TableOutput) CreatedBy() pulumi.StringOutput { + return o.ApplyT(func(v *Table) pulumi.StringOutput { return v.CreatedBy }).(pulumi.StringOutput) +} + +// Format of the table. +// Must be `ICEBERG`. +func (o TableOutput) Format() pulumi.StringOutput { + return o.ApplyT(func(v *Table) pulumi.StringOutput { return v.Format }).(pulumi.StringOutput) +} + +// A single table bucket maintenance configuration block. +// See `maintenanceConfiguration` below +func (o TableOutput) MaintenanceConfiguration() TableMaintenanceConfigurationOutput { + return o.ApplyT(func(v *Table) TableMaintenanceConfigurationOutput { return v.MaintenanceConfiguration }).(TableMaintenanceConfigurationOutput) +} + +// Location of table metadata. +func (o TableOutput) MetadataLocation() pulumi.StringOutput { + return o.ApplyT(func(v *Table) pulumi.StringOutput { return v.MetadataLocation }).(pulumi.StringOutput) +} + +// Date and time when the namespace was last modified. +func (o TableOutput) ModifiedAt() pulumi.StringOutput { + return o.ApplyT(func(v *Table) pulumi.StringOutput { return v.ModifiedAt }).(pulumi.StringOutput) +} + +// Account ID of the account that last modified the namespace. +func (o TableOutput) ModifiedBy() pulumi.StringOutput { + return o.ApplyT(func(v *Table) pulumi.StringOutput { return v.ModifiedBy }).(pulumi.StringOutput) +} + +// Name of the table. +// Must be between 1 and 255 characters in length. +// Can consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number. +func (o TableOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *Table) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// Name of the namespace for this table. +// Must be between 1 and 255 characters in length. +// Can consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number. +func (o TableOutput) Namespace() pulumi.StringOutput { + return o.ApplyT(func(v *Table) pulumi.StringOutput { return v.Namespace }).(pulumi.StringOutput) +} + +// Account ID of the account that owns the namespace. +func (o TableOutput) OwnerAccountId() pulumi.StringOutput { + return o.ApplyT(func(v *Table) pulumi.StringOutput { return v.OwnerAccountId }).(pulumi.StringOutput) +} + +// ARN referencing the Table Bucket that contains this Namespace. +// +// The following argument is optional: +func (o TableOutput) TableBucketArn() pulumi.StringOutput { + return o.ApplyT(func(v *Table) pulumi.StringOutput { return v.TableBucketArn }).(pulumi.StringOutput) +} + +// Type of the table. +// One of `customer` or `aws`. +func (o TableOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v *Table) pulumi.StringOutput { return v.Type }).(pulumi.StringOutput) +} + +// Identifier for the current version of table data. +func (o TableOutput) VersionToken() pulumi.StringOutput { + return o.ApplyT(func(v *Table) pulumi.StringOutput { return v.VersionToken }).(pulumi.StringOutput) +} + +// S3 URI pointing to the S3 Bucket that contains the table data. +func (o TableOutput) WarehouseLocation() pulumi.StringOutput { + return o.ApplyT(func(v *Table) pulumi.StringOutput { return v.WarehouseLocation }).(pulumi.StringOutput) +} + +type TableArrayOutput struct{ *pulumi.OutputState } + +func (TableArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*Table)(nil)).Elem() +} + +func (o TableArrayOutput) ToTableArrayOutput() TableArrayOutput { + return o +} + +func (o TableArrayOutput) ToTableArrayOutputWithContext(ctx context.Context) TableArrayOutput { + return o +} + +func (o TableArrayOutput) Index(i pulumi.IntInput) TableOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *Table { + return vs[0].([]*Table)[vs[1].(int)] + }).(TableOutput) +} + +type TableMapOutput struct{ *pulumi.OutputState } + +func (TableMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*Table)(nil)).Elem() +} + +func (o TableMapOutput) ToTableMapOutput() TableMapOutput { + return o +} + +func (o TableMapOutput) ToTableMapOutputWithContext(ctx context.Context) TableMapOutput { + return o +} + +func (o TableMapOutput) MapIndex(k pulumi.StringInput) TableOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *Table { + return vs[0].(map[string]*Table)[vs[1].(string)] + }).(TableOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*TableInput)(nil)).Elem(), &Table{}) + pulumi.RegisterInputType(reflect.TypeOf((*TableArrayInput)(nil)).Elem(), TableArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*TableMapInput)(nil)).Elem(), TableMap{}) + pulumi.RegisterOutputType(TableOutput{}) + pulumi.RegisterOutputType(TableArrayOutput{}) + pulumi.RegisterOutputType(TableMapOutput{}) +} diff --git a/sdk/go/aws/s3tables/tableBucket.go b/sdk/go/aws/s3tables/tableBucket.go new file mode 100644 index 00000000000..d5d98fe7553 --- /dev/null +++ b/sdk/go/aws/s3tables/tableBucket.go @@ -0,0 +1,335 @@ +// 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 s3tables + +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 Amazon S3 Tables Table Bucket. +// +// ## Example Usage +// +// ### Basic Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3tables" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := s3tables.NewTableBucket(ctx, "example", &s3tables.TableBucketArgs{ +// Name: pulumi.String("example-bucket"), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// ## Import +// +// Using `pulumi import`, import S3 Tables Table Bucket using the `arn`. For example: +// +// ```sh +// $ pulumi import aws:s3tables/tableBucket:TableBucket example arn:aws:s3tables:us-west-2:123456789012:bucket/example-bucket +// ``` +type TableBucket struct { + pulumi.CustomResourceState + + // ARN of the table bucket. + Arn pulumi.StringOutput `pulumi:"arn"` + // Date and time when the bucket was created. + CreatedAt pulumi.StringOutput `pulumi:"createdAt"` + // A single table bucket maintenance configuration block. + // See `maintenanceConfiguration` below + MaintenanceConfiguration TableBucketMaintenanceConfigurationOutput `pulumi:"maintenanceConfiguration"` + // Name of the table bucket. + // Must be between 3 and 63 characters in length. + // Can consist of lowercase letters, numbers, and hyphens, and must begin and end with a lowercase letter or number. + // A full list of bucket naming rules may be found in S3 Tables documentation. + // + // The following argument is optional: + Name pulumi.StringOutput `pulumi:"name"` + // Account ID of the account that owns the table bucket. + OwnerAccountId pulumi.StringOutput `pulumi:"ownerAccountId"` +} + +// NewTableBucket registers a new resource with the given unique name, arguments, and options. +func NewTableBucket(ctx *pulumi.Context, + name string, args *TableBucketArgs, opts ...pulumi.ResourceOption) (*TableBucket, error) { + if args == nil { + args = &TableBucketArgs{} + } + + opts = internal.PkgResourceDefaultOpts(opts) + var resource TableBucket + err := ctx.RegisterResource("aws:s3tables/tableBucket:TableBucket", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetTableBucket gets an existing TableBucket 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 GetTableBucket(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *TableBucketState, opts ...pulumi.ResourceOption) (*TableBucket, error) { + var resource TableBucket + err := ctx.ReadResource("aws:s3tables/tableBucket:TableBucket", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering TableBucket resources. +type tableBucketState struct { + // ARN of the table bucket. + Arn *string `pulumi:"arn"` + // Date and time when the bucket was created. + CreatedAt *string `pulumi:"createdAt"` + // A single table bucket maintenance configuration block. + // See `maintenanceConfiguration` below + MaintenanceConfiguration *TableBucketMaintenanceConfiguration `pulumi:"maintenanceConfiguration"` + // Name of the table bucket. + // Must be between 3 and 63 characters in length. + // Can consist of lowercase letters, numbers, and hyphens, and must begin and end with a lowercase letter or number. + // A full list of bucket naming rules may be found in S3 Tables documentation. + // + // The following argument is optional: + Name *string `pulumi:"name"` + // Account ID of the account that owns the table bucket. + OwnerAccountId *string `pulumi:"ownerAccountId"` +} + +type TableBucketState struct { + // ARN of the table bucket. + Arn pulumi.StringPtrInput + // Date and time when the bucket was created. + CreatedAt pulumi.StringPtrInput + // A single table bucket maintenance configuration block. + // See `maintenanceConfiguration` below + MaintenanceConfiguration TableBucketMaintenanceConfigurationPtrInput + // Name of the table bucket. + // Must be between 3 and 63 characters in length. + // Can consist of lowercase letters, numbers, and hyphens, and must begin and end with a lowercase letter or number. + // A full list of bucket naming rules may be found in S3 Tables documentation. + // + // The following argument is optional: + Name pulumi.StringPtrInput + // Account ID of the account that owns the table bucket. + OwnerAccountId pulumi.StringPtrInput +} + +func (TableBucketState) ElementType() reflect.Type { + return reflect.TypeOf((*tableBucketState)(nil)).Elem() +} + +type tableBucketArgs struct { + // A single table bucket maintenance configuration block. + // See `maintenanceConfiguration` below + MaintenanceConfiguration *TableBucketMaintenanceConfiguration `pulumi:"maintenanceConfiguration"` + // Name of the table bucket. + // Must be between 3 and 63 characters in length. + // Can consist of lowercase letters, numbers, and hyphens, and must begin and end with a lowercase letter or number. + // A full list of bucket naming rules may be found in S3 Tables documentation. + // + // The following argument is optional: + Name *string `pulumi:"name"` +} + +// The set of arguments for constructing a TableBucket resource. +type TableBucketArgs struct { + // A single table bucket maintenance configuration block. + // See `maintenanceConfiguration` below + MaintenanceConfiguration TableBucketMaintenanceConfigurationPtrInput + // Name of the table bucket. + // Must be between 3 and 63 characters in length. + // Can consist of lowercase letters, numbers, and hyphens, and must begin and end with a lowercase letter or number. + // A full list of bucket naming rules may be found in S3 Tables documentation. + // + // The following argument is optional: + Name pulumi.StringPtrInput +} + +func (TableBucketArgs) ElementType() reflect.Type { + return reflect.TypeOf((*tableBucketArgs)(nil)).Elem() +} + +type TableBucketInput interface { + pulumi.Input + + ToTableBucketOutput() TableBucketOutput + ToTableBucketOutputWithContext(ctx context.Context) TableBucketOutput +} + +func (*TableBucket) ElementType() reflect.Type { + return reflect.TypeOf((**TableBucket)(nil)).Elem() +} + +func (i *TableBucket) ToTableBucketOutput() TableBucketOutput { + return i.ToTableBucketOutputWithContext(context.Background()) +} + +func (i *TableBucket) ToTableBucketOutputWithContext(ctx context.Context) TableBucketOutput { + return pulumi.ToOutputWithContext(ctx, i).(TableBucketOutput) +} + +// TableBucketArrayInput is an input type that accepts TableBucketArray and TableBucketArrayOutput values. +// You can construct a concrete instance of `TableBucketArrayInput` via: +// +// TableBucketArray{ TableBucketArgs{...} } +type TableBucketArrayInput interface { + pulumi.Input + + ToTableBucketArrayOutput() TableBucketArrayOutput + ToTableBucketArrayOutputWithContext(context.Context) TableBucketArrayOutput +} + +type TableBucketArray []TableBucketInput + +func (TableBucketArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*TableBucket)(nil)).Elem() +} + +func (i TableBucketArray) ToTableBucketArrayOutput() TableBucketArrayOutput { + return i.ToTableBucketArrayOutputWithContext(context.Background()) +} + +func (i TableBucketArray) ToTableBucketArrayOutputWithContext(ctx context.Context) TableBucketArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(TableBucketArrayOutput) +} + +// TableBucketMapInput is an input type that accepts TableBucketMap and TableBucketMapOutput values. +// You can construct a concrete instance of `TableBucketMapInput` via: +// +// TableBucketMap{ "key": TableBucketArgs{...} } +type TableBucketMapInput interface { + pulumi.Input + + ToTableBucketMapOutput() TableBucketMapOutput + ToTableBucketMapOutputWithContext(context.Context) TableBucketMapOutput +} + +type TableBucketMap map[string]TableBucketInput + +func (TableBucketMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*TableBucket)(nil)).Elem() +} + +func (i TableBucketMap) ToTableBucketMapOutput() TableBucketMapOutput { + return i.ToTableBucketMapOutputWithContext(context.Background()) +} + +func (i TableBucketMap) ToTableBucketMapOutputWithContext(ctx context.Context) TableBucketMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(TableBucketMapOutput) +} + +type TableBucketOutput struct{ *pulumi.OutputState } + +func (TableBucketOutput) ElementType() reflect.Type { + return reflect.TypeOf((**TableBucket)(nil)).Elem() +} + +func (o TableBucketOutput) ToTableBucketOutput() TableBucketOutput { + return o +} + +func (o TableBucketOutput) ToTableBucketOutputWithContext(ctx context.Context) TableBucketOutput { + return o +} + +// ARN of the table bucket. +func (o TableBucketOutput) Arn() pulumi.StringOutput { + return o.ApplyT(func(v *TableBucket) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) +} + +// Date and time when the bucket was created. +func (o TableBucketOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v *TableBucket) pulumi.StringOutput { return v.CreatedAt }).(pulumi.StringOutput) +} + +// A single table bucket maintenance configuration block. +// See `maintenanceConfiguration` below +func (o TableBucketOutput) MaintenanceConfiguration() TableBucketMaintenanceConfigurationOutput { + return o.ApplyT(func(v *TableBucket) TableBucketMaintenanceConfigurationOutput { return v.MaintenanceConfiguration }).(TableBucketMaintenanceConfigurationOutput) +} + +// Name of the table bucket. +// Must be between 3 and 63 characters in length. +// Can consist of lowercase letters, numbers, and hyphens, and must begin and end with a lowercase letter or number. +// A full list of bucket naming rules may be found in S3 Tables documentation. +// +// The following argument is optional: +func (o TableBucketOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *TableBucket) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// Account ID of the account that owns the table bucket. +func (o TableBucketOutput) OwnerAccountId() pulumi.StringOutput { + return o.ApplyT(func(v *TableBucket) pulumi.StringOutput { return v.OwnerAccountId }).(pulumi.StringOutput) +} + +type TableBucketArrayOutput struct{ *pulumi.OutputState } + +func (TableBucketArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*TableBucket)(nil)).Elem() +} + +func (o TableBucketArrayOutput) ToTableBucketArrayOutput() TableBucketArrayOutput { + return o +} + +func (o TableBucketArrayOutput) ToTableBucketArrayOutputWithContext(ctx context.Context) TableBucketArrayOutput { + return o +} + +func (o TableBucketArrayOutput) Index(i pulumi.IntInput) TableBucketOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *TableBucket { + return vs[0].([]*TableBucket)[vs[1].(int)] + }).(TableBucketOutput) +} + +type TableBucketMapOutput struct{ *pulumi.OutputState } + +func (TableBucketMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*TableBucket)(nil)).Elem() +} + +func (o TableBucketMapOutput) ToTableBucketMapOutput() TableBucketMapOutput { + return o +} + +func (o TableBucketMapOutput) ToTableBucketMapOutputWithContext(ctx context.Context) TableBucketMapOutput { + return o +} + +func (o TableBucketMapOutput) MapIndex(k pulumi.StringInput) TableBucketOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *TableBucket { + return vs[0].(map[string]*TableBucket)[vs[1].(string)] + }).(TableBucketOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*TableBucketInput)(nil)).Elem(), &TableBucket{}) + pulumi.RegisterInputType(reflect.TypeOf((*TableBucketArrayInput)(nil)).Elem(), TableBucketArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*TableBucketMapInput)(nil)).Elem(), TableBucketMap{}) + pulumi.RegisterOutputType(TableBucketOutput{}) + pulumi.RegisterOutputType(TableBucketArrayOutput{}) + pulumi.RegisterOutputType(TableBucketMapOutput{}) +} diff --git a/sdk/go/aws/s3tables/tableBucketPolicy.go b/sdk/go/aws/s3tables/tableBucketPolicy.go new file mode 100644 index 00000000000..d502510ec4c --- /dev/null +++ b/sdk/go/aws/s3tables/tableBucketPolicy.go @@ -0,0 +1,289 @@ +// 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 s3tables + +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 Amazon S3 Tables Table Bucket Policy. +// +// ## Example Usage +// +// ### Basic Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam" +// "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3tables" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// example, err := iam.GetPolicyDocument(ctx, &iam.GetPolicyDocumentArgs{ +// Statements: []iam.GetPolicyDocumentStatement{ +// {}, +// }, +// }, nil) +// if err != nil { +// return err +// } +// _, err = s3tables.NewTableBucketPolicy(ctx, "example", &s3tables.TableBucketPolicyArgs{ +// ResourcePolicy: pulumi.String(example.Json), +// TableBucketArn: pulumi.Any(exampleAwsS3tablesTableBucket.Arn), +// }) +// if err != nil { +// return err +// } +// _, err = s3tables.NewTableBucket(ctx, "test", &s3tables.TableBucketArgs{ +// Name: pulumi.String("example-bucket"), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// ## Import +// +// Using `pulumi import`, import S3 Tables Table Bucket Policy using the `table_bucket_arn`. For example: +// +// ```sh +// $ pulumi import aws:s3tables/tableBucketPolicy:TableBucketPolicy example 'arn:aws:s3tables:us-west-2:123456789012:bucket/example-bucket;example-namespace' +// ``` +type TableBucketPolicy struct { + pulumi.CustomResourceState + + // Amazon Web Services resource-based policy document in JSON format. + ResourcePolicy pulumi.StringOutput `pulumi:"resourcePolicy"` + // ARN referencing the Table Bucket that owns this policy. + TableBucketArn pulumi.StringOutput `pulumi:"tableBucketArn"` +} + +// NewTableBucketPolicy registers a new resource with the given unique name, arguments, and options. +func NewTableBucketPolicy(ctx *pulumi.Context, + name string, args *TableBucketPolicyArgs, opts ...pulumi.ResourceOption) (*TableBucketPolicy, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.ResourcePolicy == nil { + return nil, errors.New("invalid value for required argument 'ResourcePolicy'") + } + if args.TableBucketArn == nil { + return nil, errors.New("invalid value for required argument 'TableBucketArn'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource TableBucketPolicy + err := ctx.RegisterResource("aws:s3tables/tableBucketPolicy:TableBucketPolicy", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetTableBucketPolicy gets an existing TableBucketPolicy 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 GetTableBucketPolicy(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *TableBucketPolicyState, opts ...pulumi.ResourceOption) (*TableBucketPolicy, error) { + var resource TableBucketPolicy + err := ctx.ReadResource("aws:s3tables/tableBucketPolicy:TableBucketPolicy", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering TableBucketPolicy resources. +type tableBucketPolicyState struct { + // Amazon Web Services resource-based policy document in JSON format. + ResourcePolicy *string `pulumi:"resourcePolicy"` + // ARN referencing the Table Bucket that owns this policy. + TableBucketArn *string `pulumi:"tableBucketArn"` +} + +type TableBucketPolicyState struct { + // Amazon Web Services resource-based policy document in JSON format. + ResourcePolicy pulumi.StringPtrInput + // ARN referencing the Table Bucket that owns this policy. + TableBucketArn pulumi.StringPtrInput +} + +func (TableBucketPolicyState) ElementType() reflect.Type { + return reflect.TypeOf((*tableBucketPolicyState)(nil)).Elem() +} + +type tableBucketPolicyArgs struct { + // Amazon Web Services resource-based policy document in JSON format. + ResourcePolicy string `pulumi:"resourcePolicy"` + // ARN referencing the Table Bucket that owns this policy. + TableBucketArn string `pulumi:"tableBucketArn"` +} + +// The set of arguments for constructing a TableBucketPolicy resource. +type TableBucketPolicyArgs struct { + // Amazon Web Services resource-based policy document in JSON format. + ResourcePolicy pulumi.StringInput + // ARN referencing the Table Bucket that owns this policy. + TableBucketArn pulumi.StringInput +} + +func (TableBucketPolicyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*tableBucketPolicyArgs)(nil)).Elem() +} + +type TableBucketPolicyInput interface { + pulumi.Input + + ToTableBucketPolicyOutput() TableBucketPolicyOutput + ToTableBucketPolicyOutputWithContext(ctx context.Context) TableBucketPolicyOutput +} + +func (*TableBucketPolicy) ElementType() reflect.Type { + return reflect.TypeOf((**TableBucketPolicy)(nil)).Elem() +} + +func (i *TableBucketPolicy) ToTableBucketPolicyOutput() TableBucketPolicyOutput { + return i.ToTableBucketPolicyOutputWithContext(context.Background()) +} + +func (i *TableBucketPolicy) ToTableBucketPolicyOutputWithContext(ctx context.Context) TableBucketPolicyOutput { + return pulumi.ToOutputWithContext(ctx, i).(TableBucketPolicyOutput) +} + +// TableBucketPolicyArrayInput is an input type that accepts TableBucketPolicyArray and TableBucketPolicyArrayOutput values. +// You can construct a concrete instance of `TableBucketPolicyArrayInput` via: +// +// TableBucketPolicyArray{ TableBucketPolicyArgs{...} } +type TableBucketPolicyArrayInput interface { + pulumi.Input + + ToTableBucketPolicyArrayOutput() TableBucketPolicyArrayOutput + ToTableBucketPolicyArrayOutputWithContext(context.Context) TableBucketPolicyArrayOutput +} + +type TableBucketPolicyArray []TableBucketPolicyInput + +func (TableBucketPolicyArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*TableBucketPolicy)(nil)).Elem() +} + +func (i TableBucketPolicyArray) ToTableBucketPolicyArrayOutput() TableBucketPolicyArrayOutput { + return i.ToTableBucketPolicyArrayOutputWithContext(context.Background()) +} + +func (i TableBucketPolicyArray) ToTableBucketPolicyArrayOutputWithContext(ctx context.Context) TableBucketPolicyArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(TableBucketPolicyArrayOutput) +} + +// TableBucketPolicyMapInput is an input type that accepts TableBucketPolicyMap and TableBucketPolicyMapOutput values. +// You can construct a concrete instance of `TableBucketPolicyMapInput` via: +// +// TableBucketPolicyMap{ "key": TableBucketPolicyArgs{...} } +type TableBucketPolicyMapInput interface { + pulumi.Input + + ToTableBucketPolicyMapOutput() TableBucketPolicyMapOutput + ToTableBucketPolicyMapOutputWithContext(context.Context) TableBucketPolicyMapOutput +} + +type TableBucketPolicyMap map[string]TableBucketPolicyInput + +func (TableBucketPolicyMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*TableBucketPolicy)(nil)).Elem() +} + +func (i TableBucketPolicyMap) ToTableBucketPolicyMapOutput() TableBucketPolicyMapOutput { + return i.ToTableBucketPolicyMapOutputWithContext(context.Background()) +} + +func (i TableBucketPolicyMap) ToTableBucketPolicyMapOutputWithContext(ctx context.Context) TableBucketPolicyMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(TableBucketPolicyMapOutput) +} + +type TableBucketPolicyOutput struct{ *pulumi.OutputState } + +func (TableBucketPolicyOutput) ElementType() reflect.Type { + return reflect.TypeOf((**TableBucketPolicy)(nil)).Elem() +} + +func (o TableBucketPolicyOutput) ToTableBucketPolicyOutput() TableBucketPolicyOutput { + return o +} + +func (o TableBucketPolicyOutput) ToTableBucketPolicyOutputWithContext(ctx context.Context) TableBucketPolicyOutput { + return o +} + +// Amazon Web Services resource-based policy document in JSON format. +func (o TableBucketPolicyOutput) ResourcePolicy() pulumi.StringOutput { + return o.ApplyT(func(v *TableBucketPolicy) pulumi.StringOutput { return v.ResourcePolicy }).(pulumi.StringOutput) +} + +// ARN referencing the Table Bucket that owns this policy. +func (o TableBucketPolicyOutput) TableBucketArn() pulumi.StringOutput { + return o.ApplyT(func(v *TableBucketPolicy) pulumi.StringOutput { return v.TableBucketArn }).(pulumi.StringOutput) +} + +type TableBucketPolicyArrayOutput struct{ *pulumi.OutputState } + +func (TableBucketPolicyArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*TableBucketPolicy)(nil)).Elem() +} + +func (o TableBucketPolicyArrayOutput) ToTableBucketPolicyArrayOutput() TableBucketPolicyArrayOutput { + return o +} + +func (o TableBucketPolicyArrayOutput) ToTableBucketPolicyArrayOutputWithContext(ctx context.Context) TableBucketPolicyArrayOutput { + return o +} + +func (o TableBucketPolicyArrayOutput) Index(i pulumi.IntInput) TableBucketPolicyOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *TableBucketPolicy { + return vs[0].([]*TableBucketPolicy)[vs[1].(int)] + }).(TableBucketPolicyOutput) +} + +type TableBucketPolicyMapOutput struct{ *pulumi.OutputState } + +func (TableBucketPolicyMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*TableBucketPolicy)(nil)).Elem() +} + +func (o TableBucketPolicyMapOutput) ToTableBucketPolicyMapOutput() TableBucketPolicyMapOutput { + return o +} + +func (o TableBucketPolicyMapOutput) ToTableBucketPolicyMapOutputWithContext(ctx context.Context) TableBucketPolicyMapOutput { + return o +} + +func (o TableBucketPolicyMapOutput) MapIndex(k pulumi.StringInput) TableBucketPolicyOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *TableBucketPolicy { + return vs[0].(map[string]*TableBucketPolicy)[vs[1].(string)] + }).(TableBucketPolicyOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*TableBucketPolicyInput)(nil)).Elem(), &TableBucketPolicy{}) + pulumi.RegisterInputType(reflect.TypeOf((*TableBucketPolicyArrayInput)(nil)).Elem(), TableBucketPolicyArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*TableBucketPolicyMapInput)(nil)).Elem(), TableBucketPolicyMap{}) + pulumi.RegisterOutputType(TableBucketPolicyOutput{}) + pulumi.RegisterOutputType(TableBucketPolicyArrayOutput{}) + pulumi.RegisterOutputType(TableBucketPolicyMapOutput{}) +} diff --git a/sdk/go/aws/s3tables/tablePolicy.go b/sdk/go/aws/s3tables/tablePolicy.go new file mode 100644 index 00000000000..496651aff7f --- /dev/null +++ b/sdk/go/aws/s3tables/tablePolicy.go @@ -0,0 +1,304 @@ +// 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 s3tables + +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 Amazon S3 Tables Table Policy. +// +// ## Example Usage +// +// ## Import +// +// Using `pulumi import`, import S3 Tables Table Policy using the `table_bucket_arn`, the value of `namespace`, and the value of `name`, separated by a semicolon (`;`). For example: +// +// ```sh +// $ pulumi import aws:s3tables/tablePolicy:TablePolicy example 'arn:aws:s3tables:us-west-2:123456789012:bucket/example-bucket;example-namespace;example-table' +// ``` +type TablePolicy struct { + pulumi.CustomResourceState + + // Name of the table. + // Must be between 1 and 255 characters in length. + // Can consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number. + Name pulumi.StringOutput `pulumi:"name"` + // Name of the namespace for this table. + // Must be between 1 and 255 characters in length. + // Can consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number. + Namespace pulumi.StringOutput `pulumi:"namespace"` + // Amazon Web Services resource-based policy document in JSON format. + ResourcePolicy pulumi.StringOutput `pulumi:"resourcePolicy"` + // ARN referencing the Table Bucket that contains this Namespace. + TableBucketArn pulumi.StringOutput `pulumi:"tableBucketArn"` +} + +// NewTablePolicy registers a new resource with the given unique name, arguments, and options. +func NewTablePolicy(ctx *pulumi.Context, + name string, args *TablePolicyArgs, opts ...pulumi.ResourceOption) (*TablePolicy, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Namespace == nil { + return nil, errors.New("invalid value for required argument 'Namespace'") + } + if args.ResourcePolicy == nil { + return nil, errors.New("invalid value for required argument 'ResourcePolicy'") + } + if args.TableBucketArn == nil { + return nil, errors.New("invalid value for required argument 'TableBucketArn'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource TablePolicy + err := ctx.RegisterResource("aws:s3tables/tablePolicy:TablePolicy", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetTablePolicy gets an existing TablePolicy 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 GetTablePolicy(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *TablePolicyState, opts ...pulumi.ResourceOption) (*TablePolicy, error) { + var resource TablePolicy + err := ctx.ReadResource("aws:s3tables/tablePolicy:TablePolicy", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering TablePolicy resources. +type tablePolicyState struct { + // Name of the table. + // Must be between 1 and 255 characters in length. + // Can consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number. + Name *string `pulumi:"name"` + // Name of the namespace for this table. + // Must be between 1 and 255 characters in length. + // Can consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number. + Namespace *string `pulumi:"namespace"` + // Amazon Web Services resource-based policy document in JSON format. + ResourcePolicy *string `pulumi:"resourcePolicy"` + // ARN referencing the Table Bucket that contains this Namespace. + TableBucketArn *string `pulumi:"tableBucketArn"` +} + +type TablePolicyState struct { + // Name of the table. + // Must be between 1 and 255 characters in length. + // Can consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number. + Name pulumi.StringPtrInput + // Name of the namespace for this table. + // Must be between 1 and 255 characters in length. + // Can consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number. + Namespace pulumi.StringPtrInput + // Amazon Web Services resource-based policy document in JSON format. + ResourcePolicy pulumi.StringPtrInput + // ARN referencing the Table Bucket that contains this Namespace. + TableBucketArn pulumi.StringPtrInput +} + +func (TablePolicyState) ElementType() reflect.Type { + return reflect.TypeOf((*tablePolicyState)(nil)).Elem() +} + +type tablePolicyArgs struct { + // Name of the table. + // Must be between 1 and 255 characters in length. + // Can consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number. + Name *string `pulumi:"name"` + // Name of the namespace for this table. + // Must be between 1 and 255 characters in length. + // Can consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number. + Namespace string `pulumi:"namespace"` + // Amazon Web Services resource-based policy document in JSON format. + ResourcePolicy string `pulumi:"resourcePolicy"` + // ARN referencing the Table Bucket that contains this Namespace. + TableBucketArn string `pulumi:"tableBucketArn"` +} + +// The set of arguments for constructing a TablePolicy resource. +type TablePolicyArgs struct { + // Name of the table. + // Must be between 1 and 255 characters in length. + // Can consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number. + Name pulumi.StringPtrInput + // Name of the namespace for this table. + // Must be between 1 and 255 characters in length. + // Can consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number. + Namespace pulumi.StringInput + // Amazon Web Services resource-based policy document in JSON format. + ResourcePolicy pulumi.StringInput + // ARN referencing the Table Bucket that contains this Namespace. + TableBucketArn pulumi.StringInput +} + +func (TablePolicyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*tablePolicyArgs)(nil)).Elem() +} + +type TablePolicyInput interface { + pulumi.Input + + ToTablePolicyOutput() TablePolicyOutput + ToTablePolicyOutputWithContext(ctx context.Context) TablePolicyOutput +} + +func (*TablePolicy) ElementType() reflect.Type { + return reflect.TypeOf((**TablePolicy)(nil)).Elem() +} + +func (i *TablePolicy) ToTablePolicyOutput() TablePolicyOutput { + return i.ToTablePolicyOutputWithContext(context.Background()) +} + +func (i *TablePolicy) ToTablePolicyOutputWithContext(ctx context.Context) TablePolicyOutput { + return pulumi.ToOutputWithContext(ctx, i).(TablePolicyOutput) +} + +// TablePolicyArrayInput is an input type that accepts TablePolicyArray and TablePolicyArrayOutput values. +// You can construct a concrete instance of `TablePolicyArrayInput` via: +// +// TablePolicyArray{ TablePolicyArgs{...} } +type TablePolicyArrayInput interface { + pulumi.Input + + ToTablePolicyArrayOutput() TablePolicyArrayOutput + ToTablePolicyArrayOutputWithContext(context.Context) TablePolicyArrayOutput +} + +type TablePolicyArray []TablePolicyInput + +func (TablePolicyArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*TablePolicy)(nil)).Elem() +} + +func (i TablePolicyArray) ToTablePolicyArrayOutput() TablePolicyArrayOutput { + return i.ToTablePolicyArrayOutputWithContext(context.Background()) +} + +func (i TablePolicyArray) ToTablePolicyArrayOutputWithContext(ctx context.Context) TablePolicyArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(TablePolicyArrayOutput) +} + +// TablePolicyMapInput is an input type that accepts TablePolicyMap and TablePolicyMapOutput values. +// You can construct a concrete instance of `TablePolicyMapInput` via: +// +// TablePolicyMap{ "key": TablePolicyArgs{...} } +type TablePolicyMapInput interface { + pulumi.Input + + ToTablePolicyMapOutput() TablePolicyMapOutput + ToTablePolicyMapOutputWithContext(context.Context) TablePolicyMapOutput +} + +type TablePolicyMap map[string]TablePolicyInput + +func (TablePolicyMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*TablePolicy)(nil)).Elem() +} + +func (i TablePolicyMap) ToTablePolicyMapOutput() TablePolicyMapOutput { + return i.ToTablePolicyMapOutputWithContext(context.Background()) +} + +func (i TablePolicyMap) ToTablePolicyMapOutputWithContext(ctx context.Context) TablePolicyMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(TablePolicyMapOutput) +} + +type TablePolicyOutput struct{ *pulumi.OutputState } + +func (TablePolicyOutput) ElementType() reflect.Type { + return reflect.TypeOf((**TablePolicy)(nil)).Elem() +} + +func (o TablePolicyOutput) ToTablePolicyOutput() TablePolicyOutput { + return o +} + +func (o TablePolicyOutput) ToTablePolicyOutputWithContext(ctx context.Context) TablePolicyOutput { + return o +} + +// Name of the table. +// Must be between 1 and 255 characters in length. +// Can consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number. +func (o TablePolicyOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *TablePolicy) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// Name of the namespace for this table. +// Must be between 1 and 255 characters in length. +// Can consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number. +func (o TablePolicyOutput) Namespace() pulumi.StringOutput { + return o.ApplyT(func(v *TablePolicy) pulumi.StringOutput { return v.Namespace }).(pulumi.StringOutput) +} + +// Amazon Web Services resource-based policy document in JSON format. +func (o TablePolicyOutput) ResourcePolicy() pulumi.StringOutput { + return o.ApplyT(func(v *TablePolicy) pulumi.StringOutput { return v.ResourcePolicy }).(pulumi.StringOutput) +} + +// ARN referencing the Table Bucket that contains this Namespace. +func (o TablePolicyOutput) TableBucketArn() pulumi.StringOutput { + return o.ApplyT(func(v *TablePolicy) pulumi.StringOutput { return v.TableBucketArn }).(pulumi.StringOutput) +} + +type TablePolicyArrayOutput struct{ *pulumi.OutputState } + +func (TablePolicyArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*TablePolicy)(nil)).Elem() +} + +func (o TablePolicyArrayOutput) ToTablePolicyArrayOutput() TablePolicyArrayOutput { + return o +} + +func (o TablePolicyArrayOutput) ToTablePolicyArrayOutputWithContext(ctx context.Context) TablePolicyArrayOutput { + return o +} + +func (o TablePolicyArrayOutput) Index(i pulumi.IntInput) TablePolicyOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *TablePolicy { + return vs[0].([]*TablePolicy)[vs[1].(int)] + }).(TablePolicyOutput) +} + +type TablePolicyMapOutput struct{ *pulumi.OutputState } + +func (TablePolicyMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*TablePolicy)(nil)).Elem() +} + +func (o TablePolicyMapOutput) ToTablePolicyMapOutput() TablePolicyMapOutput { + return o +} + +func (o TablePolicyMapOutput) ToTablePolicyMapOutputWithContext(ctx context.Context) TablePolicyMapOutput { + return o +} + +func (o TablePolicyMapOutput) MapIndex(k pulumi.StringInput) TablePolicyOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *TablePolicy { + return vs[0].(map[string]*TablePolicy)[vs[1].(string)] + }).(TablePolicyOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*TablePolicyInput)(nil)).Elem(), &TablePolicy{}) + pulumi.RegisterInputType(reflect.TypeOf((*TablePolicyArrayInput)(nil)).Elem(), TablePolicyArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*TablePolicyMapInput)(nil)).Elem(), TablePolicyMap{}) + pulumi.RegisterOutputType(TablePolicyOutput{}) + pulumi.RegisterOutputType(TablePolicyArrayOutput{}) + pulumi.RegisterOutputType(TablePolicyMapOutput{}) +} diff --git a/sdk/go/aws/securityhub/standardsControlAssociation.go b/sdk/go/aws/securityhub/standardsControlAssociation.go index 1e8668fb8d8..5e3ce6d853f 100644 --- a/sdk/go/aws/securityhub/standardsControlAssociation.go +++ b/sdk/go/aws/securityhub/standardsControlAssociation.go @@ -21,7 +21,6 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-aws/sdk/v6/go/aws" // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/securityhub" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // @@ -41,11 +40,11 @@ import ( // if err != nil { // return err // } -// _, err = aws.NewStandardsControlAssociation(ctx, "cis_aws_foundations_benchmark_disable_iam_1", &aws.StandardsControlAssociationArgs{ +// _, err = securityhub.NewStandardsControlAssociation(ctx, "cis_aws_foundations_benchmark_disable_iam_1", &securityhub.StandardsControlAssociationArgs{ // StandardsArn: cisAwsFoundationsBenchmark.StandardsArn, -// SecurityControlId: "IAM.1", -// AssociationStatus: "DISABLED", -// UpdatedReason: "Not needed", +// SecurityControlId: pulumi.String("IAM.1"), +// AssociationStatus: pulumi.String("DISABLED"), +// UpdatedReason: pulumi.String("Not needed"), // }) // if err != nil { // return err diff --git a/sdk/java/src/main/java/com/pulumi/aws/bedrock/AgentAgent.java b/sdk/java/src/main/java/com/pulumi/aws/bedrock/AgentAgent.java index db19a112e3a..4b4c1d36c02 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/bedrock/AgentAgent.java +++ b/sdk/java/src/main/java/com/pulumi/aws/bedrock/AgentAgent.java @@ -245,9 +245,17 @@ public Output> description() { public Output foundationModel() { return this.foundationModel; } + /** + * Details about the guardrail associated with the agent. See `guardrail_configuration` Block for details. + * + */ @Export(name="guardrailConfigurations", refs={List.class,AgentAgentGuardrailConfiguration.class}, tree="[0,1]") private Output> guardrailConfigurations; + /** + * @return Details about the guardrail associated with the agent. See `guardrail_configuration` Block for details. + * + */ public Output>> guardrailConfigurations() { return Codegen.optional(this.guardrailConfigurations); } @@ -266,14 +274,14 @@ public Output idleSessionTtlInSeconds() { return this.idleSessionTtlInSeconds; } /** - * Instructions that tell the agent what it should do and how it should interact with users. + * Instructions that tell the agent what it should do and how it should interact with users. The valid range is 40 - 8000 characters. * */ @Export(name="instruction", refs={String.class}, tree="[0]") private Output instruction; /** - * @return Instructions that tell the agent what it should do and how it should interact with users. + * @return Instructions that tell the agent what it should do and how it should interact with users. The valid range is 40 - 8000 characters. * */ public Output instruction() { diff --git a/sdk/java/src/main/java/com/pulumi/aws/bedrock/AgentAgentArgs.java b/sdk/java/src/main/java/com/pulumi/aws/bedrock/AgentAgentArgs.java index 272c196e923..2333f7a6861 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/bedrock/AgentAgentArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/bedrock/AgentAgentArgs.java @@ -102,9 +102,17 @@ public Output foundationModel() { return this.foundationModel; } + /** + * Details about the guardrail associated with the agent. See `guardrail_configuration` Block for details. + * + */ @Import(name="guardrailConfigurations") private @Nullable Output> guardrailConfigurations; + /** + * @return Details about the guardrail associated with the agent. See `guardrail_configuration` Block for details. + * + */ public Optional>> guardrailConfigurations() { return Optional.ofNullable(this.guardrailConfigurations); } @@ -125,14 +133,14 @@ public Optional> idleSessionTtlInSeconds() { } /** - * Instructions that tell the agent what it should do and how it should interact with users. + * Instructions that tell the agent what it should do and how it should interact with users. The valid range is 40 - 8000 characters. * */ @Import(name="instruction") private @Nullable Output instruction; /** - * @return Instructions that tell the agent what it should do and how it should interact with users. + * @return Instructions that tell the agent what it should do and how it should interact with users. The valid range is 40 - 8000 characters. * */ public Optional> instruction() { @@ -351,15 +359,33 @@ public Builder foundationModel(String foundationModel) { return foundationModel(Output.of(foundationModel)); } + /** + * @param guardrailConfigurations Details about the guardrail associated with the agent. See `guardrail_configuration` Block for details. + * + * @return builder + * + */ public Builder guardrailConfigurations(@Nullable Output> guardrailConfigurations) { $.guardrailConfigurations = guardrailConfigurations; return this; } + /** + * @param guardrailConfigurations Details about the guardrail associated with the agent. See `guardrail_configuration` Block for details. + * + * @return builder + * + */ public Builder guardrailConfigurations(List guardrailConfigurations) { return guardrailConfigurations(Output.of(guardrailConfigurations)); } + /** + * @param guardrailConfigurations Details about the guardrail associated with the agent. See `guardrail_configuration` Block for details. + * + * @return builder + * + */ public Builder guardrailConfigurations(AgentAgentGuardrailConfigurationArgs... guardrailConfigurations) { return guardrailConfigurations(List.of(guardrailConfigurations)); } @@ -386,7 +412,7 @@ public Builder idleSessionTtlInSeconds(Integer idleSessionTtlInSeconds) { } /** - * @param instruction Instructions that tell the agent what it should do and how it should interact with users. + * @param instruction Instructions that tell the agent what it should do and how it should interact with users. The valid range is 40 - 8000 characters. * * @return builder * @@ -397,7 +423,7 @@ public Builder instruction(@Nullable Output instruction) { } /** - * @param instruction Instructions that tell the agent what it should do and how it should interact with users. + * @param instruction Instructions that tell the agent what it should do and how it should interact with users. The valid range is 40 - 8000 characters. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/bedrock/inputs/AgentAgentState.java b/sdk/java/src/main/java/com/pulumi/aws/bedrock/inputs/AgentAgentState.java index 2af0ed0cd4c..e61f587c3b9 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/bedrock/inputs/AgentAgentState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/bedrock/inputs/AgentAgentState.java @@ -146,9 +146,17 @@ public Optional> foundationModel() { return Optional.ofNullable(this.foundationModel); } + /** + * Details about the guardrail associated with the agent. See `guardrail_configuration` Block for details. + * + */ @Import(name="guardrailConfigurations") private @Nullable Output> guardrailConfigurations; + /** + * @return Details about the guardrail associated with the agent. See `guardrail_configuration` Block for details. + * + */ public Optional>> guardrailConfigurations() { return Optional.ofNullable(this.guardrailConfigurations); } @@ -169,14 +177,14 @@ public Optional> idleSessionTtlInSeconds() { } /** - * Instructions that tell the agent what it should do and how it should interact with users. + * Instructions that tell the agent what it should do and how it should interact with users. The valid range is 40 - 8000 characters. * */ @Import(name="instruction") private @Nullable Output instruction; /** - * @return Instructions that tell the agent what it should do and how it should interact with users. + * @return Instructions that tell the agent what it should do and how it should interact with users. The valid range is 40 - 8000 characters. * */ public Optional> instruction() { @@ -485,15 +493,33 @@ public Builder foundationModel(String foundationModel) { return foundationModel(Output.of(foundationModel)); } + /** + * @param guardrailConfigurations Details about the guardrail associated with the agent. See `guardrail_configuration` Block for details. + * + * @return builder + * + */ public Builder guardrailConfigurations(@Nullable Output> guardrailConfigurations) { $.guardrailConfigurations = guardrailConfigurations; return this; } + /** + * @param guardrailConfigurations Details about the guardrail associated with the agent. See `guardrail_configuration` Block for details. + * + * @return builder + * + */ public Builder guardrailConfigurations(List guardrailConfigurations) { return guardrailConfigurations(Output.of(guardrailConfigurations)); } + /** + * @param guardrailConfigurations Details about the guardrail associated with the agent. See `guardrail_configuration` Block for details. + * + * @return builder + * + */ public Builder guardrailConfigurations(AgentAgentGuardrailConfigurationArgs... guardrailConfigurations) { return guardrailConfigurations(List.of(guardrailConfigurations)); } @@ -520,7 +546,7 @@ public Builder idleSessionTtlInSeconds(Integer idleSessionTtlInSeconds) { } /** - * @param instruction Instructions that tell the agent what it should do and how it should interact with users. + * @param instruction Instructions that tell the agent what it should do and how it should interact with users. The valid range is 40 - 8000 characters. * * @return builder * @@ -531,7 +557,7 @@ public Builder instruction(@Nullable Output instruction) { } /** - * @param instruction Instructions that tell the agent what it should do and how it should interact with users. + * @param instruction Instructions that tell the agent what it should do and how it should interact with users. The valid range is 40 - 8000 characters. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/codeconnections/Connection.java b/sdk/java/src/main/java/com/pulumi/aws/codeconnections/Connection.java new file mode 100644 index 00000000000..69190363868 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/codeconnections/Connection.java @@ -0,0 +1,243 @@ +// *** 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.codeconnections; + +import com.pulumi.aws.Utilities; +import com.pulumi.aws.codeconnections.ConnectionArgs; +import com.pulumi.aws.codeconnections.inputs.ConnectionState; +import com.pulumi.aws.codeconnections.outputs.ConnectionTimeouts; +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 CodeConnections Connection. + * + * > **NOTE:** The `aws.codeconnections.Connection` resource is created in the state `PENDING`. Authentication with the connection provider must be completed in the AWS Console. See the [AWS documentation](https://docs.aws.amazon.com/dtconsole/latest/userguide/connections-update.html) for details. + * + * ## 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.codeconnections.Connection;
+ * import com.pulumi.aws.codeconnections.ConnectionArgs;
+ * import java.util.List;
+ * import java.util.ArrayList;
+ * import java.util.Map;
+ * import java.io.File;
+ * import java.nio.file.Files;
+ * 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 Connection("example", ConnectionArgs.builder()
+ *             .name("example-connection")
+ *             .providerType("Bitbucket")
+ *             .build());
+ * 
+ *     }
+ * }
+ * }
+ * 
+ * <!--End PulumiCodeChooser --> + * + * ## Import + * + * Using `pulumi import`, import CodeConnections connection using the ARN. For example: + * + * ```sh + * $ pulumi import aws:codeconnections/connection:Connection test-connection arn:aws:codeconnections:us-west-1:0123456789:connection/79d4d357-a2ee-41e4-b350-2fe39ae59448 + * ``` + * + */ +@ResourceType(type="aws:codeconnections/connection:Connection") +public class Connection extends com.pulumi.resources.CustomResource { + /** + * The codeconnections connection ARN. + * + */ + @Export(name="arn", refs={String.class}, tree="[0]") + private Output arn; + + /** + * @return The codeconnections connection ARN. + * + */ + public Output arn() { + return this.arn; + } + /** + * The codeconnections connection status. Possible values are `PENDING`, `AVAILABLE` and `ERROR`. + * + */ + @Export(name="connectionStatus", refs={String.class}, tree="[0]") + private Output connectionStatus; + + /** + * @return The codeconnections connection status. Possible values are `PENDING`, `AVAILABLE` and `ERROR`. + * + */ + public Output connectionStatus() { + return this.connectionStatus; + } + /** + * The Amazon Resource Name (ARN) of the host associated with the connection. Conflicts with `provider_type` + * + */ + @Export(name="hostArn", refs={String.class}, tree="[0]") + private Output hostArn; + + /** + * @return The Amazon Resource Name (ARN) of the host associated with the connection. Conflicts with `provider_type` + * + */ + public Output> hostArn() { + return Codegen.optional(this.hostArn); + } + /** + * The name of the connection to be created. The name must be unique in the calling AWS account. Changing `name` will create a new resource. + * + */ + @Export(name="name", refs={String.class}, tree="[0]") + private Output name; + + /** + * @return The name of the connection to be created. The name must be unique in the calling AWS account. Changing `name` will create a new resource. + * + */ + public Output name() { + return this.name; + } + @Export(name="ownerAccountId", refs={String.class}, tree="[0]") + private Output ownerAccountId; + + public Output ownerAccountId() { + return this.ownerAccountId; + } + /** + * The name of the external provider where your third-party code repository is configured. Changing `provider_type` will create a new resource. Conflicts with `host_arn`. + * + */ + @Export(name="providerType", refs={String.class}, tree="[0]") + private Output providerType; + + /** + * @return The name of the external provider where your third-party code repository is configured. Changing `provider_type` will create a new resource. Conflicts with `host_arn`. + * + */ + public Output providerType() { + return this.providerType; + } + /** + * Map of key-value resource tags to associate with 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 key-value resource tags to associate with the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + */ + public Output>> tags() { + return Codegen.optional(this.tags); + } + /** + * A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + * @deprecated + * Please use `tags` instead. + * + */ + @Deprecated /* Please use `tags` instead. */ + @Export(name="tagsAll", refs={Map.class,String.class}, tree="[0,1,1]") + private Output> tagsAll; + + /** + * @return A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + */ + public Output> tagsAll() { + return this.tagsAll; + } + @Export(name="timeouts", refs={ConnectionTimeouts.class}, tree="[0]") + private Output timeouts; + + public Output> timeouts() { + return Codegen.optional(this.timeouts); + } + + /** + * + * @param name The _unique_ name of the resulting resource. + */ + public Connection(java.lang.String name) { + this(name, ConnectionArgs.Empty); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + */ + public Connection(java.lang.String name, @Nullable ConnectionArgs 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 Connection(java.lang.String name, @Nullable ConnectionArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("aws:codeconnections/connection:Connection", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false); + } + + private Connection(java.lang.String name, Output id, @Nullable ConnectionState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("aws:codeconnections/connection:Connection", name, state, makeResourceOptions(options, id), false); + } + + private static ConnectionArgs makeArgs(@Nullable ConnectionArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + if (options != null && options.getUrn().isPresent()) { + return null; + } + return args == null ? ConnectionArgs.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 Connection get(java.lang.String name, Output id, @Nullable ConnectionState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + return new Connection(name, id, state, options); + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/codeconnections/ConnectionArgs.java b/sdk/java/src/main/java/com/pulumi/aws/codeconnections/ConnectionArgs.java new file mode 100644 index 00000000000..4943600f10b --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/codeconnections/ConnectionArgs.java @@ -0,0 +1,213 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.codeconnections; + +import com.pulumi.aws.codeconnections.inputs.ConnectionTimeoutsArgs; +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 ConnectionArgs extends com.pulumi.resources.ResourceArgs { + + public static final ConnectionArgs Empty = new ConnectionArgs(); + + /** + * The Amazon Resource Name (ARN) of the host associated with the connection. Conflicts with `provider_type` + * + */ + @Import(name="hostArn") + private @Nullable Output hostArn; + + /** + * @return The Amazon Resource Name (ARN) of the host associated with the connection. Conflicts with `provider_type` + * + */ + public Optional> hostArn() { + return Optional.ofNullable(this.hostArn); + } + + /** + * The name of the connection to be created. The name must be unique in the calling AWS account. Changing `name` will create a new resource. + * + */ + @Import(name="name") + private @Nullable Output name; + + /** + * @return The name of the connection to be created. The name must be unique in the calling AWS account. Changing `name` will create a new resource. + * + */ + public Optional> name() { + return Optional.ofNullable(this.name); + } + + /** + * The name of the external provider where your third-party code repository is configured. Changing `provider_type` will create a new resource. Conflicts with `host_arn`. + * + */ + @Import(name="providerType") + private @Nullable Output providerType; + + /** + * @return The name of the external provider where your third-party code repository is configured. Changing `provider_type` will create a new resource. Conflicts with `host_arn`. + * + */ + public Optional> providerType() { + return Optional.ofNullable(this.providerType); + } + + /** + * Map of key-value resource tags to associate with 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 key-value resource tags to associate with the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + */ + public Optional>> tags() { + return Optional.ofNullable(this.tags); + } + + @Import(name="timeouts") + private @Nullable Output timeouts; + + public Optional> timeouts() { + return Optional.ofNullable(this.timeouts); + } + + private ConnectionArgs() {} + + private ConnectionArgs(ConnectionArgs $) { + this.hostArn = $.hostArn; + this.name = $.name; + this.providerType = $.providerType; + this.tags = $.tags; + this.timeouts = $.timeouts; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(ConnectionArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private ConnectionArgs $; + + public Builder() { + $ = new ConnectionArgs(); + } + + public Builder(ConnectionArgs defaults) { + $ = new ConnectionArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param hostArn The Amazon Resource Name (ARN) of the host associated with the connection. Conflicts with `provider_type` + * + * @return builder + * + */ + public Builder hostArn(@Nullable Output hostArn) { + $.hostArn = hostArn; + return this; + } + + /** + * @param hostArn The Amazon Resource Name (ARN) of the host associated with the connection. Conflicts with `provider_type` + * + * @return builder + * + */ + public Builder hostArn(String hostArn) { + return hostArn(Output.of(hostArn)); + } + + /** + * @param name The name of the connection to be created. The name must be unique in the calling AWS account. Changing `name` will create a new resource. + * + * @return builder + * + */ + public Builder name(@Nullable Output name) { + $.name = name; + return this; + } + + /** + * @param name The name of the connection to be created. The name must be unique in the calling AWS account. Changing `name` will create a new resource. + * + * @return builder + * + */ + public Builder name(String name) { + return name(Output.of(name)); + } + + /** + * @param providerType The name of the external provider where your third-party code repository is configured. Changing `provider_type` will create a new resource. Conflicts with `host_arn`. + * + * @return builder + * + */ + public Builder providerType(@Nullable Output providerType) { + $.providerType = providerType; + return this; + } + + /** + * @param providerType The name of the external provider where your third-party code repository is configured. Changing `provider_type` will create a new resource. Conflicts with `host_arn`. + * + * @return builder + * + */ + public Builder providerType(String providerType) { + return providerType(Output.of(providerType)); + } + + /** + * @param tags Map of key-value resource tags to associate with 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 key-value resource tags to associate with the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + * @return builder + * + */ + public Builder tags(Map tags) { + return tags(Output.of(tags)); + } + + public Builder timeouts(@Nullable Output timeouts) { + $.timeouts = timeouts; + return this; + } + + public Builder timeouts(ConnectionTimeoutsArgs timeouts) { + return timeouts(Output.of(timeouts)); + } + + public ConnectionArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/codeconnections/Host.java b/sdk/java/src/main/java/com/pulumi/aws/codeconnections/Host.java new file mode 100644 index 00000000000..4e5307aed02 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/codeconnections/Host.java @@ -0,0 +1,225 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.codeconnections; + +import com.pulumi.aws.Utilities; +import com.pulumi.aws.codeconnections.HostArgs; +import com.pulumi.aws.codeconnections.inputs.HostState; +import com.pulumi.aws.codeconnections.outputs.HostTimeouts; +import com.pulumi.aws.codeconnections.outputs.HostVpcConfiguration; +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 CodeConnections Host. + * + * > **NOTE:** The `aws.codeconnections.Host` resource is created in the state `PENDING`. Authentication with the host provider must be completed in the AWS Console. For more information visit [Set up a pending host](https://docs.aws.amazon.com/dtconsole/latest/userguide/connections-host-setup.html). + * + * ## 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.codeconnections.Host;
+ * import com.pulumi.aws.codeconnections.HostArgs;
+ * import java.util.List;
+ * import java.util.ArrayList;
+ * import java.util.Map;
+ * import java.io.File;
+ * import java.nio.file.Files;
+ * 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 Host("example", HostArgs.builder()
+ *             .name("example-host")
+ *             .providerEndpoint("https://example.com")
+ *             .providerType("GitHubEnterpriseServer")
+ *             .build());
+ * 
+ *     }
+ * }
+ * }
+ * 
+ * <!--End PulumiCodeChooser --> + * + * ## Import + * + * Using `pulumi import`, import CodeConnections Host using the ARN. For example: + * + * ```sh + * $ pulumi import aws:codeconnections/host:Host example-host arn:aws:codeconnections:us-west-1:0123456789:host/79d4d357-a2ee-41e4-b350-2fe39ae59448 + * ``` + * + */ +@ResourceType(type="aws:codeconnections/host:Host") +public class Host extends com.pulumi.resources.CustomResource { + /** + * The CodeConnections Host ARN. + * + */ + @Export(name="arn", refs={String.class}, tree="[0]") + private Output arn; + + /** + * @return The CodeConnections Host ARN. + * + */ + public Output arn() { + return this.arn; + } + /** + * The name of the host to be created. The name must be unique in the calling AWS account. + * + */ + @Export(name="name", refs={String.class}, tree="[0]") + private Output name; + + /** + * @return The name of the host to be created. The name must be unique in the calling AWS account. + * + */ + public Output name() { + return this.name; + } + /** + * The endpoint of the infrastructure to be represented by the host after it is created. + * + */ + @Export(name="providerEndpoint", refs={String.class}, tree="[0]") + private Output providerEndpoint; + + /** + * @return The endpoint of the infrastructure to be represented by the host after it is created. + * + */ + public Output providerEndpoint() { + return this.providerEndpoint; + } + /** + * The name of the external provider where your third-party code repository is configured. + * + */ + @Export(name="providerType", refs={String.class}, tree="[0]") + private Output providerType; + + /** + * @return The name of the external provider where your third-party code repository is configured. + * + */ + public Output providerType() { + return this.providerType; + } + @Export(name="tags", refs={Map.class,String.class}, tree="[0,1,1]") + private Output> tags; + + public Output>> tags() { + return Codegen.optional(this.tags); + } + /** + * @deprecated + * Please use `tags` instead. + * + */ + @Deprecated /* Please use `tags` instead. */ + @Export(name="tagsAll", refs={Map.class,String.class}, tree="[0,1,1]") + private Output> tagsAll; + + public Output> tagsAll() { + return this.tagsAll; + } + @Export(name="timeouts", refs={HostTimeouts.class}, tree="[0]") + private Output timeouts; + + public Output> timeouts() { + return Codegen.optional(this.timeouts); + } + /** + * The VPC configuration to be provisioned for the host. A VPC must be configured, and the infrastructure to be represented by the host must already be connected to the VPC. + * + */ + @Export(name="vpcConfiguration", refs={HostVpcConfiguration.class}, tree="[0]") + private Output vpcConfiguration; + + /** + * @return The VPC configuration to be provisioned for the host. A VPC must be configured, and the infrastructure to be represented by the host must already be connected to the VPC. + * + */ + public Output> vpcConfiguration() { + return Codegen.optional(this.vpcConfiguration); + } + + /** + * + * @param name The _unique_ name of the resulting resource. + */ + public Host(java.lang.String name) { + this(name, HostArgs.Empty); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + */ + public Host(java.lang.String name, HostArgs 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 Host(java.lang.String name, HostArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("aws:codeconnections/host:Host", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false); + } + + private Host(java.lang.String name, Output id, @Nullable HostState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("aws:codeconnections/host:Host", name, state, makeResourceOptions(options, id), false); + } + + private static HostArgs makeArgs(HostArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + if (options != null && options.getUrn().isPresent()) { + return null; + } + return args == null ? HostArgs.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 Host get(java.lang.String name, Output id, @Nullable HostState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + return new Host(name, id, state, options); + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/codeconnections/HostArgs.java b/sdk/java/src/main/java/com/pulumi/aws/codeconnections/HostArgs.java new file mode 100644 index 00000000000..08be6688c80 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/codeconnections/HostArgs.java @@ -0,0 +1,238 @@ +// *** 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.codeconnections; + +import com.pulumi.aws.codeconnections.inputs.HostTimeoutsArgs; +import com.pulumi.aws.codeconnections.inputs.HostVpcConfigurationArgs; +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 HostArgs extends com.pulumi.resources.ResourceArgs { + + public static final HostArgs Empty = new HostArgs(); + + /** + * The name of the host to be created. The name must be unique in the calling AWS account. + * + */ + @Import(name="name") + private @Nullable Output name; + + /** + * @return The name of the host to be created. The name must be unique in the calling AWS account. + * + */ + public Optional> name() { + return Optional.ofNullable(this.name); + } + + /** + * The endpoint of the infrastructure to be represented by the host after it is created. + * + */ + @Import(name="providerEndpoint", required=true) + private Output providerEndpoint; + + /** + * @return The endpoint of the infrastructure to be represented by the host after it is created. + * + */ + public Output providerEndpoint() { + return this.providerEndpoint; + } + + /** + * The name of the external provider where your third-party code repository is configured. + * + */ + @Import(name="providerType", required=true) + private Output providerType; + + /** + * @return The name of the external provider where your third-party code repository is configured. + * + */ + public Output providerType() { + return this.providerType; + } + + @Import(name="tags") + private @Nullable Output> tags; + + public Optional>> tags() { + return Optional.ofNullable(this.tags); + } + + @Import(name="timeouts") + private @Nullable Output timeouts; + + public Optional> timeouts() { + return Optional.ofNullable(this.timeouts); + } + + /** + * The VPC configuration to be provisioned for the host. A VPC must be configured, and the infrastructure to be represented by the host must already be connected to the VPC. + * + */ + @Import(name="vpcConfiguration") + private @Nullable Output vpcConfiguration; + + /** + * @return The VPC configuration to be provisioned for the host. A VPC must be configured, and the infrastructure to be represented by the host must already be connected to the VPC. + * + */ + public Optional> vpcConfiguration() { + return Optional.ofNullable(this.vpcConfiguration); + } + + private HostArgs() {} + + private HostArgs(HostArgs $) { + this.name = $.name; + this.providerEndpoint = $.providerEndpoint; + this.providerType = $.providerType; + this.tags = $.tags; + this.timeouts = $.timeouts; + this.vpcConfiguration = $.vpcConfiguration; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(HostArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private HostArgs $; + + public Builder() { + $ = new HostArgs(); + } + + public Builder(HostArgs defaults) { + $ = new HostArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param name The name of the host to be created. The name must be unique in the calling AWS account. + * + * @return builder + * + */ + public Builder name(@Nullable Output name) { + $.name = name; + return this; + } + + /** + * @param name The name of the host to be created. The name must be unique in the calling AWS account. + * + * @return builder + * + */ + public Builder name(String name) { + return name(Output.of(name)); + } + + /** + * @param providerEndpoint The endpoint of the infrastructure to be represented by the host after it is created. + * + * @return builder + * + */ + public Builder providerEndpoint(Output providerEndpoint) { + $.providerEndpoint = providerEndpoint; + return this; + } + + /** + * @param providerEndpoint The endpoint of the infrastructure to be represented by the host after it is created. + * + * @return builder + * + */ + public Builder providerEndpoint(String providerEndpoint) { + return providerEndpoint(Output.of(providerEndpoint)); + } + + /** + * @param providerType The name of the external provider where your third-party code repository is configured. + * + * @return builder + * + */ + public Builder providerType(Output providerType) { + $.providerType = providerType; + return this; + } + + /** + * @param providerType The name of the external provider where your third-party code repository is configured. + * + * @return builder + * + */ + public Builder providerType(String providerType) { + return providerType(Output.of(providerType)); + } + + public Builder tags(@Nullable Output> tags) { + $.tags = tags; + return this; + } + + public Builder tags(Map tags) { + return tags(Output.of(tags)); + } + + public Builder timeouts(@Nullable Output timeouts) { + $.timeouts = timeouts; + return this; + } + + public Builder timeouts(HostTimeoutsArgs timeouts) { + return timeouts(Output.of(timeouts)); + } + + /** + * @param vpcConfiguration The VPC configuration to be provisioned for the host. A VPC must be configured, and the infrastructure to be represented by the host must already be connected to the VPC. + * + * @return builder + * + */ + public Builder vpcConfiguration(@Nullable Output vpcConfiguration) { + $.vpcConfiguration = vpcConfiguration; + return this; + } + + /** + * @param vpcConfiguration The VPC configuration to be provisioned for the host. A VPC must be configured, and the infrastructure to be represented by the host must already be connected to the VPC. + * + * @return builder + * + */ + public Builder vpcConfiguration(HostVpcConfigurationArgs vpcConfiguration) { + return vpcConfiguration(Output.of(vpcConfiguration)); + } + + public HostArgs build() { + if ($.providerEndpoint == null) { + throw new MissingRequiredPropertyException("HostArgs", "providerEndpoint"); + } + if ($.providerType == null) { + throw new MissingRequiredPropertyException("HostArgs", "providerType"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/codeconnections/inputs/ConnectionState.java b/sdk/java/src/main/java/com/pulumi/aws/codeconnections/inputs/ConnectionState.java new file mode 100644 index 00000000000..995a717a6f4 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/codeconnections/inputs/ConnectionState.java @@ -0,0 +1,357 @@ +// *** 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.codeconnections.inputs; + +import com.pulumi.aws.codeconnections.inputs.ConnectionTimeoutsArgs; +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 ConnectionState extends com.pulumi.resources.ResourceArgs { + + public static final ConnectionState Empty = new ConnectionState(); + + /** + * The codeconnections connection ARN. + * + */ + @Import(name="arn") + private @Nullable Output arn; + + /** + * @return The codeconnections connection ARN. + * + */ + public Optional> arn() { + return Optional.ofNullable(this.arn); + } + + /** + * The codeconnections connection status. Possible values are `PENDING`, `AVAILABLE` and `ERROR`. + * + */ + @Import(name="connectionStatus") + private @Nullable Output connectionStatus; + + /** + * @return The codeconnections connection status. Possible values are `PENDING`, `AVAILABLE` and `ERROR`. + * + */ + public Optional> connectionStatus() { + return Optional.ofNullable(this.connectionStatus); + } + + /** + * The Amazon Resource Name (ARN) of the host associated with the connection. Conflicts with `provider_type` + * + */ + @Import(name="hostArn") + private @Nullable Output hostArn; + + /** + * @return The Amazon Resource Name (ARN) of the host associated with the connection. Conflicts with `provider_type` + * + */ + public Optional> hostArn() { + return Optional.ofNullable(this.hostArn); + } + + /** + * The name of the connection to be created. The name must be unique in the calling AWS account. Changing `name` will create a new resource. + * + */ + @Import(name="name") + private @Nullable Output name; + + /** + * @return The name of the connection to be created. The name must be unique in the calling AWS account. Changing `name` will create a new resource. + * + */ + public Optional> name() { + return Optional.ofNullable(this.name); + } + + @Import(name="ownerAccountId") + private @Nullable Output ownerAccountId; + + public Optional> ownerAccountId() { + return Optional.ofNullable(this.ownerAccountId); + } + + /** + * The name of the external provider where your third-party code repository is configured. Changing `provider_type` will create a new resource. Conflicts with `host_arn`. + * + */ + @Import(name="providerType") + private @Nullable Output providerType; + + /** + * @return The name of the external provider where your third-party code repository is configured. Changing `provider_type` will create a new resource. Conflicts with `host_arn`. + * + */ + public Optional> providerType() { + return Optional.ofNullable(this.providerType); + } + + /** + * Map of key-value resource tags to associate with 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 key-value resource tags to associate with the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + */ + public Optional>> tags() { + return Optional.ofNullable(this.tags); + } + + /** + * A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + * @deprecated + * Please use `tags` instead. + * + */ + @Deprecated /* Please use `tags` instead. */ + @Import(name="tagsAll") + private @Nullable Output> tagsAll; + + /** + * @return A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + * @deprecated + * Please use `tags` instead. + * + */ + @Deprecated /* Please use `tags` instead. */ + public Optional>> tagsAll() { + return Optional.ofNullable(this.tagsAll); + } + + @Import(name="timeouts") + private @Nullable Output timeouts; + + public Optional> timeouts() { + return Optional.ofNullable(this.timeouts); + } + + private ConnectionState() {} + + private ConnectionState(ConnectionState $) { + this.arn = $.arn; + this.connectionStatus = $.connectionStatus; + this.hostArn = $.hostArn; + this.name = $.name; + this.ownerAccountId = $.ownerAccountId; + this.providerType = $.providerType; + this.tags = $.tags; + this.tagsAll = $.tagsAll; + this.timeouts = $.timeouts; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(ConnectionState defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private ConnectionState $; + + public Builder() { + $ = new ConnectionState(); + } + + public Builder(ConnectionState defaults) { + $ = new ConnectionState(Objects.requireNonNull(defaults)); + } + + /** + * @param arn The codeconnections connection ARN. + * + * @return builder + * + */ + public Builder arn(@Nullable Output arn) { + $.arn = arn; + return this; + } + + /** + * @param arn The codeconnections connection ARN. + * + * @return builder + * + */ + public Builder arn(String arn) { + return arn(Output.of(arn)); + } + + /** + * @param connectionStatus The codeconnections connection status. Possible values are `PENDING`, `AVAILABLE` and `ERROR`. + * + * @return builder + * + */ + public Builder connectionStatus(@Nullable Output connectionStatus) { + $.connectionStatus = connectionStatus; + return this; + } + + /** + * @param connectionStatus The codeconnections connection status. Possible values are `PENDING`, `AVAILABLE` and `ERROR`. + * + * @return builder + * + */ + public Builder connectionStatus(String connectionStatus) { + return connectionStatus(Output.of(connectionStatus)); + } + + /** + * @param hostArn The Amazon Resource Name (ARN) of the host associated with the connection. Conflicts with `provider_type` + * + * @return builder + * + */ + public Builder hostArn(@Nullable Output hostArn) { + $.hostArn = hostArn; + return this; + } + + /** + * @param hostArn The Amazon Resource Name (ARN) of the host associated with the connection. Conflicts with `provider_type` + * + * @return builder + * + */ + public Builder hostArn(String hostArn) { + return hostArn(Output.of(hostArn)); + } + + /** + * @param name The name of the connection to be created. The name must be unique in the calling AWS account. Changing `name` will create a new resource. + * + * @return builder + * + */ + public Builder name(@Nullable Output name) { + $.name = name; + return this; + } + + /** + * @param name The name of the connection to be created. The name must be unique in the calling AWS account. Changing `name` will create a new resource. + * + * @return builder + * + */ + public Builder name(String name) { + return name(Output.of(name)); + } + + public Builder ownerAccountId(@Nullable Output ownerAccountId) { + $.ownerAccountId = ownerAccountId; + return this; + } + + public Builder ownerAccountId(String ownerAccountId) { + return ownerAccountId(Output.of(ownerAccountId)); + } + + /** + * @param providerType The name of the external provider where your third-party code repository is configured. Changing `provider_type` will create a new resource. Conflicts with `host_arn`. + * + * @return builder + * + */ + public Builder providerType(@Nullable Output providerType) { + $.providerType = providerType; + return this; + } + + /** + * @param providerType The name of the external provider where your third-party code repository is configured. Changing `provider_type` will create a new resource. Conflicts with `host_arn`. + * + * @return builder + * + */ + public Builder providerType(String providerType) { + return providerType(Output.of(providerType)); + } + + /** + * @param tags Map of key-value resource tags to associate with 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 key-value resource tags to associate with the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + * @return builder + * + */ + public Builder tags(Map tags) { + return tags(Output.of(tags)); + } + + /** + * @param tagsAll A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + * @return builder + * + * @deprecated + * Please use `tags` instead. + * + */ + @Deprecated /* Please use `tags` instead. */ + public Builder tagsAll(@Nullable Output> tagsAll) { + $.tagsAll = tagsAll; + return this; + } + + /** + * @param tagsAll A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + * @return builder + * + * @deprecated + * Please use `tags` instead. + * + */ + @Deprecated /* Please use `tags` instead. */ + public Builder tagsAll(Map tagsAll) { + return tagsAll(Output.of(tagsAll)); + } + + public Builder timeouts(@Nullable Output timeouts) { + $.timeouts = timeouts; + return this; + } + + public Builder timeouts(ConnectionTimeoutsArgs timeouts) { + return timeouts(Output.of(timeouts)); + } + + public ConnectionState build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/codeconnections/inputs/ConnectionTimeoutsArgs.java b/sdk/java/src/main/java/com/pulumi/aws/codeconnections/inputs/ConnectionTimeoutsArgs.java new file mode 100644 index 00000000000..645f82414b5 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/codeconnections/inputs/ConnectionTimeoutsArgs.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.codeconnections.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 ConnectionTimeoutsArgs extends com.pulumi.resources.ResourceArgs { + + public static final ConnectionTimeoutsArgs Empty = new ConnectionTimeoutsArgs(); + + /** + * A string that can be [parsed as a duration](https://pkg.go.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 ConnectionTimeoutsArgs() {} + + private ConnectionTimeoutsArgs(ConnectionTimeoutsArgs $) { + this.create = $.create; + this.delete = $.delete; + this.update = $.update; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(ConnectionTimeoutsArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private ConnectionTimeoutsArgs $; + + public Builder() { + $ = new ConnectionTimeoutsArgs(); + } + + public Builder(ConnectionTimeoutsArgs defaults) { + $ = new ConnectionTimeoutsArgs(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 ConnectionTimeoutsArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/codeconnections/inputs/HostState.java b/sdk/java/src/main/java/com/pulumi/aws/codeconnections/inputs/HostState.java new file mode 100644 index 00000000000..2b811895137 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/codeconnections/inputs/HostState.java @@ -0,0 +1,313 @@ +// *** 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.codeconnections.inputs; + +import com.pulumi.aws.codeconnections.inputs.HostTimeoutsArgs; +import com.pulumi.aws.codeconnections.inputs.HostVpcConfigurationArgs; +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 HostState extends com.pulumi.resources.ResourceArgs { + + public static final HostState Empty = new HostState(); + + /** + * The CodeConnections Host ARN. + * + */ + @Import(name="arn") + private @Nullable Output arn; + + /** + * @return The CodeConnections Host ARN. + * + */ + public Optional> arn() { + return Optional.ofNullable(this.arn); + } + + /** + * The name of the host to be created. The name must be unique in the calling AWS account. + * + */ + @Import(name="name") + private @Nullable Output name; + + /** + * @return The name of the host to be created. The name must be unique in the calling AWS account. + * + */ + public Optional> name() { + return Optional.ofNullable(this.name); + } + + /** + * The endpoint of the infrastructure to be represented by the host after it is created. + * + */ + @Import(name="providerEndpoint") + private @Nullable Output providerEndpoint; + + /** + * @return The endpoint of the infrastructure to be represented by the host after it is created. + * + */ + public Optional> providerEndpoint() { + return Optional.ofNullable(this.providerEndpoint); + } + + /** + * The name of the external provider where your third-party code repository is configured. + * + */ + @Import(name="providerType") + private @Nullable Output providerType; + + /** + * @return The name of the external provider where your third-party code repository is configured. + * + */ + public Optional> providerType() { + return Optional.ofNullable(this.providerType); + } + + @Import(name="tags") + private @Nullable Output> tags; + + public Optional>> tags() { + return Optional.ofNullable(this.tags); + } + + /** + * @deprecated + * Please use `tags` instead. + * + */ + @Deprecated /* Please use `tags` instead. */ + @Import(name="tagsAll") + private @Nullable Output> tagsAll; + + /** + * @deprecated + * Please use `tags` instead. + * + */ + @Deprecated /* Please use `tags` instead. */ + public Optional>> tagsAll() { + return Optional.ofNullable(this.tagsAll); + } + + @Import(name="timeouts") + private @Nullable Output timeouts; + + public Optional> timeouts() { + return Optional.ofNullable(this.timeouts); + } + + /** + * The VPC configuration to be provisioned for the host. A VPC must be configured, and the infrastructure to be represented by the host must already be connected to the VPC. + * + */ + @Import(name="vpcConfiguration") + private @Nullable Output vpcConfiguration; + + /** + * @return The VPC configuration to be provisioned for the host. A VPC must be configured, and the infrastructure to be represented by the host must already be connected to the VPC. + * + */ + public Optional> vpcConfiguration() { + return Optional.ofNullable(this.vpcConfiguration); + } + + private HostState() {} + + private HostState(HostState $) { + this.arn = $.arn; + this.name = $.name; + this.providerEndpoint = $.providerEndpoint; + this.providerType = $.providerType; + this.tags = $.tags; + this.tagsAll = $.tagsAll; + this.timeouts = $.timeouts; + this.vpcConfiguration = $.vpcConfiguration; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(HostState defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private HostState $; + + public Builder() { + $ = new HostState(); + } + + public Builder(HostState defaults) { + $ = new HostState(Objects.requireNonNull(defaults)); + } + + /** + * @param arn The CodeConnections Host ARN. + * + * @return builder + * + */ + public Builder arn(@Nullable Output arn) { + $.arn = arn; + return this; + } + + /** + * @param arn The CodeConnections Host ARN. + * + * @return builder + * + */ + public Builder arn(String arn) { + return arn(Output.of(arn)); + } + + /** + * @param name The name of the host to be created. The name must be unique in the calling AWS account. + * + * @return builder + * + */ + public Builder name(@Nullable Output name) { + $.name = name; + return this; + } + + /** + * @param name The name of the host to be created. The name must be unique in the calling AWS account. + * + * @return builder + * + */ + public Builder name(String name) { + return name(Output.of(name)); + } + + /** + * @param providerEndpoint The endpoint of the infrastructure to be represented by the host after it is created. + * + * @return builder + * + */ + public Builder providerEndpoint(@Nullable Output providerEndpoint) { + $.providerEndpoint = providerEndpoint; + return this; + } + + /** + * @param providerEndpoint The endpoint of the infrastructure to be represented by the host after it is created. + * + * @return builder + * + */ + public Builder providerEndpoint(String providerEndpoint) { + return providerEndpoint(Output.of(providerEndpoint)); + } + + /** + * @param providerType The name of the external provider where your third-party code repository is configured. + * + * @return builder + * + */ + public Builder providerType(@Nullable Output providerType) { + $.providerType = providerType; + return this; + } + + /** + * @param providerType The name of the external provider where your third-party code repository is configured. + * + * @return builder + * + */ + public Builder providerType(String providerType) { + return providerType(Output.of(providerType)); + } + + public Builder tags(@Nullable Output> tags) { + $.tags = tags; + return this; + } + + public Builder tags(Map tags) { + return tags(Output.of(tags)); + } + + /** + * @return builder + * + * @deprecated + * Please use `tags` instead. + * + */ + @Deprecated /* Please use `tags` instead. */ + public Builder tagsAll(@Nullable Output> tagsAll) { + $.tagsAll = tagsAll; + return this; + } + + /** + * @return builder + * + * @deprecated + * Please use `tags` instead. + * + */ + @Deprecated /* Please use `tags` instead. */ + public Builder tagsAll(Map tagsAll) { + return tagsAll(Output.of(tagsAll)); + } + + public Builder timeouts(@Nullable Output timeouts) { + $.timeouts = timeouts; + return this; + } + + public Builder timeouts(HostTimeoutsArgs timeouts) { + return timeouts(Output.of(timeouts)); + } + + /** + * @param vpcConfiguration The VPC configuration to be provisioned for the host. A VPC must be configured, and the infrastructure to be represented by the host must already be connected to the VPC. + * + * @return builder + * + */ + public Builder vpcConfiguration(@Nullable Output vpcConfiguration) { + $.vpcConfiguration = vpcConfiguration; + return this; + } + + /** + * @param vpcConfiguration The VPC configuration to be provisioned for the host. A VPC must be configured, and the infrastructure to be represented by the host must already be connected to the VPC. + * + * @return builder + * + */ + public Builder vpcConfiguration(HostVpcConfigurationArgs vpcConfiguration) { + return vpcConfiguration(Output.of(vpcConfiguration)); + } + + public HostState build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/codeconnections/inputs/HostTimeoutsArgs.java b/sdk/java/src/main/java/com/pulumi/aws/codeconnections/inputs/HostTimeoutsArgs.java new file mode 100644 index 00000000000..4c7f6bdd850 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/codeconnections/inputs/HostTimeoutsArgs.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.codeconnections.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 HostTimeoutsArgs extends com.pulumi.resources.ResourceArgs { + + public static final HostTimeoutsArgs Empty = new HostTimeoutsArgs(); + + /** + * A string that can be [parsed as a duration](https://pkg.go.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 HostTimeoutsArgs() {} + + private HostTimeoutsArgs(HostTimeoutsArgs $) { + this.create = $.create; + this.delete = $.delete; + this.update = $.update; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(HostTimeoutsArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private HostTimeoutsArgs $; + + public Builder() { + $ = new HostTimeoutsArgs(); + } + + public Builder(HostTimeoutsArgs defaults) { + $ = new HostTimeoutsArgs(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 HostTimeoutsArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/codeconnections/inputs/HostVpcConfigurationArgs.java b/sdk/java/src/main/java/com/pulumi/aws/codeconnections/inputs/HostVpcConfigurationArgs.java new file mode 100644 index 00000000000..02ae7b2c78c --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/codeconnections/inputs/HostVpcConfigurationArgs.java @@ -0,0 +1,226 @@ +// *** 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.codeconnections.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.List; +import java.util.Objects; + + +public final class HostVpcConfigurationArgs extends com.pulumi.resources.ResourceArgs { + + public static final HostVpcConfigurationArgs Empty = new HostVpcConfigurationArgs(); + + /** + * ID of the security group or security groups associated with the Amazon VPC connected to the infrastructure where your provider type is installed. + * + */ + @Import(name="securityGroupIds", required=true) + private Output> securityGroupIds; + + /** + * @return ID of the security group or security groups associated with the Amazon VPC connected to the infrastructure where your provider type is installed. + * + */ + public Output> securityGroupIds() { + return this.securityGroupIds; + } + + /** + * The ID of the subnet or subnets associated with the Amazon VPC connected to the infrastructure where your provider type is installed. + * + */ + @Import(name="subnetIds", required=true) + private Output> subnetIds; + + /** + * @return The ID of the subnet or subnets associated with the Amazon VPC connected to the infrastructure where your provider type is installed. + * + */ + public Output> subnetIds() { + return this.subnetIds; + } + + /** + * The value of the Transport Layer Security (TLS) certificate associated with the infrastructure where your provider type is installed. + * + */ + @Import(name="tlsCertificate", required=true) + private Output tlsCertificate; + + /** + * @return The value of the Transport Layer Security (TLS) certificate associated with the infrastructure where your provider type is installed. + * + */ + public Output tlsCertificate() { + return this.tlsCertificate; + } + + /** + * The ID of the Amazon VPC connected to the infrastructure where your provider type is installed. + * + */ + @Import(name="vpcId", required=true) + private Output vpcId; + + /** + * @return The ID of the Amazon VPC connected to the infrastructure where your provider type is installed. + * + */ + public Output vpcId() { + return this.vpcId; + } + + private HostVpcConfigurationArgs() {} + + private HostVpcConfigurationArgs(HostVpcConfigurationArgs $) { + this.securityGroupIds = $.securityGroupIds; + this.subnetIds = $.subnetIds; + this.tlsCertificate = $.tlsCertificate; + this.vpcId = $.vpcId; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(HostVpcConfigurationArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private HostVpcConfigurationArgs $; + + public Builder() { + $ = new HostVpcConfigurationArgs(); + } + + public Builder(HostVpcConfigurationArgs defaults) { + $ = new HostVpcConfigurationArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param securityGroupIds ID of the security group or security groups associated with the Amazon VPC connected to the infrastructure where your provider type is installed. + * + * @return builder + * + */ + public Builder securityGroupIds(Output> securityGroupIds) { + $.securityGroupIds = securityGroupIds; + return this; + } + + /** + * @param securityGroupIds ID of the security group or security groups associated with the Amazon VPC connected to the infrastructure where your provider type is installed. + * + * @return builder + * + */ + public Builder securityGroupIds(List securityGroupIds) { + return securityGroupIds(Output.of(securityGroupIds)); + } + + /** + * @param securityGroupIds ID of the security group or security groups associated with the Amazon VPC connected to the infrastructure where your provider type is installed. + * + * @return builder + * + */ + public Builder securityGroupIds(String... securityGroupIds) { + return securityGroupIds(List.of(securityGroupIds)); + } + + /** + * @param subnetIds The ID of the subnet or subnets associated with the Amazon VPC connected to the infrastructure where your provider type is installed. + * + * @return builder + * + */ + public Builder subnetIds(Output> subnetIds) { + $.subnetIds = subnetIds; + return this; + } + + /** + * @param subnetIds The ID of the subnet or subnets associated with the Amazon VPC connected to the infrastructure where your provider type is installed. + * + * @return builder + * + */ + public Builder subnetIds(List subnetIds) { + return subnetIds(Output.of(subnetIds)); + } + + /** + * @param subnetIds The ID of the subnet or subnets associated with the Amazon VPC connected to the infrastructure where your provider type is installed. + * + * @return builder + * + */ + public Builder subnetIds(String... subnetIds) { + return subnetIds(List.of(subnetIds)); + } + + /** + * @param tlsCertificate The value of the Transport Layer Security (TLS) certificate associated with the infrastructure where your provider type is installed. + * + * @return builder + * + */ + public Builder tlsCertificate(Output tlsCertificate) { + $.tlsCertificate = tlsCertificate; + return this; + } + + /** + * @param tlsCertificate The value of the Transport Layer Security (TLS) certificate associated with the infrastructure where your provider type is installed. + * + * @return builder + * + */ + public Builder tlsCertificate(String tlsCertificate) { + return tlsCertificate(Output.of(tlsCertificate)); + } + + /** + * @param vpcId The ID of the Amazon VPC connected to the infrastructure where your provider type is installed. + * + * @return builder + * + */ + public Builder vpcId(Output vpcId) { + $.vpcId = vpcId; + return this; + } + + /** + * @param vpcId The ID of the Amazon VPC connected to the infrastructure where your provider type is installed. + * + * @return builder + * + */ + public Builder vpcId(String vpcId) { + return vpcId(Output.of(vpcId)); + } + + public HostVpcConfigurationArgs build() { + if ($.securityGroupIds == null) { + throw new MissingRequiredPropertyException("HostVpcConfigurationArgs", "securityGroupIds"); + } + if ($.subnetIds == null) { + throw new MissingRequiredPropertyException("HostVpcConfigurationArgs", "subnetIds"); + } + if ($.tlsCertificate == null) { + throw new MissingRequiredPropertyException("HostVpcConfigurationArgs", "tlsCertificate"); + } + if ($.vpcId == null) { + throw new MissingRequiredPropertyException("HostVpcConfigurationArgs", "vpcId"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/codeconnections/outputs/ConnectionTimeouts.java b/sdk/java/src/main/java/com/pulumi/aws/codeconnections/outputs/ConnectionTimeouts.java new file mode 100644 index 00000000000..54aef715519 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/codeconnections/outputs/ConnectionTimeouts.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.codeconnections.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 ConnectionTimeouts { + /** + * @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 ConnectionTimeouts() {} + /** + * @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(ConnectionTimeouts 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(ConnectionTimeouts 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 ConnectionTimeouts build() { + final var _resultValue = new ConnectionTimeouts(); + _resultValue.create = create; + _resultValue.delete = delete; + _resultValue.update = update; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/codeconnections/outputs/HostTimeouts.java b/sdk/java/src/main/java/com/pulumi/aws/codeconnections/outputs/HostTimeouts.java new file mode 100644 index 00000000000..2d999aba7b6 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/codeconnections/outputs/HostTimeouts.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.codeconnections.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 HostTimeouts { + /** + * @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 HostTimeouts() {} + /** + * @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(HostTimeouts 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(HostTimeouts 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 HostTimeouts build() { + final var _resultValue = new HostTimeouts(); + _resultValue.create = create; + _resultValue.delete = delete; + _resultValue.update = update; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/codeconnections/outputs/HostVpcConfiguration.java b/sdk/java/src/main/java/com/pulumi/aws/codeconnections/outputs/HostVpcConfiguration.java new file mode 100644 index 00000000000..fc51eeb17bf --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/codeconnections/outputs/HostVpcConfiguration.java @@ -0,0 +1,134 @@ +// *** 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.codeconnections.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.List; +import java.util.Objects; + +@CustomType +public final class HostVpcConfiguration { + /** + * @return ID of the security group or security groups associated with the Amazon VPC connected to the infrastructure where your provider type is installed. + * + */ + private List securityGroupIds; + /** + * @return The ID of the subnet or subnets associated with the Amazon VPC connected to the infrastructure where your provider type is installed. + * + */ + private List subnetIds; + /** + * @return The value of the Transport Layer Security (TLS) certificate associated with the infrastructure where your provider type is installed. + * + */ + private String tlsCertificate; + /** + * @return The ID of the Amazon VPC connected to the infrastructure where your provider type is installed. + * + */ + private String vpcId; + + private HostVpcConfiguration() {} + /** + * @return ID of the security group or security groups associated with the Amazon VPC connected to the infrastructure where your provider type is installed. + * + */ + public List securityGroupIds() { + return this.securityGroupIds; + } + /** + * @return The ID of the subnet or subnets associated with the Amazon VPC connected to the infrastructure where your provider type is installed. + * + */ + public List subnetIds() { + return this.subnetIds; + } + /** + * @return The value of the Transport Layer Security (TLS) certificate associated with the infrastructure where your provider type is installed. + * + */ + public String tlsCertificate() { + return this.tlsCertificate; + } + /** + * @return The ID of the Amazon VPC connected to the infrastructure where your provider type is installed. + * + */ + public String vpcId() { + return this.vpcId; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(HostVpcConfiguration defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private List securityGroupIds; + private List subnetIds; + private String tlsCertificate; + private String vpcId; + public Builder() {} + public Builder(HostVpcConfiguration defaults) { + Objects.requireNonNull(defaults); + this.securityGroupIds = defaults.securityGroupIds; + this.subnetIds = defaults.subnetIds; + this.tlsCertificate = defaults.tlsCertificate; + this.vpcId = defaults.vpcId; + } + + @CustomType.Setter + public Builder securityGroupIds(List securityGroupIds) { + if (securityGroupIds == null) { + throw new MissingRequiredPropertyException("HostVpcConfiguration", "securityGroupIds"); + } + this.securityGroupIds = securityGroupIds; + return this; + } + public Builder securityGroupIds(String... securityGroupIds) { + return securityGroupIds(List.of(securityGroupIds)); + } + @CustomType.Setter + public Builder subnetIds(List subnetIds) { + if (subnetIds == null) { + throw new MissingRequiredPropertyException("HostVpcConfiguration", "subnetIds"); + } + this.subnetIds = subnetIds; + return this; + } + public Builder subnetIds(String... subnetIds) { + return subnetIds(List.of(subnetIds)); + } + @CustomType.Setter + public Builder tlsCertificate(String tlsCertificate) { + if (tlsCertificate == null) { + throw new MissingRequiredPropertyException("HostVpcConfiguration", "tlsCertificate"); + } + this.tlsCertificate = tlsCertificate; + return this; + } + @CustomType.Setter + public Builder vpcId(String vpcId) { + if (vpcId == null) { + throw new MissingRequiredPropertyException("HostVpcConfiguration", "vpcId"); + } + this.vpcId = vpcId; + return this; + } + public HostVpcConfiguration build() { + final var _resultValue = new HostVpcConfiguration(); + _resultValue.securityGroupIds = securityGroupIds; + _resultValue.subnetIds = subnetIds; + _resultValue.tlsCertificate = tlsCertificate; + _resultValue.vpcId = vpcId; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/config/inputs/Endpoints.java b/sdk/java/src/main/java/com/pulumi/aws/config/inputs/Endpoints.java index f8106690a79..67d3bc6b8dc 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/config/inputs/Endpoints.java +++ b/sdk/java/src/main/java/com/pulumi/aws/config/inputs/Endpoints.java @@ -1226,6 +1226,11 @@ public final class Endpoints { * */ private @Nullable String s3outposts; + /** + * @return Use this to override the default service endpoint URL + * + */ + private @Nullable String s3tables; /** * @return Use this to override the default service endpoint URL * @@ -3179,6 +3184,13 @@ public Optional s3control() { public Optional s3outposts() { return Optional.ofNullable(this.s3outposts); } + /** + * @return Use this to override the default service endpoint URL + * + */ + public Optional s3tables() { + return Optional.ofNullable(this.s3tables); + } /** * @return Use this to override the default service endpoint URL * @@ -3782,6 +3794,7 @@ public static final class Builder { private @Nullable String s3api; private @Nullable String s3control; private @Nullable String s3outposts; + private @Nullable String s3tables; private @Nullable String sagemaker; private @Nullable String scheduler; private @Nullable String schemas; @@ -4078,6 +4091,7 @@ public Builder(Endpoints defaults) { this.s3api = defaults.s3api; this.s3control = defaults.s3control; this.s3outposts = defaults.s3outposts; + this.s3tables = defaults.s3tables; this.sagemaker = defaults.sagemaker; this.scheduler = defaults.scheduler; this.schemas = defaults.schemas; @@ -5589,6 +5603,12 @@ public Builder s3outposts(@Nullable String s3outposts) { return this; } @CustomType.Setter + public Builder s3tables(@Nullable String s3tables) { + + this.s3tables = s3tables; + return this; + } + @CustomType.Setter public Builder sagemaker(@Nullable String sagemaker) { this.sagemaker = sagemaker; @@ -6133,6 +6153,7 @@ public Endpoints build() { _resultValue.s3api = s3api; _resultValue.s3control = s3control; _resultValue.s3outposts = s3outposts; + _resultValue.s3tables = s3tables; _resultValue.sagemaker = sagemaker; _resultValue.scheduler = scheduler; _resultValue.schemas = schemas; diff --git a/sdk/java/src/main/java/com/pulumi/aws/dynamodb/TableReplica.java b/sdk/java/src/main/java/com/pulumi/aws/dynamodb/TableReplica.java index 6d751798077..884de059a2c 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/dynamodb/TableReplica.java +++ b/sdk/java/src/main/java/com/pulumi/aws/dynamodb/TableReplica.java @@ -106,6 +106,20 @@ public class TableReplica extends com.pulumi.resources.CustomResource { public Output arn() { return this.arn; } + /** + * Whether deletion protection is enabled (true) or disabled (false) on the table replica. + * + */ + @Export(name="deletionProtectionEnabled", refs={Boolean.class}, tree="[0]") + private Output deletionProtectionEnabled; + + /** + * @return Whether deletion protection is enabled (true) or disabled (false) on the table replica. + * + */ + public Output deletionProtectionEnabled() { + return this.deletionProtectionEnabled; + } /** * ARN of the _main_ or global table which this resource will replicate. * @@ -139,14 +153,14 @@ public Output kmsKeyArn() { return this.kmsKeyArn; } /** - * Whether to enable Point In Time Recovery for the replica. Default is `false`. + * Whether to enable Point In Time Recovery for the table replica. Default is `false`. * */ @Export(name="pointInTimeRecovery", refs={Boolean.class}, tree="[0]") private Output pointInTimeRecovery; /** - * @return Whether to enable Point In Time Recovery for the replica. Default is `false`. + * @return Whether to enable Point In Time Recovery for the table replica. Default is `false`. * */ public Output> pointInTimeRecovery() { diff --git a/sdk/java/src/main/java/com/pulumi/aws/dynamodb/TableReplicaArgs.java b/sdk/java/src/main/java/com/pulumi/aws/dynamodb/TableReplicaArgs.java index 0736fec9126..3e18beea657 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/dynamodb/TableReplicaArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/dynamodb/TableReplicaArgs.java @@ -18,6 +18,21 @@ public final class TableReplicaArgs extends com.pulumi.resources.ResourceArgs { public static final TableReplicaArgs Empty = new TableReplicaArgs(); + /** + * Whether deletion protection is enabled (true) or disabled (false) on the table replica. + * + */ + @Import(name="deletionProtectionEnabled") + private @Nullable Output deletionProtectionEnabled; + + /** + * @return Whether deletion protection is enabled (true) or disabled (false) on the table replica. + * + */ + public Optional> deletionProtectionEnabled() { + return Optional.ofNullable(this.deletionProtectionEnabled); + } + /** * ARN of the _main_ or global table which this resource will replicate. * @@ -53,14 +68,14 @@ public Optional> kmsKeyArn() { } /** - * Whether to enable Point In Time Recovery for the replica. Default is `false`. + * Whether to enable Point In Time Recovery for the table replica. Default is `false`. * */ @Import(name="pointInTimeRecovery") private @Nullable Output pointInTimeRecovery; /** - * @return Whether to enable Point In Time Recovery for the replica. Default is `false`. + * @return Whether to enable Point In Time Recovery for the table replica. Default is `false`. * */ public Optional> pointInTimeRecovery() { @@ -100,6 +115,7 @@ public Optional>> tags() { private TableReplicaArgs() {} private TableReplicaArgs(TableReplicaArgs $) { + this.deletionProtectionEnabled = $.deletionProtectionEnabled; this.globalTableArn = $.globalTableArn; this.kmsKeyArn = $.kmsKeyArn; this.pointInTimeRecovery = $.pointInTimeRecovery; @@ -125,6 +141,27 @@ public Builder(TableReplicaArgs defaults) { $ = new TableReplicaArgs(Objects.requireNonNull(defaults)); } + /** + * @param deletionProtectionEnabled Whether deletion protection is enabled (true) or disabled (false) on the table replica. + * + * @return builder + * + */ + public Builder deletionProtectionEnabled(@Nullable Output deletionProtectionEnabled) { + $.deletionProtectionEnabled = deletionProtectionEnabled; + return this; + } + + /** + * @param deletionProtectionEnabled Whether deletion protection is enabled (true) or disabled (false) on the table replica. + * + * @return builder + * + */ + public Builder deletionProtectionEnabled(Boolean deletionProtectionEnabled) { + return deletionProtectionEnabled(Output.of(deletionProtectionEnabled)); + } + /** * @param globalTableArn ARN of the _main_ or global table which this resource will replicate. * @@ -172,7 +209,7 @@ public Builder kmsKeyArn(String kmsKeyArn) { } /** - * @param pointInTimeRecovery Whether to enable Point In Time Recovery for the replica. Default is `false`. + * @param pointInTimeRecovery Whether to enable Point In Time Recovery for the table replica. Default is `false`. * * @return builder * @@ -183,7 +220,7 @@ public Builder pointInTimeRecovery(@Nullable Output pointInTimeRecovery } /** - * @param pointInTimeRecovery Whether to enable Point In Time Recovery for the replica. Default is `false`. + * @param pointInTimeRecovery Whether to enable Point In Time Recovery for the table replica. Default is `false`. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/dynamodb/inputs/TableReplicaState.java b/sdk/java/src/main/java/com/pulumi/aws/dynamodb/inputs/TableReplicaState.java index 8efe86fe887..69fb42d9721 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/dynamodb/inputs/TableReplicaState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/dynamodb/inputs/TableReplicaState.java @@ -32,6 +32,21 @@ public Optional> arn() { return Optional.ofNullable(this.arn); } + /** + * Whether deletion protection is enabled (true) or disabled (false) on the table replica. + * + */ + @Import(name="deletionProtectionEnabled") + private @Nullable Output deletionProtectionEnabled; + + /** + * @return Whether deletion protection is enabled (true) or disabled (false) on the table replica. + * + */ + public Optional> deletionProtectionEnabled() { + return Optional.ofNullable(this.deletionProtectionEnabled); + } + /** * ARN of the _main_ or global table which this resource will replicate. * @@ -67,14 +82,14 @@ public Optional> kmsKeyArn() { } /** - * Whether to enable Point In Time Recovery for the replica. Default is `false`. + * Whether to enable Point In Time Recovery for the table replica. Default is `false`. * */ @Import(name="pointInTimeRecovery") private @Nullable Output pointInTimeRecovery; /** - * @return Whether to enable Point In Time Recovery for the replica. Default is `false`. + * @return Whether to enable Point In Time Recovery for the table replica. Default is `false`. * */ public Optional> pointInTimeRecovery() { @@ -138,6 +153,7 @@ private TableReplicaState() {} private TableReplicaState(TableReplicaState $) { this.arn = $.arn; + this.deletionProtectionEnabled = $.deletionProtectionEnabled; this.globalTableArn = $.globalTableArn; this.kmsKeyArn = $.kmsKeyArn; this.pointInTimeRecovery = $.pointInTimeRecovery; @@ -185,6 +201,27 @@ public Builder arn(String arn) { return arn(Output.of(arn)); } + /** + * @param deletionProtectionEnabled Whether deletion protection is enabled (true) or disabled (false) on the table replica. + * + * @return builder + * + */ + public Builder deletionProtectionEnabled(@Nullable Output deletionProtectionEnabled) { + $.deletionProtectionEnabled = deletionProtectionEnabled; + return this; + } + + /** + * @param deletionProtectionEnabled Whether deletion protection is enabled (true) or disabled (false) on the table replica. + * + * @return builder + * + */ + public Builder deletionProtectionEnabled(Boolean deletionProtectionEnabled) { + return deletionProtectionEnabled(Output.of(deletionProtectionEnabled)); + } + /** * @param globalTableArn ARN of the _main_ or global table which this resource will replicate. * @@ -232,7 +269,7 @@ public Builder kmsKeyArn(String kmsKeyArn) { } /** - * @param pointInTimeRecovery Whether to enable Point In Time Recovery for the replica. Default is `false`. + * @param pointInTimeRecovery Whether to enable Point In Time Recovery for the table replica. Default is `false`. * * @return builder * @@ -243,7 +280,7 @@ public Builder pointInTimeRecovery(@Nullable Output pointInTimeRecovery } /** - * @param pointInTimeRecovery Whether to enable Point In Time Recovery for the replica. Default is `false`. + * @param pointInTimeRecovery Whether to enable Point In Time Recovery for the table replica. Default is `false`. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/inputs/ProviderEndpointArgs.java b/sdk/java/src/main/java/com/pulumi/aws/inputs/ProviderEndpointArgs.java index 0292e9dfb61..d1220be0104 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/inputs/ProviderEndpointArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/inputs/ProviderEndpointArgs.java @@ -3660,6 +3660,21 @@ public Optional> s3outposts() { return Optional.ofNullable(this.s3outposts); } + /** + * Use this to override the default service endpoint URL + * + */ + @Import(name="s3tables") + private @Nullable Output s3tables; + + /** + * @return Use this to override the default service endpoint URL + * + */ + public Optional> s3tables() { + return Optional.ofNullable(this.s3tables); + } + /** * Use this to override the default service endpoint URL * @@ -4656,6 +4671,7 @@ private ProviderEndpointArgs(ProviderEndpointArgs $) { this.s3api = $.s3api; this.s3control = $.s3control; this.s3outposts = $.s3outposts; + this.s3tables = $.s3tables; this.sagemaker = $.sagemaker; this.scheduler = $.scheduler; this.schemas = $.schemas; @@ -9829,6 +9845,27 @@ public Builder s3outposts(String s3outposts) { return s3outposts(Output.of(s3outposts)); } + /** + * @param s3tables Use this to override the default service endpoint URL + * + * @return builder + * + */ + public Builder s3tables(@Nullable Output s3tables) { + $.s3tables = s3tables; + return this; + } + + /** + * @param s3tables Use this to override the default service endpoint URL + * + * @return builder + * + */ + public Builder s3tables(String s3tables) { + return s3tables(Output.of(s3tables)); + } + /** * @param sagemaker Use this to override the default service endpoint URL * diff --git a/sdk/java/src/main/java/com/pulumi/aws/rds/ClusterInstance.java b/sdk/java/src/main/java/com/pulumi/aws/rds/ClusterInstance.java index c93ac1e7b42..45936f82c0b 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/rds/ClusterInstance.java +++ b/sdk/java/src/main/java/com/pulumi/aws/rds/ClusterInstance.java @@ -314,6 +314,20 @@ public Output engineVersion() { public Output engineVersionActual() { return this.engineVersionActual; } + /** + * Forces an instance to be destroyed when a part of a read replica cluster. **Note:** will promote the read replica to a standalone cluster before instance deletion. + * + */ + @Export(name="forceDestroy", refs={Boolean.class}, tree="[0]") + private Output forceDestroy; + + /** + * @return Forces an instance to be destroyed when a part of a read replica cluster. **Note:** will promote the read replica to a standalone cluster before instance deletion. + * + */ + public Output> forceDestroy() { + return Codegen.optional(this.forceDestroy); + } /** * Identifier for the RDS instance, if omitted, Pulumi will assign a random, unique identifier. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/rds/ClusterInstanceArgs.java b/sdk/java/src/main/java/com/pulumi/aws/rds/ClusterInstanceArgs.java index 15e9abd6eff..760c7f6dc8b 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/rds/ClusterInstanceArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/rds/ClusterInstanceArgs.java @@ -188,6 +188,21 @@ public Optional> engineVersion() { return Optional.ofNullable(this.engineVersion); } + /** + * Forces an instance to be destroyed when a part of a read replica cluster. **Note:** will promote the read replica to a standalone cluster before instance deletion. + * + */ + @Import(name="forceDestroy") + private @Nullable Output forceDestroy; + + /** + * @return Forces an instance to be destroyed when a part of a read replica cluster. **Note:** will promote the read replica to a standalone cluster before instance deletion. + * + */ + public Optional> forceDestroy() { + return Optional.ofNullable(this.forceDestroy); + } + /** * Identifier for the RDS instance, if omitted, Pulumi will assign a random, unique identifier. * @@ -397,6 +412,7 @@ private ClusterInstanceArgs(ClusterInstanceArgs $) { this.dbSubnetGroupName = $.dbSubnetGroupName; this.engine = $.engine; this.engineVersion = $.engineVersion; + this.forceDestroy = $.forceDestroy; this.identifier = $.identifier; this.identifierPrefix = $.identifierPrefix; this.instanceClass = $.instanceClass; @@ -663,6 +679,27 @@ public Builder engineVersion(String engineVersion) { return engineVersion(Output.of(engineVersion)); } + /** + * @param forceDestroy Forces an instance to be destroyed when a part of a read replica cluster. **Note:** will promote the read replica to a standalone cluster before instance deletion. + * + * @return builder + * + */ + public Builder forceDestroy(@Nullable Output forceDestroy) { + $.forceDestroy = forceDestroy; + return this; + } + + /** + * @param forceDestroy Forces an instance to be destroyed when a part of a read replica cluster. **Note:** will promote the read replica to a standalone cluster before instance deletion. + * + * @return builder + * + */ + public Builder forceDestroy(Boolean forceDestroy) { + return forceDestroy(Output.of(forceDestroy)); + } + /** * @param identifier Identifier for the RDS instance, if omitted, Pulumi will assign a random, unique identifier. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/rds/ParameterGroup.java b/sdk/java/src/main/java/com/pulumi/aws/rds/ParameterGroup.java index f53f9dc9b73..8b6b57179f8 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/rds/ParameterGroup.java +++ b/sdk/java/src/main/java/com/pulumi/aws/rds/ParameterGroup.java @@ -19,69 +19,6 @@ import javax.annotation.Nullable; /** - * Provides an RDS DB parameter group resource. Documentation of the available parameters for various RDS engines can be found at: - * - * * [Aurora MySQL Parameters](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AuroraMySQL.Reference.html) - * * [Aurora PostgreSQL Parameters](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AuroraPostgreSQL.Reference.html) - * * [MariaDB Parameters](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.MariaDB.Parameters.html) - * * [Oracle Parameters](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ModifyInstance.Oracle.html#USER_ModifyInstance.Oracle.sqlnet) - * * [PostgreSQL Parameters](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.PostgreSQL.CommonDBATasks.html#Appendix.PostgreSQL.CommonDBATasks.Parameters) - * - * > **Hands-on:** For an example of the `aws.rds.ParameterGroup` in use, follow the Manage AWS RDS Instances tutorial on HashiCorp Learn. - * - * > **NOTE**: to make diffs less confusing, the AWS provider will ignore changes for a `parameter` whose `value` remains - * unchanged but whose `apply_method` is changing (e.g., from `immediate` to `pending-reboot`, or `pending-reboot` to - * `immediate`). This matches the cloud: if only the apply method of a parameter is changing, the AWS API will not register - * this change. To change the `apply_method` of a parameter, its value must also change. - * - * ## 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.ParameterGroup;
- * import com.pulumi.aws.rds.ParameterGroupArgs;
- * import com.pulumi.aws.rds.inputs.ParameterGroupParameterArgs;
- * import java.util.List;
- * import java.util.ArrayList;
- * import java.util.Map;
- * import java.io.File;
- * import java.nio.file.Files;
- * 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 ParameterGroup("default", ParameterGroupArgs.builder()
- *             .name("rds-pg")
- *             .family("mysql5.6")
- *             .parameters(            
- *                 ParameterGroupParameterArgs.builder()
- *                     .name("character_set_server")
- *                     .value("utf8")
- *                     .build(),
- *                 ParameterGroupParameterArgs.builder()
- *                     .name("character_set_client")
- *                     .value("utf8")
- *                     .build())
- *             .build());
- * 
- *     }
- * }
- * }
- * 
- * <!--End PulumiCodeChooser --> - * * ## Import * * Using `pulumi import`, import DB Parameter groups using the `name`. For example: diff --git a/sdk/java/src/main/java/com/pulumi/aws/rds/inputs/ClusterInstanceState.java b/sdk/java/src/main/java/com/pulumi/aws/rds/inputs/ClusterInstanceState.java index 42986cad95f..440cbf3079a 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/rds/inputs/ClusterInstanceState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/rds/inputs/ClusterInstanceState.java @@ -247,6 +247,21 @@ public Optional> engineVersionActual() { return Optional.ofNullable(this.engineVersionActual); } + /** + * Forces an instance to be destroyed when a part of a read replica cluster. **Note:** will promote the read replica to a standalone cluster before instance deletion. + * + */ + @Import(name="forceDestroy") + private @Nullable Output forceDestroy; + + /** + * @return Forces an instance to be destroyed when a part of a read replica cluster. **Note:** will promote the read replica to a standalone cluster before instance deletion. + * + */ + public Optional> forceDestroy() { + return Optional.ofNullable(this.forceDestroy); + } + /** * Identifier for the RDS instance, if omitted, Pulumi will assign a random, unique identifier. * @@ -558,6 +573,7 @@ private ClusterInstanceState(ClusterInstanceState $) { this.engine = $.engine; this.engineVersion = $.engineVersion; this.engineVersionActual = $.engineVersionActual; + this.forceDestroy = $.forceDestroy; this.identifier = $.identifier; this.identifierPrefix = $.identifierPrefix; this.instanceClass = $.instanceClass; @@ -914,6 +930,27 @@ public Builder engineVersionActual(String engineVersionActual) { return engineVersionActual(Output.of(engineVersionActual)); } + /** + * @param forceDestroy Forces an instance to be destroyed when a part of a read replica cluster. **Note:** will promote the read replica to a standalone cluster before instance deletion. + * + * @return builder + * + */ + public Builder forceDestroy(@Nullable Output forceDestroy) { + $.forceDestroy = forceDestroy; + return this; + } + + /** + * @param forceDestroy Forces an instance to be destroyed when a part of a read replica cluster. **Note:** will promote the read replica to a standalone cluster before instance deletion. + * + * @return builder + * + */ + public Builder forceDestroy(Boolean forceDestroy) { + return forceDestroy(Output.of(forceDestroy)); + } + /** * @param identifier Identifier for the RDS instance, if omitted, Pulumi will assign a random, unique identifier. * 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 fcd2e5f2e1a..8d64a013155 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 @@ -15,14 +15,14 @@ public final class ClusterServerlessv2ScalingConfigurationArgs extends com.pulum public static final ClusterServerlessv2ScalingConfigurationArgs Empty = new ClusterServerlessv2ScalingConfigurationArgs(); /** - * 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.5` up to `256` in steps of `0.5`. + * 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`. * */ @Import(name="maxCapacity", required=true) private Output maxCapacity; /** - * @return 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.5` up to `256` in steps of `0.5`. + * @return 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`. * */ public Output maxCapacity() { @@ -30,14 +30,14 @@ public Output 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.5` up to `256` in steps of `0.5`. + * 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`. * */ @Import(name="minCapacity", required=true) private Output minCapacity; /** - * @return 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.5` up to `256` in steps of `0.5`. + * @return 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 Output minCapacity() { @@ -70,7 +70,7 @@ public Builder(ClusterServerlessv2ScalingConfigurationArgs defaults) { } /** - * @param maxCapacity 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.5` up to `256` in steps of `0.5`. + * @param maxCapacity 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`. * * @return builder * @@ -81,7 +81,7 @@ public Builder maxCapacity(Output maxCapacity) { } /** - * @param maxCapacity 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.5` up to `256` in steps of `0.5`. + * @param maxCapacity 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`. * * @return builder * @@ -91,7 +91,7 @@ public Builder maxCapacity(Double maxCapacity) { } /** - * @param minCapacity 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.5` up to `256` in steps of `0.5`. + * @param minCapacity 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`. * * @return builder * @@ -102,7 +102,7 @@ public Builder minCapacity(Output minCapacity) { } /** - * @param minCapacity 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.5` up to `256` in steps of `0.5`. + * @param minCapacity 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`. * * @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 b0603846589..32792a47c50 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 @@ -11,26 +11,26 @@ @CustomType public final class ClusterServerlessv2ScalingConfiguration { /** - * @return 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.5` up to `256` in steps of `0.5`. + * @return 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`. * */ private Double maxCapacity; /** - * @return 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.5` up to `256` in steps of `0.5`. + * @return 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`. * */ private Double minCapacity; private ClusterServerlessv2ScalingConfiguration() {} /** - * @return 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.5` up to `256` in steps of `0.5`. + * @return 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`. * */ public Double maxCapacity() { return this.maxCapacity; } /** - * @return 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.5` up to `256` in steps of `0.5`. + * @return 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 Double minCapacity() { diff --git a/sdk/java/src/main/java/com/pulumi/aws/s3/inputs/DirectoryBucketLocationArgs.java b/sdk/java/src/main/java/com/pulumi/aws/s3/inputs/DirectoryBucketLocationArgs.java index 996d2ed5032..b39464f09fe 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/s3/inputs/DirectoryBucketLocationArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/s3/inputs/DirectoryBucketLocationArgs.java @@ -17,14 +17,14 @@ public final class DirectoryBucketLocationArgs extends com.pulumi.resources.Reso public static final DirectoryBucketLocationArgs Empty = new DirectoryBucketLocationArgs(); /** - * [Availability Zone ID](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html#az-ids). + * [Availability Zone ID](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html#az-ids) or Local Zone ID. * */ @Import(name="name", required=true) private Output name; /** - * @return [Availability Zone ID](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html#az-ids). + * @return [Availability Zone ID](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html#az-ids) or Local Zone ID. * */ public Output name() { @@ -32,14 +32,14 @@ public Output name() { } /** - * Location type. Valid values: `AvailabilityZone`. + * Location type. Valid values: `AvailabilityZone`, `LocalZone`. * */ @Import(name="type") private @Nullable Output type; /** - * @return Location type. Valid values: `AvailabilityZone`. + * @return Location type. Valid values: `AvailabilityZone`, `LocalZone`. * */ public Optional> type() { @@ -72,7 +72,7 @@ public Builder(DirectoryBucketLocationArgs defaults) { } /** - * @param name [Availability Zone ID](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html#az-ids). + * @param name [Availability Zone ID](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html#az-ids) or Local Zone ID. * * @return builder * @@ -83,7 +83,7 @@ public Builder name(Output name) { } /** - * @param name [Availability Zone ID](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html#az-ids). + * @param name [Availability Zone ID](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html#az-ids) or Local Zone ID. * * @return builder * @@ -93,7 +93,7 @@ public Builder name(String name) { } /** - * @param type Location type. Valid values: `AvailabilityZone`. + * @param type Location type. Valid values: `AvailabilityZone`, `LocalZone`. * * @return builder * @@ -104,7 +104,7 @@ public Builder type(@Nullable Output type) { } /** - * @param type Location type. Valid values: `AvailabilityZone`. + * @param type Location type. Valid values: `AvailabilityZone`, `LocalZone`. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/s3/outputs/DirectoryBucketLocation.java b/sdk/java/src/main/java/com/pulumi/aws/s3/outputs/DirectoryBucketLocation.java index 811c62add2a..71aee35dd39 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/s3/outputs/DirectoryBucketLocation.java +++ b/sdk/java/src/main/java/com/pulumi/aws/s3/outputs/DirectoryBucketLocation.java @@ -13,26 +13,26 @@ @CustomType public final class DirectoryBucketLocation { /** - * @return [Availability Zone ID](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html#az-ids). + * @return [Availability Zone ID](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html#az-ids) or Local Zone ID. * */ private String name; /** - * @return Location type. Valid values: `AvailabilityZone`. + * @return Location type. Valid values: `AvailabilityZone`, `LocalZone`. * */ private @Nullable String type; private DirectoryBucketLocation() {} /** - * @return [Availability Zone ID](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html#az-ids). + * @return [Availability Zone ID](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html#az-ids) or Local Zone ID. * */ public String name() { return this.name; } /** - * @return Location type. Valid values: `AvailabilityZone`. + * @return Location type. Valid values: `AvailabilityZone`, `LocalZone`. * */ public Optional type() { diff --git a/sdk/java/src/main/java/com/pulumi/aws/s3tables/Namespace.java b/sdk/java/src/main/java/com/pulumi/aws/s3tables/Namespace.java new file mode 100644 index 00000000000..deecf25898a --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/s3tables/Namespace.java @@ -0,0 +1,204 @@ +// *** 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.s3tables; + +import com.pulumi.aws.Utilities; +import com.pulumi.aws.s3tables.NamespaceArgs; +import com.pulumi.aws.s3tables.inputs.NamespaceState; +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 Amazon S3 Tables Namespace. + * + * ## 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.s3tables.TableBucket;
+ * import com.pulumi.aws.s3tables.TableBucketArgs;
+ * import com.pulumi.aws.s3tables.Namespace;
+ * import com.pulumi.aws.s3tables.NamespaceArgs;
+ * import java.util.List;
+ * import java.util.ArrayList;
+ * import java.util.Map;
+ * import java.io.File;
+ * import java.nio.file.Files;
+ * 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 exampleTableBucket = new TableBucket("exampleTableBucket", TableBucketArgs.builder()
+ *             .name("example-bucket")
+ *             .build());
+ * 
+ *         var example = new Namespace("example", NamespaceArgs.builder()
+ *             .namespace("example-namespace")
+ *             .tableBucketArn(exampleTableBucket.arn())
+ *             .build());
+ * 
+ *     }
+ * }
+ * }
+ * 
+ * <!--End PulumiCodeChooser --> + * + * ## Import + * + * Using `pulumi import`, import S3 Tables Namespace using the `table_bucket_arn` and the value of `namespace`, separated by a semicolon (`;`). For example: + * + * ```sh + * $ pulumi import aws:s3tables/namespace:Namespace example 'arn:aws:s3tables:us-west-2:123456789012:bucket/example-bucket;example-namespace' + * ``` + * + */ +@ResourceType(type="aws:s3tables/namespace:Namespace") +public class Namespace extends com.pulumi.resources.CustomResource { + /** + * Date and time when the namespace was created. + * + */ + @Export(name="createdAt", refs={String.class}, tree="[0]") + private Output createdAt; + + /** + * @return Date and time when the namespace was created. + * + */ + public Output createdAt() { + return this.createdAt; + } + /** + * Account ID of the account that created the namespace. + * + */ + @Export(name="createdBy", refs={String.class}, tree="[0]") + private Output createdBy; + + /** + * @return Account ID of the account that created the namespace. + * + */ + public Output createdBy() { + return this.createdBy; + } + /** + * Name of the namespace. + * Must be between 1 and 255 characters in length. + * Can consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number. + * + */ + @Export(name="namespace", refs={String.class}, tree="[0]") + private Output namespace; + + /** + * @return Name of the namespace. + * Must be between 1 and 255 characters in length. + * Can consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number. + * + */ + public Output namespace() { + return this.namespace; + } + /** + * Account ID of the account that owns the namespace. + * + */ + @Export(name="ownerAccountId", refs={String.class}, tree="[0]") + private Output ownerAccountId; + + /** + * @return Account ID of the account that owns the namespace. + * + */ + public Output ownerAccountId() { + return this.ownerAccountId; + } + /** + * ARN referencing the Table Bucket that contains this Namespace. + * + */ + @Export(name="tableBucketArn", refs={String.class}, tree="[0]") + private Output tableBucketArn; + + /** + * @return ARN referencing the Table Bucket that contains this Namespace. + * + */ + public Output tableBucketArn() { + return this.tableBucketArn; + } + + /** + * + * @param name The _unique_ name of the resulting resource. + */ + public Namespace(java.lang.String name) { + this(name, NamespaceArgs.Empty); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + */ + public Namespace(java.lang.String name, NamespaceArgs 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 Namespace(java.lang.String name, NamespaceArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("aws:s3tables/namespace:Namespace", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false); + } + + private Namespace(java.lang.String name, Output id, @Nullable NamespaceState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("aws:s3tables/namespace:Namespace", name, state, makeResourceOptions(options, id), false); + } + + private static NamespaceArgs makeArgs(NamespaceArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + if (options != null && options.getUrn().isPresent()) { + return null; + } + return args == null ? NamespaceArgs.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 Namespace get(java.lang.String name, Output id, @Nullable NamespaceState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + return new Namespace(name, id, state, options); + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/s3tables/NamespaceArgs.java b/sdk/java/src/main/java/com/pulumi/aws/s3tables/NamespaceArgs.java new file mode 100644 index 00000000000..82246ed56a7 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/s3tables/NamespaceArgs.java @@ -0,0 +1,133 @@ +// *** 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.s3tables; + +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 NamespaceArgs extends com.pulumi.resources.ResourceArgs { + + public static final NamespaceArgs Empty = new NamespaceArgs(); + + /** + * Name of the namespace. + * Must be between 1 and 255 characters in length. + * Can consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number. + * + */ + @Import(name="namespace", required=true) + private Output namespace; + + /** + * @return Name of the namespace. + * Must be between 1 and 255 characters in length. + * Can consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number. + * + */ + public Output namespace() { + return this.namespace; + } + + /** + * ARN referencing the Table Bucket that contains this Namespace. + * + */ + @Import(name="tableBucketArn", required=true) + private Output tableBucketArn; + + /** + * @return ARN referencing the Table Bucket that contains this Namespace. + * + */ + public Output tableBucketArn() { + return this.tableBucketArn; + } + + private NamespaceArgs() {} + + private NamespaceArgs(NamespaceArgs $) { + this.namespace = $.namespace; + this.tableBucketArn = $.tableBucketArn; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(NamespaceArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private NamespaceArgs $; + + public Builder() { + $ = new NamespaceArgs(); + } + + public Builder(NamespaceArgs defaults) { + $ = new NamespaceArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param namespace Name of the namespace. + * Must be between 1 and 255 characters in length. + * Can consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number. + * + * @return builder + * + */ + public Builder namespace(Output namespace) { + $.namespace = namespace; + return this; + } + + /** + * @param namespace Name of the namespace. + * Must be between 1 and 255 characters in length. + * Can consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number. + * + * @return builder + * + */ + public Builder namespace(String namespace) { + return namespace(Output.of(namespace)); + } + + /** + * @param tableBucketArn ARN referencing the Table Bucket that contains this Namespace. + * + * @return builder + * + */ + public Builder tableBucketArn(Output tableBucketArn) { + $.tableBucketArn = tableBucketArn; + return this; + } + + /** + * @param tableBucketArn ARN referencing the Table Bucket that contains this Namespace. + * + * @return builder + * + */ + public Builder tableBucketArn(String tableBucketArn) { + return tableBucketArn(Output.of(tableBucketArn)); + } + + public NamespaceArgs build() { + if ($.namespace == null) { + throw new MissingRequiredPropertyException("NamespaceArgs", "namespace"); + } + if ($.tableBucketArn == null) { + throw new MissingRequiredPropertyException("NamespaceArgs", "tableBucketArn"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/s3tables/Table.java b/sdk/java/src/main/java/com/pulumi/aws/s3tables/Table.java new file mode 100644 index 00000000000..27d89545812 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/s3tables/Table.java @@ -0,0 +1,368 @@ +// *** 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.s3tables; + +import com.pulumi.aws.Utilities; +import com.pulumi.aws.s3tables.TableArgs; +import com.pulumi.aws.s3tables.inputs.TableState; +import com.pulumi.aws.s3tables.outputs.TableMaintenanceConfiguration; +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 Amazon S3 Tables 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.s3tables.TableBucket;
+ * import com.pulumi.aws.s3tables.TableBucketArgs;
+ * import com.pulumi.aws.s3tables.Namespace;
+ * import com.pulumi.aws.s3tables.NamespaceArgs;
+ * import com.pulumi.aws.s3tables.Table;
+ * import com.pulumi.aws.s3tables.TableArgs;
+ * import java.util.List;
+ * import java.util.ArrayList;
+ * import java.util.Map;
+ * import java.io.File;
+ * import java.nio.file.Files;
+ * 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 exampleTableBucket = new TableBucket("exampleTableBucket", TableBucketArgs.builder()
+ *             .name("example-bucket")
+ *             .build());
+ * 
+ *         var exampleNamespace = new Namespace("exampleNamespace", NamespaceArgs.builder()
+ *             .namespace("example-namespace")
+ *             .tableBucketArn(exampleTableBucket.arn())
+ *             .build());
+ * 
+ *         var example = new Table("example", TableArgs.builder()
+ *             .name("example-table")
+ *             .namespace(exampleNamespace)
+ *             .tableBucketArn(exampleNamespace.tableBucketArn())
+ *             .format("ICEBERG")
+ *             .build());
+ * 
+ *     }
+ * }
+ * }
+ * 
+ * <!--End PulumiCodeChooser --> + * + * ## Import + * + * Using `pulumi import`, import S3 Tables Table using the `table_bucket_arn`, the value of `namespace`, and the value of `name`, separated by a semicolon (`;`). For example: + * + * ```sh + * $ pulumi import aws:s3tables/table:Table example 'arn:aws:s3tables:us-west-2:123456789012:bucket/example-bucket;example-namespace;example-table' + * ``` + * + */ +@ResourceType(type="aws:s3tables/table:Table") +public class Table extends com.pulumi.resources.CustomResource { + /** + * ARN of the table. + * + */ + @Export(name="arn", refs={String.class}, tree="[0]") + private Output arn; + + /** + * @return ARN of the table. + * + */ + public Output arn() { + return this.arn; + } + /** + * Date and time when the namespace was created. + * + */ + @Export(name="createdAt", refs={String.class}, tree="[0]") + private Output createdAt; + + /** + * @return Date and time when the namespace was created. + * + */ + public Output createdAt() { + return this.createdAt; + } + /** + * Account ID of the account that created the namespace. + * + */ + @Export(name="createdBy", refs={String.class}, tree="[0]") + private Output createdBy; + + /** + * @return Account ID of the account that created the namespace. + * + */ + public Output createdBy() { + return this.createdBy; + } + /** + * Format of the table. + * Must be `ICEBERG`. + * + */ + @Export(name="format", refs={String.class}, tree="[0]") + private Output format; + + /** + * @return Format of the table. + * Must be `ICEBERG`. + * + */ + public Output format() { + return this.format; + } + /** + * A single table bucket maintenance configuration block. + * See `maintenance_configuration` below + * + */ + @Export(name="maintenanceConfiguration", refs={TableMaintenanceConfiguration.class}, tree="[0]") + private Output maintenanceConfiguration; + + /** + * @return A single table bucket maintenance configuration block. + * See `maintenance_configuration` below + * + */ + public Output maintenanceConfiguration() { + return this.maintenanceConfiguration; + } + /** + * Location of table metadata. + * + */ + @Export(name="metadataLocation", refs={String.class}, tree="[0]") + private Output metadataLocation; + + /** + * @return Location of table metadata. + * + */ + public Output metadataLocation() { + return this.metadataLocation; + } + /** + * Date and time when the namespace was last modified. + * + */ + @Export(name="modifiedAt", refs={String.class}, tree="[0]") + private Output modifiedAt; + + /** + * @return Date and time when the namespace was last modified. + * + */ + public Output modifiedAt() { + return this.modifiedAt; + } + /** + * Account ID of the account that last modified the namespace. + * + */ + @Export(name="modifiedBy", refs={String.class}, tree="[0]") + private Output modifiedBy; + + /** + * @return Account ID of the account that last modified the namespace. + * + */ + public Output modifiedBy() { + return this.modifiedBy; + } + /** + * Name of the table. + * Must be between 1 and 255 characters in length. + * Can consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number. + * + */ + @Export(name="name", refs={String.class}, tree="[0]") + private Output name; + + /** + * @return Name of the table. + * Must be between 1 and 255 characters in length. + * Can consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number. + * + */ + public Output name() { + return this.name; + } + /** + * Name of the namespace for this table. + * Must be between 1 and 255 characters in length. + * Can consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number. + * + */ + @Export(name="namespace", refs={String.class}, tree="[0]") + private Output namespace; + + /** + * @return Name of the namespace for this table. + * Must be between 1 and 255 characters in length. + * Can consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number. + * + */ + public Output namespace() { + return this.namespace; + } + /** + * Account ID of the account that owns the namespace. + * + */ + @Export(name="ownerAccountId", refs={String.class}, tree="[0]") + private Output ownerAccountId; + + /** + * @return Account ID of the account that owns the namespace. + * + */ + public Output ownerAccountId() { + return this.ownerAccountId; + } + /** + * ARN referencing the Table Bucket that contains this Namespace. + * + * The following argument is optional: + * + */ + @Export(name="tableBucketArn", refs={String.class}, tree="[0]") + private Output tableBucketArn; + + /** + * @return ARN referencing the Table Bucket that contains this Namespace. + * + * The following argument is optional: + * + */ + public Output tableBucketArn() { + return this.tableBucketArn; + } + /** + * Type of the table. + * One of `customer` or `aws`. + * + */ + @Export(name="type", refs={String.class}, tree="[0]") + private Output type; + + /** + * @return Type of the table. + * One of `customer` or `aws`. + * + */ + public Output type() { + return this.type; + } + /** + * Identifier for the current version of table data. + * + */ + @Export(name="versionToken", refs={String.class}, tree="[0]") + private Output versionToken; + + /** + * @return Identifier for the current version of table data. + * + */ + public Output versionToken() { + return this.versionToken; + } + /** + * S3 URI pointing to the S3 Bucket that contains the table data. + * + */ + @Export(name="warehouseLocation", refs={String.class}, tree="[0]") + private Output warehouseLocation; + + /** + * @return S3 URI pointing to the S3 Bucket that contains the table data. + * + */ + public Output warehouseLocation() { + return this.warehouseLocation; + } + + /** + * + * @param name The _unique_ name of the resulting resource. + */ + public Table(java.lang.String name) { + this(name, TableArgs.Empty); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + */ + public Table(java.lang.String name, TableArgs 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 Table(java.lang.String name, TableArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("aws:s3tables/table:Table", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false); + } + + private Table(java.lang.String name, Output id, @Nullable TableState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("aws:s3tables/table:Table", name, state, makeResourceOptions(options, id), false); + } + + private static TableArgs makeArgs(TableArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + if (options != null && options.getUrn().isPresent()) { + return null; + } + return args == null ? TableArgs.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 Table get(java.lang.String name, Output id, @Nullable TableState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + return new Table(name, id, state, options); + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/s3tables/TableArgs.java b/sdk/java/src/main/java/com/pulumi/aws/s3tables/TableArgs.java new file mode 100644 index 00000000000..ae3990af721 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/s3tables/TableArgs.java @@ -0,0 +1,274 @@ +// *** 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.s3tables; + +import com.pulumi.aws.s3tables.inputs.TableMaintenanceConfigurationArgs; +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 TableArgs extends com.pulumi.resources.ResourceArgs { + + public static final TableArgs Empty = new TableArgs(); + + /** + * Format of the table. + * Must be `ICEBERG`. + * + */ + @Import(name="format", required=true) + private Output format; + + /** + * @return Format of the table. + * Must be `ICEBERG`. + * + */ + public Output format() { + return this.format; + } + + /** + * A single table bucket maintenance configuration block. + * See `maintenance_configuration` below + * + */ + @Import(name="maintenanceConfiguration") + private @Nullable Output maintenanceConfiguration; + + /** + * @return A single table bucket maintenance configuration block. + * See `maintenance_configuration` below + * + */ + public Optional> maintenanceConfiguration() { + return Optional.ofNullable(this.maintenanceConfiguration); + } + + /** + * Name of the table. + * Must be between 1 and 255 characters in length. + * Can consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number. + * + */ + @Import(name="name") + private @Nullable Output name; + + /** + * @return Name of the table. + * Must be between 1 and 255 characters in length. + * Can consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number. + * + */ + public Optional> name() { + return Optional.ofNullable(this.name); + } + + /** + * Name of the namespace for this table. + * Must be between 1 and 255 characters in length. + * Can consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number. + * + */ + @Import(name="namespace", required=true) + private Output namespace; + + /** + * @return Name of the namespace for this table. + * Must be between 1 and 255 characters in length. + * Can consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number. + * + */ + public Output namespace() { + return this.namespace; + } + + /** + * ARN referencing the Table Bucket that contains this Namespace. + * + * The following argument is optional: + * + */ + @Import(name="tableBucketArn", required=true) + private Output tableBucketArn; + + /** + * @return ARN referencing the Table Bucket that contains this Namespace. + * + * The following argument is optional: + * + */ + public Output tableBucketArn() { + return this.tableBucketArn; + } + + private TableArgs() {} + + private TableArgs(TableArgs $) { + this.format = $.format; + this.maintenanceConfiguration = $.maintenanceConfiguration; + this.name = $.name; + this.namespace = $.namespace; + this.tableBucketArn = $.tableBucketArn; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(TableArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private TableArgs $; + + public Builder() { + $ = new TableArgs(); + } + + public Builder(TableArgs defaults) { + $ = new TableArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param format Format of the table. + * Must be `ICEBERG`. + * + * @return builder + * + */ + public Builder format(Output format) { + $.format = format; + return this; + } + + /** + * @param format Format of the table. + * Must be `ICEBERG`. + * + * @return builder + * + */ + public Builder format(String format) { + return format(Output.of(format)); + } + + /** + * @param maintenanceConfiguration A single table bucket maintenance configuration block. + * See `maintenance_configuration` below + * + * @return builder + * + */ + public Builder maintenanceConfiguration(@Nullable Output maintenanceConfiguration) { + $.maintenanceConfiguration = maintenanceConfiguration; + return this; + } + + /** + * @param maintenanceConfiguration A single table bucket maintenance configuration block. + * See `maintenance_configuration` below + * + * @return builder + * + */ + public Builder maintenanceConfiguration(TableMaintenanceConfigurationArgs maintenanceConfiguration) { + return maintenanceConfiguration(Output.of(maintenanceConfiguration)); + } + + /** + * @param name Name of the table. + * Must be between 1 and 255 characters in length. + * Can consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number. + * + * @return builder + * + */ + public Builder name(@Nullable Output name) { + $.name = name; + return this; + } + + /** + * @param name Name of the table. + * Must be between 1 and 255 characters in length. + * Can consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number. + * + * @return builder + * + */ + public Builder name(String name) { + return name(Output.of(name)); + } + + /** + * @param namespace Name of the namespace for this table. + * Must be between 1 and 255 characters in length. + * Can consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number. + * + * @return builder + * + */ + public Builder namespace(Output namespace) { + $.namespace = namespace; + return this; + } + + /** + * @param namespace Name of the namespace for this table. + * Must be between 1 and 255 characters in length. + * Can consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number. + * + * @return builder + * + */ + public Builder namespace(String namespace) { + return namespace(Output.of(namespace)); + } + + /** + * @param tableBucketArn ARN referencing the Table Bucket that contains this Namespace. + * + * The following argument is optional: + * + * @return builder + * + */ + public Builder tableBucketArn(Output tableBucketArn) { + $.tableBucketArn = tableBucketArn; + return this; + } + + /** + * @param tableBucketArn ARN referencing the Table Bucket that contains this Namespace. + * + * The following argument is optional: + * + * @return builder + * + */ + public Builder tableBucketArn(String tableBucketArn) { + return tableBucketArn(Output.of(tableBucketArn)); + } + + public TableArgs build() { + if ($.format == null) { + throw new MissingRequiredPropertyException("TableArgs", "format"); + } + if ($.namespace == null) { + throw new MissingRequiredPropertyException("TableArgs", "namespace"); + } + if ($.tableBucketArn == null) { + throw new MissingRequiredPropertyException("TableArgs", "tableBucketArn"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/s3tables/TableBucket.java b/sdk/java/src/main/java/com/pulumi/aws/s3tables/TableBucket.java new file mode 100644 index 00000000000..81bcef10fd1 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/s3tables/TableBucket.java @@ -0,0 +1,206 @@ +// *** 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.s3tables; + +import com.pulumi.aws.Utilities; +import com.pulumi.aws.s3tables.TableBucketArgs; +import com.pulumi.aws.s3tables.inputs.TableBucketState; +import com.pulumi.aws.s3tables.outputs.TableBucketMaintenanceConfiguration; +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 Amazon S3 Tables Table Bucket. + * + * ## 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.s3tables.TableBucket;
+ * import com.pulumi.aws.s3tables.TableBucketArgs;
+ * import java.util.List;
+ * import java.util.ArrayList;
+ * import java.util.Map;
+ * import java.io.File;
+ * import java.nio.file.Files;
+ * 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 TableBucket("example", TableBucketArgs.builder()
+ *             .name("example-bucket")
+ *             .build());
+ * 
+ *     }
+ * }
+ * }
+ * 
+ * <!--End PulumiCodeChooser --> + * + * ## Import + * + * Using `pulumi import`, import S3 Tables Table Bucket using the `arn`. For example: + * + * ```sh + * $ pulumi import aws:s3tables/tableBucket:TableBucket example arn:aws:s3tables:us-west-2:123456789012:bucket/example-bucket + * ``` + * + */ +@ResourceType(type="aws:s3tables/tableBucket:TableBucket") +public class TableBucket extends com.pulumi.resources.CustomResource { + /** + * ARN of the table bucket. + * + */ + @Export(name="arn", refs={String.class}, tree="[0]") + private Output arn; + + /** + * @return ARN of the table bucket. + * + */ + public Output arn() { + return this.arn; + } + /** + * Date and time when the bucket was created. + * + */ + @Export(name="createdAt", refs={String.class}, tree="[0]") + private Output createdAt; + + /** + * @return Date and time when the bucket was created. + * + */ + public Output createdAt() { + return this.createdAt; + } + /** + * A single table bucket maintenance configuration block. + * See `maintenance_configuration` below + * + */ + @Export(name="maintenanceConfiguration", refs={TableBucketMaintenanceConfiguration.class}, tree="[0]") + private Output maintenanceConfiguration; + + /** + * @return A single table bucket maintenance configuration block. + * See `maintenance_configuration` below + * + */ + public Output maintenanceConfiguration() { + return this.maintenanceConfiguration; + } + /** + * Name of the table bucket. + * Must be between 3 and 63 characters in length. + * Can consist of lowercase letters, numbers, and hyphens, and must begin and end with a lowercase letter or number. + * A full list of bucket naming rules may be found in S3 Tables documentation. + * + * The following argument is optional: + * + */ + @Export(name="name", refs={String.class}, tree="[0]") + private Output name; + + /** + * @return Name of the table bucket. + * Must be between 3 and 63 characters in length. + * Can consist of lowercase letters, numbers, and hyphens, and must begin and end with a lowercase letter or number. + * A full list of bucket naming rules may be found in S3 Tables documentation. + * + * The following argument is optional: + * + */ + public Output name() { + return this.name; + } + /** + * Account ID of the account that owns the table bucket. + * + */ + @Export(name="ownerAccountId", refs={String.class}, tree="[0]") + private Output ownerAccountId; + + /** + * @return Account ID of the account that owns the table bucket. + * + */ + public Output ownerAccountId() { + return this.ownerAccountId; + } + + /** + * + * @param name The _unique_ name of the resulting resource. + */ + public TableBucket(java.lang.String name) { + this(name, TableBucketArgs.Empty); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + */ + public TableBucket(java.lang.String name, @Nullable TableBucketArgs 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 TableBucket(java.lang.String name, @Nullable TableBucketArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("aws:s3tables/tableBucket:TableBucket", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false); + } + + private TableBucket(java.lang.String name, Output id, @Nullable TableBucketState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("aws:s3tables/tableBucket:TableBucket", name, state, makeResourceOptions(options, id), false); + } + + private static TableBucketArgs makeArgs(@Nullable TableBucketArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + if (options != null && options.getUrn().isPresent()) { + return null; + } + return args == null ? TableBucketArgs.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 TableBucket get(java.lang.String name, Output id, @Nullable TableBucketState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + return new TableBucket(name, id, state, options); + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/s3tables/TableBucketArgs.java b/sdk/java/src/main/java/com/pulumi/aws/s3tables/TableBucketArgs.java new file mode 100644 index 00000000000..d92f69c5832 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/s3tables/TableBucketArgs.java @@ -0,0 +1,145 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.s3tables; + +import com.pulumi.aws.s3tables.inputs.TableBucketMaintenanceConfigurationArgs; +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 TableBucketArgs extends com.pulumi.resources.ResourceArgs { + + public static final TableBucketArgs Empty = new TableBucketArgs(); + + /** + * A single table bucket maintenance configuration block. + * See `maintenance_configuration` below + * + */ + @Import(name="maintenanceConfiguration") + private @Nullable Output maintenanceConfiguration; + + /** + * @return A single table bucket maintenance configuration block. + * See `maintenance_configuration` below + * + */ + public Optional> maintenanceConfiguration() { + return Optional.ofNullable(this.maintenanceConfiguration); + } + + /** + * Name of the table bucket. + * Must be between 3 and 63 characters in length. + * Can consist of lowercase letters, numbers, and hyphens, and must begin and end with a lowercase letter or number. + * A full list of bucket naming rules may be found in S3 Tables documentation. + * + * The following argument is optional: + * + */ + @Import(name="name") + private @Nullable Output name; + + /** + * @return Name of the table bucket. + * Must be between 3 and 63 characters in length. + * Can consist of lowercase letters, numbers, and hyphens, and must begin and end with a lowercase letter or number. + * A full list of bucket naming rules may be found in S3 Tables documentation. + * + * The following argument is optional: + * + */ + public Optional> name() { + return Optional.ofNullable(this.name); + } + + private TableBucketArgs() {} + + private TableBucketArgs(TableBucketArgs $) { + this.maintenanceConfiguration = $.maintenanceConfiguration; + this.name = $.name; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(TableBucketArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private TableBucketArgs $; + + public Builder() { + $ = new TableBucketArgs(); + } + + public Builder(TableBucketArgs defaults) { + $ = new TableBucketArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param maintenanceConfiguration A single table bucket maintenance configuration block. + * See `maintenance_configuration` below + * + * @return builder + * + */ + public Builder maintenanceConfiguration(@Nullable Output maintenanceConfiguration) { + $.maintenanceConfiguration = maintenanceConfiguration; + return this; + } + + /** + * @param maintenanceConfiguration A single table bucket maintenance configuration block. + * See `maintenance_configuration` below + * + * @return builder + * + */ + public Builder maintenanceConfiguration(TableBucketMaintenanceConfigurationArgs maintenanceConfiguration) { + return maintenanceConfiguration(Output.of(maintenanceConfiguration)); + } + + /** + * @param name Name of the table bucket. + * Must be between 3 and 63 characters in length. + * Can consist of lowercase letters, numbers, and hyphens, and must begin and end with a lowercase letter or number. + * A full list of bucket naming rules may be found in S3 Tables documentation. + * + * The following argument is optional: + * + * @return builder + * + */ + public Builder name(@Nullable Output name) { + $.name = name; + return this; + } + + /** + * @param name Name of the table bucket. + * Must be between 3 and 63 characters in length. + * Can consist of lowercase letters, numbers, and hyphens, and must begin and end with a lowercase letter or number. + * A full list of bucket naming rules may be found in S3 Tables documentation. + * + * The following argument is optional: + * + * @return builder + * + */ + public Builder name(String name) { + return name(Output.of(name)); + } + + public TableBucketArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/s3tables/TableBucketPolicy.java b/sdk/java/src/main/java/com/pulumi/aws/s3tables/TableBucketPolicy.java new file mode 100644 index 00000000000..ebb00f31d3e --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/s3tables/TableBucketPolicy.java @@ -0,0 +1,164 @@ +// *** 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.s3tables; + +import com.pulumi.aws.Utilities; +import com.pulumi.aws.s3tables.TableBucketPolicyArgs; +import com.pulumi.aws.s3tables.inputs.TableBucketPolicyState; +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 Amazon S3 Tables Table Bucket 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.iam.IamFunctions;
+ * import com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;
+ * import com.pulumi.aws.s3tables.TableBucketPolicy;
+ * import com.pulumi.aws.s3tables.TableBucketPolicyArgs;
+ * import com.pulumi.aws.s3tables.TableBucket;
+ * import com.pulumi.aws.s3tables.TableBucketArgs;
+ * import java.util.List;
+ * import java.util.ArrayList;
+ * import java.util.Map;
+ * import java.io.File;
+ * import java.nio.file.Files;
+ * import java.nio.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.getPolicyDocument(GetPolicyDocumentArgs.builder()
+ *             .statements()
+ *             .build());
+ * 
+ *         var exampleTableBucketPolicy = new TableBucketPolicy("exampleTableBucketPolicy", TableBucketPolicyArgs.builder()
+ *             .resourcePolicy(example.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json()))
+ *             .tableBucketArn(exampleAwsS3tablesTableBucket.arn())
+ *             .build());
+ * 
+ *         var test = new TableBucket("test", TableBucketArgs.builder()
+ *             .name("example-bucket")
+ *             .build());
+ * 
+ *     }
+ * }
+ * }
+ * 
+ * <!--End PulumiCodeChooser --> + * + * ## Import + * + * Using `pulumi import`, import S3 Tables Table Bucket Policy using the `table_bucket_arn`. For example: + * + * ```sh + * $ pulumi import aws:s3tables/tableBucketPolicy:TableBucketPolicy example 'arn:aws:s3tables:us-west-2:123456789012:bucket/example-bucket;example-namespace' + * ``` + * + */ +@ResourceType(type="aws:s3tables/tableBucketPolicy:TableBucketPolicy") +public class TableBucketPolicy extends com.pulumi.resources.CustomResource { + /** + * Amazon Web Services resource-based policy document in JSON format. + * + */ + @Export(name="resourcePolicy", refs={String.class}, tree="[0]") + private Output resourcePolicy; + + /** + * @return Amazon Web Services resource-based policy document in JSON format. + * + */ + public Output resourcePolicy() { + return this.resourcePolicy; + } + /** + * ARN referencing the Table Bucket that owns this policy. + * + */ + @Export(name="tableBucketArn", refs={String.class}, tree="[0]") + private Output tableBucketArn; + + /** + * @return ARN referencing the Table Bucket that owns this policy. + * + */ + public Output tableBucketArn() { + return this.tableBucketArn; + } + + /** + * + * @param name The _unique_ name of the resulting resource. + */ + public TableBucketPolicy(java.lang.String name) { + this(name, TableBucketPolicyArgs.Empty); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + */ + public TableBucketPolicy(java.lang.String name, TableBucketPolicyArgs 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 TableBucketPolicy(java.lang.String name, TableBucketPolicyArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("aws:s3tables/tableBucketPolicy:TableBucketPolicy", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false); + } + + private TableBucketPolicy(java.lang.String name, Output id, @Nullable TableBucketPolicyState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("aws:s3tables/tableBucketPolicy:TableBucketPolicy", name, state, makeResourceOptions(options, id), false); + } + + private static TableBucketPolicyArgs makeArgs(TableBucketPolicyArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + if (options != null && options.getUrn().isPresent()) { + return null; + } + return args == null ? TableBucketPolicyArgs.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 TableBucketPolicy get(java.lang.String name, Output id, @Nullable TableBucketPolicyState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + return new TableBucketPolicy(name, id, state, options); + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/s3tables/TableBucketPolicyArgs.java b/sdk/java/src/main/java/com/pulumi/aws/s3tables/TableBucketPolicyArgs.java new file mode 100644 index 00000000000..10a31adb721 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/s3tables/TableBucketPolicyArgs.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.s3tables; + +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 TableBucketPolicyArgs extends com.pulumi.resources.ResourceArgs { + + public static final TableBucketPolicyArgs Empty = new TableBucketPolicyArgs(); + + /** + * Amazon Web Services resource-based policy document in JSON format. + * + */ + @Import(name="resourcePolicy", required=true) + private Output resourcePolicy; + + /** + * @return Amazon Web Services resource-based policy document in JSON format. + * + */ + public Output resourcePolicy() { + return this.resourcePolicy; + } + + /** + * ARN referencing the Table Bucket that owns this policy. + * + */ + @Import(name="tableBucketArn", required=true) + private Output tableBucketArn; + + /** + * @return ARN referencing the Table Bucket that owns this policy. + * + */ + public Output tableBucketArn() { + return this.tableBucketArn; + } + + private TableBucketPolicyArgs() {} + + private TableBucketPolicyArgs(TableBucketPolicyArgs $) { + this.resourcePolicy = $.resourcePolicy; + this.tableBucketArn = $.tableBucketArn; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(TableBucketPolicyArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private TableBucketPolicyArgs $; + + public Builder() { + $ = new TableBucketPolicyArgs(); + } + + public Builder(TableBucketPolicyArgs defaults) { + $ = new TableBucketPolicyArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param resourcePolicy Amazon Web Services resource-based policy document in JSON format. + * + * @return builder + * + */ + public Builder resourcePolicy(Output resourcePolicy) { + $.resourcePolicy = resourcePolicy; + return this; + } + + /** + * @param resourcePolicy Amazon Web Services resource-based policy document in JSON format. + * + * @return builder + * + */ + public Builder resourcePolicy(String resourcePolicy) { + return resourcePolicy(Output.of(resourcePolicy)); + } + + /** + * @param tableBucketArn ARN referencing the Table Bucket that owns this policy. + * + * @return builder + * + */ + public Builder tableBucketArn(Output tableBucketArn) { + $.tableBucketArn = tableBucketArn; + return this; + } + + /** + * @param tableBucketArn ARN referencing the Table Bucket that owns this policy. + * + * @return builder + * + */ + public Builder tableBucketArn(String tableBucketArn) { + return tableBucketArn(Output.of(tableBucketArn)); + } + + public TableBucketPolicyArgs build() { + if ($.resourcePolicy == null) { + throw new MissingRequiredPropertyException("TableBucketPolicyArgs", "resourcePolicy"); + } + if ($.tableBucketArn == null) { + throw new MissingRequiredPropertyException("TableBucketPolicyArgs", "tableBucketArn"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/s3tables/TablePolicy.java b/sdk/java/src/main/java/com/pulumi/aws/s3tables/TablePolicy.java new file mode 100644 index 00000000000..85dbf27fa06 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/s3tables/TablePolicy.java @@ -0,0 +1,218 @@ +// *** 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.s3tables; + +import com.pulumi.aws.Utilities; +import com.pulumi.aws.s3tables.TablePolicyArgs; +import com.pulumi.aws.s3tables.inputs.TablePolicyState; +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 Amazon S3 Tables Table 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.iam.IamFunctions;
+ * import com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;
+ * import com.pulumi.aws.s3tables.TablePolicy;
+ * import com.pulumi.aws.s3tables.TablePolicyArgs;
+ * import com.pulumi.aws.s3tables.TableBucket;
+ * import com.pulumi.aws.s3tables.TableBucketArgs;
+ * import com.pulumi.aws.s3tables.Namespace;
+ * import com.pulumi.aws.s3tables.NamespaceArgs;
+ * import com.pulumi.aws.s3tables.Table;
+ * import com.pulumi.aws.s3tables.TableArgs;
+ * import java.util.List;
+ * import java.util.ArrayList;
+ * import java.util.Map;
+ * import java.io.File;
+ * import java.nio.file.Files;
+ * import java.nio.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.getPolicyDocument(GetPolicyDocumentArgs.builder()
+ *             .statements()
+ *             .build());
+ * 
+ *         var exampleTablePolicy = new TablePolicy("exampleTablePolicy", TablePolicyArgs.builder()
+ *             .resourcePolicy(example.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json()))
+ *             .name(test.name())
+ *             .namespace(test.namespace())
+ *             .tableBucketArn(test.tableBucketArn())
+ *             .build());
+ * 
+ *         var exampleTableBucket = new TableBucket("exampleTableBucket", TableBucketArgs.builder()
+ *             .name("example-bucket")
+ *             .build());
+ * 
+ *         var exampleNamespace = new Namespace("exampleNamespace", NamespaceArgs.builder()
+ *             .namespace("example-namespace")
+ *             .tableBucketArn(exampleTableBucket.arn())
+ *             .build());
+ * 
+ *         var exampleTable = new Table("exampleTable", TableArgs.builder()
+ *             .name("example-table")
+ *             .namespace(exampleNamespace)
+ *             .tableBucketArn(exampleNamespace.tableBucketArn())
+ *             .format("ICEBERG")
+ *             .build());
+ * 
+ *     }
+ * }
+ * }
+ * 
+ * <!--End PulumiCodeChooser --> + * + * ## Import + * + * Using `pulumi import`, import S3 Tables Table Policy using the `table_bucket_arn`, the value of `namespace`, and the value of `name`, separated by a semicolon (`;`). For example: + * + * ```sh + * $ pulumi import aws:s3tables/tablePolicy:TablePolicy example 'arn:aws:s3tables:us-west-2:123456789012:bucket/example-bucket;example-namespace;example-table' + * ``` + * + */ +@ResourceType(type="aws:s3tables/tablePolicy:TablePolicy") +public class TablePolicy extends com.pulumi.resources.CustomResource { + /** + * Name of the table. + * Must be between 1 and 255 characters in length. + * Can consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number. + * + */ + @Export(name="name", refs={String.class}, tree="[0]") + private Output name; + + /** + * @return Name of the table. + * Must be between 1 and 255 characters in length. + * Can consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number. + * + */ + public Output name() { + return this.name; + } + /** + * Name of the namespace for this table. + * Must be between 1 and 255 characters in length. + * Can consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number. + * + */ + @Export(name="namespace", refs={String.class}, tree="[0]") + private Output namespace; + + /** + * @return Name of the namespace for this table. + * Must be between 1 and 255 characters in length. + * Can consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number. + * + */ + public Output namespace() { + return this.namespace; + } + /** + * Amazon Web Services resource-based policy document in JSON format. + * + */ + @Export(name="resourcePolicy", refs={String.class}, tree="[0]") + private Output resourcePolicy; + + /** + * @return Amazon Web Services resource-based policy document in JSON format. + * + */ + public Output resourcePolicy() { + return this.resourcePolicy; + } + /** + * ARN referencing the Table Bucket that contains this Namespace. + * + */ + @Export(name="tableBucketArn", refs={String.class}, tree="[0]") + private Output tableBucketArn; + + /** + * @return ARN referencing the Table Bucket that contains this Namespace. + * + */ + public Output tableBucketArn() { + return this.tableBucketArn; + } + + /** + * + * @param name The _unique_ name of the resulting resource. + */ + public TablePolicy(java.lang.String name) { + this(name, TablePolicyArgs.Empty); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + */ + public TablePolicy(java.lang.String name, TablePolicyArgs 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 TablePolicy(java.lang.String name, TablePolicyArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("aws:s3tables/tablePolicy:TablePolicy", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false); + } + + private TablePolicy(java.lang.String name, Output id, @Nullable TablePolicyState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("aws:s3tables/tablePolicy:TablePolicy", name, state, makeResourceOptions(options, id), false); + } + + private static TablePolicyArgs makeArgs(TablePolicyArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + if (options != null && options.getUrn().isPresent()) { + return null; + } + return args == null ? TablePolicyArgs.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 TablePolicy get(java.lang.String name, Output id, @Nullable TablePolicyState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + return new TablePolicy(name, id, state, options); + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/s3tables/TablePolicyArgs.java b/sdk/java/src/main/java/com/pulumi/aws/s3tables/TablePolicyArgs.java new file mode 100644 index 00000000000..9197f15ebb9 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/s3tables/TablePolicyArgs.java @@ -0,0 +1,220 @@ +// *** 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.s3tables; + +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 TablePolicyArgs extends com.pulumi.resources.ResourceArgs { + + public static final TablePolicyArgs Empty = new TablePolicyArgs(); + + /** + * Name of the table. + * Must be between 1 and 255 characters in length. + * Can consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number. + * + */ + @Import(name="name") + private @Nullable Output name; + + /** + * @return Name of the table. + * Must be between 1 and 255 characters in length. + * Can consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number. + * + */ + public Optional> name() { + return Optional.ofNullable(this.name); + } + + /** + * Name of the namespace for this table. + * Must be between 1 and 255 characters in length. + * Can consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number. + * + */ + @Import(name="namespace", required=true) + private Output namespace; + + /** + * @return Name of the namespace for this table. + * Must be between 1 and 255 characters in length. + * Can consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number. + * + */ + public Output namespace() { + return this.namespace; + } + + /** + * Amazon Web Services resource-based policy document in JSON format. + * + */ + @Import(name="resourcePolicy", required=true) + private Output resourcePolicy; + + /** + * @return Amazon Web Services resource-based policy document in JSON format. + * + */ + public Output resourcePolicy() { + return this.resourcePolicy; + } + + /** + * ARN referencing the Table Bucket that contains this Namespace. + * + */ + @Import(name="tableBucketArn", required=true) + private Output tableBucketArn; + + /** + * @return ARN referencing the Table Bucket that contains this Namespace. + * + */ + public Output tableBucketArn() { + return this.tableBucketArn; + } + + private TablePolicyArgs() {} + + private TablePolicyArgs(TablePolicyArgs $) { + this.name = $.name; + this.namespace = $.namespace; + this.resourcePolicy = $.resourcePolicy; + this.tableBucketArn = $.tableBucketArn; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(TablePolicyArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private TablePolicyArgs $; + + public Builder() { + $ = new TablePolicyArgs(); + } + + public Builder(TablePolicyArgs defaults) { + $ = new TablePolicyArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param name Name of the table. + * Must be between 1 and 255 characters in length. + * Can consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number. + * + * @return builder + * + */ + public Builder name(@Nullable Output name) { + $.name = name; + return this; + } + + /** + * @param name Name of the table. + * Must be between 1 and 255 characters in length. + * Can consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number. + * + * @return builder + * + */ + public Builder name(String name) { + return name(Output.of(name)); + } + + /** + * @param namespace Name of the namespace for this table. + * Must be between 1 and 255 characters in length. + * Can consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number. + * + * @return builder + * + */ + public Builder namespace(Output namespace) { + $.namespace = namespace; + return this; + } + + /** + * @param namespace Name of the namespace for this table. + * Must be between 1 and 255 characters in length. + * Can consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number. + * + * @return builder + * + */ + public Builder namespace(String namespace) { + return namespace(Output.of(namespace)); + } + + /** + * @param resourcePolicy Amazon Web Services resource-based policy document in JSON format. + * + * @return builder + * + */ + public Builder resourcePolicy(Output resourcePolicy) { + $.resourcePolicy = resourcePolicy; + return this; + } + + /** + * @param resourcePolicy Amazon Web Services resource-based policy document in JSON format. + * + * @return builder + * + */ + public Builder resourcePolicy(String resourcePolicy) { + return resourcePolicy(Output.of(resourcePolicy)); + } + + /** + * @param tableBucketArn ARN referencing the Table Bucket that contains this Namespace. + * + * @return builder + * + */ + public Builder tableBucketArn(Output tableBucketArn) { + $.tableBucketArn = tableBucketArn; + return this; + } + + /** + * @param tableBucketArn ARN referencing the Table Bucket that contains this Namespace. + * + * @return builder + * + */ + public Builder tableBucketArn(String tableBucketArn) { + return tableBucketArn(Output.of(tableBucketArn)); + } + + public TablePolicyArgs build() { + if ($.namespace == null) { + throw new MissingRequiredPropertyException("TablePolicyArgs", "namespace"); + } + if ($.resourcePolicy == null) { + throw new MissingRequiredPropertyException("TablePolicyArgs", "resourcePolicy"); + } + if ($.tableBucketArn == null) { + throw new MissingRequiredPropertyException("TablePolicyArgs", "tableBucketArn"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/s3tables/inputs/NamespaceState.java b/sdk/java/src/main/java/com/pulumi/aws/s3tables/inputs/NamespaceState.java new file mode 100644 index 00000000000..fe402f846f0 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/s3tables/inputs/NamespaceState.java @@ -0,0 +1,239 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.s3tables.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 NamespaceState extends com.pulumi.resources.ResourceArgs { + + public static final NamespaceState Empty = new NamespaceState(); + + /** + * Date and time when the namespace was created. + * + */ + @Import(name="createdAt") + private @Nullable Output createdAt; + + /** + * @return Date and time when the namespace was created. + * + */ + public Optional> createdAt() { + return Optional.ofNullable(this.createdAt); + } + + /** + * Account ID of the account that created the namespace. + * + */ + @Import(name="createdBy") + private @Nullable Output createdBy; + + /** + * @return Account ID of the account that created the namespace. + * + */ + public Optional> createdBy() { + return Optional.ofNullable(this.createdBy); + } + + /** + * Name of the namespace. + * Must be between 1 and 255 characters in length. + * Can consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number. + * + */ + @Import(name="namespace") + private @Nullable Output namespace; + + /** + * @return Name of the namespace. + * Must be between 1 and 255 characters in length. + * Can consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number. + * + */ + public Optional> namespace() { + return Optional.ofNullable(this.namespace); + } + + /** + * Account ID of the account that owns the namespace. + * + */ + @Import(name="ownerAccountId") + private @Nullable Output ownerAccountId; + + /** + * @return Account ID of the account that owns the namespace. + * + */ + public Optional> ownerAccountId() { + return Optional.ofNullable(this.ownerAccountId); + } + + /** + * ARN referencing the Table Bucket that contains this Namespace. + * + */ + @Import(name="tableBucketArn") + private @Nullable Output tableBucketArn; + + /** + * @return ARN referencing the Table Bucket that contains this Namespace. + * + */ + public Optional> tableBucketArn() { + return Optional.ofNullable(this.tableBucketArn); + } + + private NamespaceState() {} + + private NamespaceState(NamespaceState $) { + this.createdAt = $.createdAt; + this.createdBy = $.createdBy; + this.namespace = $.namespace; + this.ownerAccountId = $.ownerAccountId; + this.tableBucketArn = $.tableBucketArn; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(NamespaceState defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private NamespaceState $; + + public Builder() { + $ = new NamespaceState(); + } + + public Builder(NamespaceState defaults) { + $ = new NamespaceState(Objects.requireNonNull(defaults)); + } + + /** + * @param createdAt Date and time when the namespace was created. + * + * @return builder + * + */ + public Builder createdAt(@Nullable Output createdAt) { + $.createdAt = createdAt; + return this; + } + + /** + * @param createdAt Date and time when the namespace was created. + * + * @return builder + * + */ + public Builder createdAt(String createdAt) { + return createdAt(Output.of(createdAt)); + } + + /** + * @param createdBy Account ID of the account that created the namespace. + * + * @return builder + * + */ + public Builder createdBy(@Nullable Output createdBy) { + $.createdBy = createdBy; + return this; + } + + /** + * @param createdBy Account ID of the account that created the namespace. + * + * @return builder + * + */ + public Builder createdBy(String createdBy) { + return createdBy(Output.of(createdBy)); + } + + /** + * @param namespace Name of the namespace. + * Must be between 1 and 255 characters in length. + * Can consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number. + * + * @return builder + * + */ + public Builder namespace(@Nullable Output namespace) { + $.namespace = namespace; + return this; + } + + /** + * @param namespace Name of the namespace. + * Must be between 1 and 255 characters in length. + * Can consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number. + * + * @return builder + * + */ + public Builder namespace(String namespace) { + return namespace(Output.of(namespace)); + } + + /** + * @param ownerAccountId Account ID of the account that owns the namespace. + * + * @return builder + * + */ + public Builder ownerAccountId(@Nullable Output ownerAccountId) { + $.ownerAccountId = ownerAccountId; + return this; + } + + /** + * @param ownerAccountId Account ID of the account that owns the namespace. + * + * @return builder + * + */ + public Builder ownerAccountId(String ownerAccountId) { + return ownerAccountId(Output.of(ownerAccountId)); + } + + /** + * @param tableBucketArn ARN referencing the Table Bucket that contains this Namespace. + * + * @return builder + * + */ + public Builder tableBucketArn(@Nullable Output tableBucketArn) { + $.tableBucketArn = tableBucketArn; + return this; + } + + /** + * @param tableBucketArn ARN referencing the Table Bucket that contains this Namespace. + * + * @return builder + * + */ + public Builder tableBucketArn(String tableBucketArn) { + return tableBucketArn(Output.of(tableBucketArn)); + } + + public NamespaceState build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/s3tables/inputs/TableBucketMaintenanceConfigurationArgs.java b/sdk/java/src/main/java/com/pulumi/aws/s3tables/inputs/TableBucketMaintenanceConfigurationArgs.java new file mode 100644 index 00000000000..c8d24079da9 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/s3tables/inputs/TableBucketMaintenanceConfigurationArgs.java @@ -0,0 +1,89 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.s3tables.inputs; + +import com.pulumi.aws.s3tables.inputs.TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.util.Objects; + + +public final class TableBucketMaintenanceConfigurationArgs extends com.pulumi.resources.ResourceArgs { + + public static final TableBucketMaintenanceConfigurationArgs Empty = new TableBucketMaintenanceConfigurationArgs(); + + /** + * A single Iceberg unreferenced file removal settings block. + * See `iceberg_unreferenced_file_removal` below + * + */ + @Import(name="icebergUnreferencedFileRemoval", required=true) + private Output icebergUnreferencedFileRemoval; + + /** + * @return A single Iceberg unreferenced file removal settings block. + * See `iceberg_unreferenced_file_removal` below + * + */ + public Output icebergUnreferencedFileRemoval() { + return this.icebergUnreferencedFileRemoval; + } + + private TableBucketMaintenanceConfigurationArgs() {} + + private TableBucketMaintenanceConfigurationArgs(TableBucketMaintenanceConfigurationArgs $) { + this.icebergUnreferencedFileRemoval = $.icebergUnreferencedFileRemoval; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(TableBucketMaintenanceConfigurationArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private TableBucketMaintenanceConfigurationArgs $; + + public Builder() { + $ = new TableBucketMaintenanceConfigurationArgs(); + } + + public Builder(TableBucketMaintenanceConfigurationArgs defaults) { + $ = new TableBucketMaintenanceConfigurationArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param icebergUnreferencedFileRemoval A single Iceberg unreferenced file removal settings block. + * See `iceberg_unreferenced_file_removal` below + * + * @return builder + * + */ + public Builder icebergUnreferencedFileRemoval(Output icebergUnreferencedFileRemoval) { + $.icebergUnreferencedFileRemoval = icebergUnreferencedFileRemoval; + return this; + } + + /** + * @param icebergUnreferencedFileRemoval A single Iceberg unreferenced file removal settings block. + * See `iceberg_unreferenced_file_removal` below + * + * @return builder + * + */ + public Builder icebergUnreferencedFileRemoval(TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalArgs icebergUnreferencedFileRemoval) { + return icebergUnreferencedFileRemoval(Output.of(icebergUnreferencedFileRemoval)); + } + + public TableBucketMaintenanceConfigurationArgs build() { + if ($.icebergUnreferencedFileRemoval == null) { + throw new MissingRequiredPropertyException("TableBucketMaintenanceConfigurationArgs", "icebergUnreferencedFileRemoval"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/s3tables/inputs/TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalArgs.java b/sdk/java/src/main/java/com/pulumi/aws/s3tables/inputs/TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalArgs.java new file mode 100644 index 00000000000..d218102dbbc --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/s3tables/inputs/TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalArgs.java @@ -0,0 +1,134 @@ +// *** 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.s3tables.inputs; + +import com.pulumi.aws.s3tables.inputs.TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettingsArgs; +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 TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalArgs extends com.pulumi.resources.ResourceArgs { + + public static final TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalArgs Empty = new TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalArgs(); + + /** + * Settings for unreferenced file removal. + * See `iceberg_unreferenced_file_removal.settings` below + * + */ + @Import(name="settings", required=true) + private Output settings; + + /** + * @return Settings for unreferenced file removal. + * See `iceberg_unreferenced_file_removal.settings` below + * + */ + public Output settings() { + return this.settings; + } + + /** + * Whether the configuration is enabled. + * Valid values are `enabled` and `disabled`. + * + */ + @Import(name="status", required=true) + private Output status; + + /** + * @return Whether the configuration is enabled. + * Valid values are `enabled` and `disabled`. + * + */ + public Output status() { + return this.status; + } + + private TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalArgs() {} + + private TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalArgs(TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalArgs $) { + this.settings = $.settings; + this.status = $.status; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalArgs $; + + public Builder() { + $ = new TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalArgs(); + } + + public Builder(TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalArgs defaults) { + $ = new TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param settings Settings for unreferenced file removal. + * See `iceberg_unreferenced_file_removal.settings` below + * + * @return builder + * + */ + public Builder settings(Output settings) { + $.settings = settings; + return this; + } + + /** + * @param settings Settings for unreferenced file removal. + * See `iceberg_unreferenced_file_removal.settings` below + * + * @return builder + * + */ + public Builder settings(TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettingsArgs settings) { + return settings(Output.of(settings)); + } + + /** + * @param status Whether the configuration is enabled. + * Valid values are `enabled` and `disabled`. + * + * @return builder + * + */ + public Builder status(Output status) { + $.status = status; + return this; + } + + /** + * @param status Whether the configuration is enabled. + * Valid values are `enabled` and `disabled`. + * + * @return builder + * + */ + public Builder status(String status) { + return status(Output.of(status)); + } + + public TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalArgs build() { + if ($.settings == null) { + throw new MissingRequiredPropertyException("TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalArgs", "settings"); + } + if ($.status == null) { + throw new MissingRequiredPropertyException("TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalArgs", "status"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/s3tables/inputs/TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettingsArgs.java b/sdk/java/src/main/java/com/pulumi/aws/s3tables/inputs/TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettingsArgs.java new file mode 100644 index 00000000000..e852249eae0 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/s3tables/inputs/TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettingsArgs.java @@ -0,0 +1,133 @@ +// *** 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.s3tables.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.Double; +import java.util.Objects; + + +public final class TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettingsArgs extends com.pulumi.resources.ResourceArgs { + + public static final TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettingsArgs Empty = new TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettingsArgs(); + + /** + * Data objects marked for deletion are deleted after this many days. + * Must be at least `1`. + * + */ + @Import(name="nonCurrentDays", required=true) + private Output nonCurrentDays; + + /** + * @return Data objects marked for deletion are deleted after this many days. + * Must be at least `1`. + * + */ + public Output nonCurrentDays() { + return this.nonCurrentDays; + } + + /** + * Unreferenced data objects are marked for deletion after this many days. + * Must be at least `1`. + * + */ + @Import(name="unreferencedDays", required=true) + private Output unreferencedDays; + + /** + * @return Unreferenced data objects are marked for deletion after this many days. + * Must be at least `1`. + * + */ + public Output unreferencedDays() { + return this.unreferencedDays; + } + + private TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettingsArgs() {} + + private TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettingsArgs(TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettingsArgs $) { + this.nonCurrentDays = $.nonCurrentDays; + this.unreferencedDays = $.unreferencedDays; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettingsArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettingsArgs $; + + public Builder() { + $ = new TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettingsArgs(); + } + + public Builder(TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettingsArgs defaults) { + $ = new TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettingsArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param nonCurrentDays Data objects marked for deletion are deleted after this many days. + * Must be at least `1`. + * + * @return builder + * + */ + public Builder nonCurrentDays(Output nonCurrentDays) { + $.nonCurrentDays = nonCurrentDays; + return this; + } + + /** + * @param nonCurrentDays Data objects marked for deletion are deleted after this many days. + * Must be at least `1`. + * + * @return builder + * + */ + public Builder nonCurrentDays(Double nonCurrentDays) { + return nonCurrentDays(Output.of(nonCurrentDays)); + } + + /** + * @param unreferencedDays Unreferenced data objects are marked for deletion after this many days. + * Must be at least `1`. + * + * @return builder + * + */ + public Builder unreferencedDays(Output unreferencedDays) { + $.unreferencedDays = unreferencedDays; + return this; + } + + /** + * @param unreferencedDays Unreferenced data objects are marked for deletion after this many days. + * Must be at least `1`. + * + * @return builder + * + */ + public Builder unreferencedDays(Double unreferencedDays) { + return unreferencedDays(Output.of(unreferencedDays)); + } + + public TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettingsArgs build() { + if ($.nonCurrentDays == null) { + throw new MissingRequiredPropertyException("TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettingsArgs", "nonCurrentDays"); + } + if ($.unreferencedDays == null) { + throw new MissingRequiredPropertyException("TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettingsArgs", "unreferencedDays"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/s3tables/inputs/TableBucketPolicyState.java b/sdk/java/src/main/java/com/pulumi/aws/s3tables/inputs/TableBucketPolicyState.java new file mode 100644 index 00000000000..129dfccbefd --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/s3tables/inputs/TableBucketPolicyState.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.s3tables.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 TableBucketPolicyState extends com.pulumi.resources.ResourceArgs { + + public static final TableBucketPolicyState Empty = new TableBucketPolicyState(); + + /** + * Amazon Web Services resource-based policy document in JSON format. + * + */ + @Import(name="resourcePolicy") + private @Nullable Output resourcePolicy; + + /** + * @return Amazon Web Services resource-based policy document in JSON format. + * + */ + public Optional> resourcePolicy() { + return Optional.ofNullable(this.resourcePolicy); + } + + /** + * ARN referencing the Table Bucket that owns this policy. + * + */ + @Import(name="tableBucketArn") + private @Nullable Output tableBucketArn; + + /** + * @return ARN referencing the Table Bucket that owns this policy. + * + */ + public Optional> tableBucketArn() { + return Optional.ofNullable(this.tableBucketArn); + } + + private TableBucketPolicyState() {} + + private TableBucketPolicyState(TableBucketPolicyState $) { + this.resourcePolicy = $.resourcePolicy; + this.tableBucketArn = $.tableBucketArn; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(TableBucketPolicyState defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private TableBucketPolicyState $; + + public Builder() { + $ = new TableBucketPolicyState(); + } + + public Builder(TableBucketPolicyState defaults) { + $ = new TableBucketPolicyState(Objects.requireNonNull(defaults)); + } + + /** + * @param resourcePolicy Amazon Web Services resource-based policy document in JSON format. + * + * @return builder + * + */ + public Builder resourcePolicy(@Nullable Output resourcePolicy) { + $.resourcePolicy = resourcePolicy; + return this; + } + + /** + * @param resourcePolicy Amazon Web Services resource-based policy document in JSON format. + * + * @return builder + * + */ + public Builder resourcePolicy(String resourcePolicy) { + return resourcePolicy(Output.of(resourcePolicy)); + } + + /** + * @param tableBucketArn ARN referencing the Table Bucket that owns this policy. + * + * @return builder + * + */ + public Builder tableBucketArn(@Nullable Output tableBucketArn) { + $.tableBucketArn = tableBucketArn; + return this; + } + + /** + * @param tableBucketArn ARN referencing the Table Bucket that owns this policy. + * + * @return builder + * + */ + public Builder tableBucketArn(String tableBucketArn) { + return tableBucketArn(Output.of(tableBucketArn)); + } + + public TableBucketPolicyState build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/s3tables/inputs/TableBucketState.java b/sdk/java/src/main/java/com/pulumi/aws/s3tables/inputs/TableBucketState.java new file mode 100644 index 00000000000..8f71dc06b3a --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/s3tables/inputs/TableBucketState.java @@ -0,0 +1,256 @@ +// *** 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.s3tables.inputs; + +import com.pulumi.aws.s3tables.inputs.TableBucketMaintenanceConfigurationArgs; +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 TableBucketState extends com.pulumi.resources.ResourceArgs { + + public static final TableBucketState Empty = new TableBucketState(); + + /** + * ARN of the table bucket. + * + */ + @Import(name="arn") + private @Nullable Output arn; + + /** + * @return ARN of the table bucket. + * + */ + public Optional> arn() { + return Optional.ofNullable(this.arn); + } + + /** + * Date and time when the bucket was created. + * + */ + @Import(name="createdAt") + private @Nullable Output createdAt; + + /** + * @return Date and time when the bucket was created. + * + */ + public Optional> createdAt() { + return Optional.ofNullable(this.createdAt); + } + + /** + * A single table bucket maintenance configuration block. + * See `maintenance_configuration` below + * + */ + @Import(name="maintenanceConfiguration") + private @Nullable Output maintenanceConfiguration; + + /** + * @return A single table bucket maintenance configuration block. + * See `maintenance_configuration` below + * + */ + public Optional> maintenanceConfiguration() { + return Optional.ofNullable(this.maintenanceConfiguration); + } + + /** + * Name of the table bucket. + * Must be between 3 and 63 characters in length. + * Can consist of lowercase letters, numbers, and hyphens, and must begin and end with a lowercase letter or number. + * A full list of bucket naming rules may be found in S3 Tables documentation. + * + * The following argument is optional: + * + */ + @Import(name="name") + private @Nullable Output name; + + /** + * @return Name of the table bucket. + * Must be between 3 and 63 characters in length. + * Can consist of lowercase letters, numbers, and hyphens, and must begin and end with a lowercase letter or number. + * A full list of bucket naming rules may be found in S3 Tables documentation. + * + * The following argument is optional: + * + */ + public Optional> name() { + return Optional.ofNullable(this.name); + } + + /** + * Account ID of the account that owns the table bucket. + * + */ + @Import(name="ownerAccountId") + private @Nullable Output ownerAccountId; + + /** + * @return Account ID of the account that owns the table bucket. + * + */ + public Optional> ownerAccountId() { + return Optional.ofNullable(this.ownerAccountId); + } + + private TableBucketState() {} + + private TableBucketState(TableBucketState $) { + this.arn = $.arn; + this.createdAt = $.createdAt; + this.maintenanceConfiguration = $.maintenanceConfiguration; + this.name = $.name; + this.ownerAccountId = $.ownerAccountId; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(TableBucketState defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private TableBucketState $; + + public Builder() { + $ = new TableBucketState(); + } + + public Builder(TableBucketState defaults) { + $ = new TableBucketState(Objects.requireNonNull(defaults)); + } + + /** + * @param arn ARN of the table bucket. + * + * @return builder + * + */ + public Builder arn(@Nullable Output arn) { + $.arn = arn; + return this; + } + + /** + * @param arn ARN of the table bucket. + * + * @return builder + * + */ + public Builder arn(String arn) { + return arn(Output.of(arn)); + } + + /** + * @param createdAt Date and time when the bucket was created. + * + * @return builder + * + */ + public Builder createdAt(@Nullable Output createdAt) { + $.createdAt = createdAt; + return this; + } + + /** + * @param createdAt Date and time when the bucket was created. + * + * @return builder + * + */ + public Builder createdAt(String createdAt) { + return createdAt(Output.of(createdAt)); + } + + /** + * @param maintenanceConfiguration A single table bucket maintenance configuration block. + * See `maintenance_configuration` below + * + * @return builder + * + */ + public Builder maintenanceConfiguration(@Nullable Output maintenanceConfiguration) { + $.maintenanceConfiguration = maintenanceConfiguration; + return this; + } + + /** + * @param maintenanceConfiguration A single table bucket maintenance configuration block. + * See `maintenance_configuration` below + * + * @return builder + * + */ + public Builder maintenanceConfiguration(TableBucketMaintenanceConfigurationArgs maintenanceConfiguration) { + return maintenanceConfiguration(Output.of(maintenanceConfiguration)); + } + + /** + * @param name Name of the table bucket. + * Must be between 3 and 63 characters in length. + * Can consist of lowercase letters, numbers, and hyphens, and must begin and end with a lowercase letter or number. + * A full list of bucket naming rules may be found in S3 Tables documentation. + * + * The following argument is optional: + * + * @return builder + * + */ + public Builder name(@Nullable Output name) { + $.name = name; + return this; + } + + /** + * @param name Name of the table bucket. + * Must be between 3 and 63 characters in length. + * Can consist of lowercase letters, numbers, and hyphens, and must begin and end with a lowercase letter or number. + * A full list of bucket naming rules may be found in S3 Tables documentation. + * + * The following argument is optional: + * + * @return builder + * + */ + public Builder name(String name) { + return name(Output.of(name)); + } + + /** + * @param ownerAccountId Account ID of the account that owns the table bucket. + * + * @return builder + * + */ + public Builder ownerAccountId(@Nullable Output ownerAccountId) { + $.ownerAccountId = ownerAccountId; + return this; + } + + /** + * @param ownerAccountId Account ID of the account that owns the table bucket. + * + * @return builder + * + */ + public Builder ownerAccountId(String ownerAccountId) { + return ownerAccountId(Output.of(ownerAccountId)); + } + + public TableBucketState build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/s3tables/inputs/TableMaintenanceConfigurationArgs.java b/sdk/java/src/main/java/com/pulumi/aws/s3tables/inputs/TableMaintenanceConfigurationArgs.java new file mode 100644 index 00000000000..acb4c5d0e66 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/s3tables/inputs/TableMaintenanceConfigurationArgs.java @@ -0,0 +1,134 @@ +// *** 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.s3tables.inputs; + +import com.pulumi.aws.s3tables.inputs.TableMaintenanceConfigurationIcebergCompactionArgs; +import com.pulumi.aws.s3tables.inputs.TableMaintenanceConfigurationIcebergSnapshotManagementArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.util.Objects; + + +public final class TableMaintenanceConfigurationArgs extends com.pulumi.resources.ResourceArgs { + + public static final TableMaintenanceConfigurationArgs Empty = new TableMaintenanceConfigurationArgs(); + + /** + * A single Iceberg compaction settings block. + * See `iceberg_compaction` below + * + */ + @Import(name="icebergCompaction", required=true) + private Output icebergCompaction; + + /** + * @return A single Iceberg compaction settings block. + * See `iceberg_compaction` below + * + */ + public Output icebergCompaction() { + return this.icebergCompaction; + } + + /** + * A single Iceberg snapshot management settings block. + * See `iceberg_snapshot_management` below + * + */ + @Import(name="icebergSnapshotManagement", required=true) + private Output icebergSnapshotManagement; + + /** + * @return A single Iceberg snapshot management settings block. + * See `iceberg_snapshot_management` below + * + */ + public Output icebergSnapshotManagement() { + return this.icebergSnapshotManagement; + } + + private TableMaintenanceConfigurationArgs() {} + + private TableMaintenanceConfigurationArgs(TableMaintenanceConfigurationArgs $) { + this.icebergCompaction = $.icebergCompaction; + this.icebergSnapshotManagement = $.icebergSnapshotManagement; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(TableMaintenanceConfigurationArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private TableMaintenanceConfigurationArgs $; + + public Builder() { + $ = new TableMaintenanceConfigurationArgs(); + } + + public Builder(TableMaintenanceConfigurationArgs defaults) { + $ = new TableMaintenanceConfigurationArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param icebergCompaction A single Iceberg compaction settings block. + * See `iceberg_compaction` below + * + * @return builder + * + */ + public Builder icebergCompaction(Output icebergCompaction) { + $.icebergCompaction = icebergCompaction; + return this; + } + + /** + * @param icebergCompaction A single Iceberg compaction settings block. + * See `iceberg_compaction` below + * + * @return builder + * + */ + public Builder icebergCompaction(TableMaintenanceConfigurationIcebergCompactionArgs icebergCompaction) { + return icebergCompaction(Output.of(icebergCompaction)); + } + + /** + * @param icebergSnapshotManagement A single Iceberg snapshot management settings block. + * See `iceberg_snapshot_management` below + * + * @return builder + * + */ + public Builder icebergSnapshotManagement(Output icebergSnapshotManagement) { + $.icebergSnapshotManagement = icebergSnapshotManagement; + return this; + } + + /** + * @param icebergSnapshotManagement A single Iceberg snapshot management settings block. + * See `iceberg_snapshot_management` below + * + * @return builder + * + */ + public Builder icebergSnapshotManagement(TableMaintenanceConfigurationIcebergSnapshotManagementArgs icebergSnapshotManagement) { + return icebergSnapshotManagement(Output.of(icebergSnapshotManagement)); + } + + public TableMaintenanceConfigurationArgs build() { + if ($.icebergCompaction == null) { + throw new MissingRequiredPropertyException("TableMaintenanceConfigurationArgs", "icebergCompaction"); + } + if ($.icebergSnapshotManagement == null) { + throw new MissingRequiredPropertyException("TableMaintenanceConfigurationArgs", "icebergSnapshotManagement"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/s3tables/inputs/TableMaintenanceConfigurationIcebergCompactionArgs.java b/sdk/java/src/main/java/com/pulumi/aws/s3tables/inputs/TableMaintenanceConfigurationIcebergCompactionArgs.java new file mode 100644 index 00000000000..666d5dae5e5 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/s3tables/inputs/TableMaintenanceConfigurationIcebergCompactionArgs.java @@ -0,0 +1,134 @@ +// *** 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.s3tables.inputs; + +import com.pulumi.aws.s3tables.inputs.TableMaintenanceConfigurationIcebergCompactionSettingsArgs; +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 TableMaintenanceConfigurationIcebergCompactionArgs extends com.pulumi.resources.ResourceArgs { + + public static final TableMaintenanceConfigurationIcebergCompactionArgs Empty = new TableMaintenanceConfigurationIcebergCompactionArgs(); + + /** + * Settings for compaction. + * See `iceberg_compaction.settings` below + * + */ + @Import(name="settings", required=true) + private Output settings; + + /** + * @return Settings for compaction. + * See `iceberg_compaction.settings` below + * + */ + public Output settings() { + return this.settings; + } + + /** + * Whether the configuration is enabled. + * Valid values are `enabled` and `disabled`. + * + */ + @Import(name="status", required=true) + private Output status; + + /** + * @return Whether the configuration is enabled. + * Valid values are `enabled` and `disabled`. + * + */ + public Output status() { + return this.status; + } + + private TableMaintenanceConfigurationIcebergCompactionArgs() {} + + private TableMaintenanceConfigurationIcebergCompactionArgs(TableMaintenanceConfigurationIcebergCompactionArgs $) { + this.settings = $.settings; + this.status = $.status; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(TableMaintenanceConfigurationIcebergCompactionArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private TableMaintenanceConfigurationIcebergCompactionArgs $; + + public Builder() { + $ = new TableMaintenanceConfigurationIcebergCompactionArgs(); + } + + public Builder(TableMaintenanceConfigurationIcebergCompactionArgs defaults) { + $ = new TableMaintenanceConfigurationIcebergCompactionArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param settings Settings for compaction. + * See `iceberg_compaction.settings` below + * + * @return builder + * + */ + public Builder settings(Output settings) { + $.settings = settings; + return this; + } + + /** + * @param settings Settings for compaction. + * See `iceberg_compaction.settings` below + * + * @return builder + * + */ + public Builder settings(TableMaintenanceConfigurationIcebergCompactionSettingsArgs settings) { + return settings(Output.of(settings)); + } + + /** + * @param status Whether the configuration is enabled. + * Valid values are `enabled` and `disabled`. + * + * @return builder + * + */ + public Builder status(Output status) { + $.status = status; + return this; + } + + /** + * @param status Whether the configuration is enabled. + * Valid values are `enabled` and `disabled`. + * + * @return builder + * + */ + public Builder status(String status) { + return status(Output.of(status)); + } + + public TableMaintenanceConfigurationIcebergCompactionArgs build() { + if ($.settings == null) { + throw new MissingRequiredPropertyException("TableMaintenanceConfigurationIcebergCompactionArgs", "settings"); + } + if ($.status == null) { + throw new MissingRequiredPropertyException("TableMaintenanceConfigurationIcebergCompactionArgs", "status"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/s3tables/inputs/TableMaintenanceConfigurationIcebergCompactionSettingsArgs.java b/sdk/java/src/main/java/com/pulumi/aws/s3tables/inputs/TableMaintenanceConfigurationIcebergCompactionSettingsArgs.java new file mode 100644 index 00000000000..23a324e44a6 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/s3tables/inputs/TableMaintenanceConfigurationIcebergCompactionSettingsArgs.java @@ -0,0 +1,89 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.s3tables.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.Double; +import java.util.Objects; + + +public final class TableMaintenanceConfigurationIcebergCompactionSettingsArgs extends com.pulumi.resources.ResourceArgs { + + public static final TableMaintenanceConfigurationIcebergCompactionSettingsArgs Empty = new TableMaintenanceConfigurationIcebergCompactionSettingsArgs(); + + /** + * Data objects smaller than this size may be combined with others to improve query performance. + * Must be between `64` and `512`. + * + */ + @Import(name="targetFileSizeMb", required=true) + private Output targetFileSizeMb; + + /** + * @return Data objects smaller than this size may be combined with others to improve query performance. + * Must be between `64` and `512`. + * + */ + public Output targetFileSizeMb() { + return this.targetFileSizeMb; + } + + private TableMaintenanceConfigurationIcebergCompactionSettingsArgs() {} + + private TableMaintenanceConfigurationIcebergCompactionSettingsArgs(TableMaintenanceConfigurationIcebergCompactionSettingsArgs $) { + this.targetFileSizeMb = $.targetFileSizeMb; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(TableMaintenanceConfigurationIcebergCompactionSettingsArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private TableMaintenanceConfigurationIcebergCompactionSettingsArgs $; + + public Builder() { + $ = new TableMaintenanceConfigurationIcebergCompactionSettingsArgs(); + } + + public Builder(TableMaintenanceConfigurationIcebergCompactionSettingsArgs defaults) { + $ = new TableMaintenanceConfigurationIcebergCompactionSettingsArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param targetFileSizeMb Data objects smaller than this size may be combined with others to improve query performance. + * Must be between `64` and `512`. + * + * @return builder + * + */ + public Builder targetFileSizeMb(Output targetFileSizeMb) { + $.targetFileSizeMb = targetFileSizeMb; + return this; + } + + /** + * @param targetFileSizeMb Data objects smaller than this size may be combined with others to improve query performance. + * Must be between `64` and `512`. + * + * @return builder + * + */ + public Builder targetFileSizeMb(Double targetFileSizeMb) { + return targetFileSizeMb(Output.of(targetFileSizeMb)); + } + + public TableMaintenanceConfigurationIcebergCompactionSettingsArgs build() { + if ($.targetFileSizeMb == null) { + throw new MissingRequiredPropertyException("TableMaintenanceConfigurationIcebergCompactionSettingsArgs", "targetFileSizeMb"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/s3tables/inputs/TableMaintenanceConfigurationIcebergSnapshotManagementArgs.java b/sdk/java/src/main/java/com/pulumi/aws/s3tables/inputs/TableMaintenanceConfigurationIcebergSnapshotManagementArgs.java new file mode 100644 index 00000000000..acdbfb44de4 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/s3tables/inputs/TableMaintenanceConfigurationIcebergSnapshotManagementArgs.java @@ -0,0 +1,134 @@ +// *** 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.s3tables.inputs; + +import com.pulumi.aws.s3tables.inputs.TableMaintenanceConfigurationIcebergSnapshotManagementSettingsArgs; +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 TableMaintenanceConfigurationIcebergSnapshotManagementArgs extends com.pulumi.resources.ResourceArgs { + + public static final TableMaintenanceConfigurationIcebergSnapshotManagementArgs Empty = new TableMaintenanceConfigurationIcebergSnapshotManagementArgs(); + + /** + * Settings for snapshot management. + * See `iceberg_snapshot_management.settings` below + * + */ + @Import(name="settings", required=true) + private Output settings; + + /** + * @return Settings for snapshot management. + * See `iceberg_snapshot_management.settings` below + * + */ + public Output settings() { + return this.settings; + } + + /** + * Whether the configuration is enabled. + * Valid values are `enabled` and `disabled`. + * + */ + @Import(name="status", required=true) + private Output status; + + /** + * @return Whether the configuration is enabled. + * Valid values are `enabled` and `disabled`. + * + */ + public Output status() { + return this.status; + } + + private TableMaintenanceConfigurationIcebergSnapshotManagementArgs() {} + + private TableMaintenanceConfigurationIcebergSnapshotManagementArgs(TableMaintenanceConfigurationIcebergSnapshotManagementArgs $) { + this.settings = $.settings; + this.status = $.status; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(TableMaintenanceConfigurationIcebergSnapshotManagementArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private TableMaintenanceConfigurationIcebergSnapshotManagementArgs $; + + public Builder() { + $ = new TableMaintenanceConfigurationIcebergSnapshotManagementArgs(); + } + + public Builder(TableMaintenanceConfigurationIcebergSnapshotManagementArgs defaults) { + $ = new TableMaintenanceConfigurationIcebergSnapshotManagementArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param settings Settings for snapshot management. + * See `iceberg_snapshot_management.settings` below + * + * @return builder + * + */ + public Builder settings(Output settings) { + $.settings = settings; + return this; + } + + /** + * @param settings Settings for snapshot management. + * See `iceberg_snapshot_management.settings` below + * + * @return builder + * + */ + public Builder settings(TableMaintenanceConfigurationIcebergSnapshotManagementSettingsArgs settings) { + return settings(Output.of(settings)); + } + + /** + * @param status Whether the configuration is enabled. + * Valid values are `enabled` and `disabled`. + * + * @return builder + * + */ + public Builder status(Output status) { + $.status = status; + return this; + } + + /** + * @param status Whether the configuration is enabled. + * Valid values are `enabled` and `disabled`. + * + * @return builder + * + */ + public Builder status(String status) { + return status(Output.of(status)); + } + + public TableMaintenanceConfigurationIcebergSnapshotManagementArgs build() { + if ($.settings == null) { + throw new MissingRequiredPropertyException("TableMaintenanceConfigurationIcebergSnapshotManagementArgs", "settings"); + } + if ($.status == null) { + throw new MissingRequiredPropertyException("TableMaintenanceConfigurationIcebergSnapshotManagementArgs", "status"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/s3tables/inputs/TableMaintenanceConfigurationIcebergSnapshotManagementSettingsArgs.java b/sdk/java/src/main/java/com/pulumi/aws/s3tables/inputs/TableMaintenanceConfigurationIcebergSnapshotManagementSettingsArgs.java new file mode 100644 index 00000000000..5ef61857c0a --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/s3tables/inputs/TableMaintenanceConfigurationIcebergSnapshotManagementSettingsArgs.java @@ -0,0 +1,133 @@ +// *** 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.s3tables.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.Double; +import java.util.Objects; + + +public final class TableMaintenanceConfigurationIcebergSnapshotManagementSettingsArgs extends com.pulumi.resources.ResourceArgs { + + public static final TableMaintenanceConfigurationIcebergSnapshotManagementSettingsArgs Empty = new TableMaintenanceConfigurationIcebergSnapshotManagementSettingsArgs(); + + /** + * Snapshots older than this will be marked for deletiion. + * Must be at least `1`. + * + */ + @Import(name="maxSnapshotAgeHours", required=true) + private Output maxSnapshotAgeHours; + + /** + * @return Snapshots older than this will be marked for deletiion. + * Must be at least `1`. + * + */ + public Output maxSnapshotAgeHours() { + return this.maxSnapshotAgeHours; + } + + /** + * Minimum number of snapshots to keep. + * Must be at least `1`. + * + */ + @Import(name="minSnapshotsToKeep", required=true) + private Output minSnapshotsToKeep; + + /** + * @return Minimum number of snapshots to keep. + * Must be at least `1`. + * + */ + public Output minSnapshotsToKeep() { + return this.minSnapshotsToKeep; + } + + private TableMaintenanceConfigurationIcebergSnapshotManagementSettingsArgs() {} + + private TableMaintenanceConfigurationIcebergSnapshotManagementSettingsArgs(TableMaintenanceConfigurationIcebergSnapshotManagementSettingsArgs $) { + this.maxSnapshotAgeHours = $.maxSnapshotAgeHours; + this.minSnapshotsToKeep = $.minSnapshotsToKeep; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(TableMaintenanceConfigurationIcebergSnapshotManagementSettingsArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private TableMaintenanceConfigurationIcebergSnapshotManagementSettingsArgs $; + + public Builder() { + $ = new TableMaintenanceConfigurationIcebergSnapshotManagementSettingsArgs(); + } + + public Builder(TableMaintenanceConfigurationIcebergSnapshotManagementSettingsArgs defaults) { + $ = new TableMaintenanceConfigurationIcebergSnapshotManagementSettingsArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param maxSnapshotAgeHours Snapshots older than this will be marked for deletiion. + * Must be at least `1`. + * + * @return builder + * + */ + public Builder maxSnapshotAgeHours(Output maxSnapshotAgeHours) { + $.maxSnapshotAgeHours = maxSnapshotAgeHours; + return this; + } + + /** + * @param maxSnapshotAgeHours Snapshots older than this will be marked for deletiion. + * Must be at least `1`. + * + * @return builder + * + */ + public Builder maxSnapshotAgeHours(Double maxSnapshotAgeHours) { + return maxSnapshotAgeHours(Output.of(maxSnapshotAgeHours)); + } + + /** + * @param minSnapshotsToKeep Minimum number of snapshots to keep. + * Must be at least `1`. + * + * @return builder + * + */ + public Builder minSnapshotsToKeep(Output minSnapshotsToKeep) { + $.minSnapshotsToKeep = minSnapshotsToKeep; + return this; + } + + /** + * @param minSnapshotsToKeep Minimum number of snapshots to keep. + * Must be at least `1`. + * + * @return builder + * + */ + public Builder minSnapshotsToKeep(Double minSnapshotsToKeep) { + return minSnapshotsToKeep(Output.of(minSnapshotsToKeep)); + } + + public TableMaintenanceConfigurationIcebergSnapshotManagementSettingsArgs build() { + if ($.maxSnapshotAgeHours == null) { + throw new MissingRequiredPropertyException("TableMaintenanceConfigurationIcebergSnapshotManagementSettingsArgs", "maxSnapshotAgeHours"); + } + if ($.minSnapshotsToKeep == null) { + throw new MissingRequiredPropertyException("TableMaintenanceConfigurationIcebergSnapshotManagementSettingsArgs", "minSnapshotsToKeep"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/s3tables/inputs/TablePolicyState.java b/sdk/java/src/main/java/com/pulumi/aws/s3tables/inputs/TablePolicyState.java new file mode 100644 index 00000000000..6eefb9ef771 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/s3tables/inputs/TablePolicyState.java @@ -0,0 +1,210 @@ +// *** 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.s3tables.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 TablePolicyState extends com.pulumi.resources.ResourceArgs { + + public static final TablePolicyState Empty = new TablePolicyState(); + + /** + * Name of the table. + * Must be between 1 and 255 characters in length. + * Can consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number. + * + */ + @Import(name="name") + private @Nullable Output name; + + /** + * @return Name of the table. + * Must be between 1 and 255 characters in length. + * Can consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number. + * + */ + public Optional> name() { + return Optional.ofNullable(this.name); + } + + /** + * Name of the namespace for this table. + * Must be between 1 and 255 characters in length. + * Can consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number. + * + */ + @Import(name="namespace") + private @Nullable Output namespace; + + /** + * @return Name of the namespace for this table. + * Must be between 1 and 255 characters in length. + * Can consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number. + * + */ + public Optional> namespace() { + return Optional.ofNullable(this.namespace); + } + + /** + * Amazon Web Services resource-based policy document in JSON format. + * + */ + @Import(name="resourcePolicy") + private @Nullable Output resourcePolicy; + + /** + * @return Amazon Web Services resource-based policy document in JSON format. + * + */ + public Optional> resourcePolicy() { + return Optional.ofNullable(this.resourcePolicy); + } + + /** + * ARN referencing the Table Bucket that contains this Namespace. + * + */ + @Import(name="tableBucketArn") + private @Nullable Output tableBucketArn; + + /** + * @return ARN referencing the Table Bucket that contains this Namespace. + * + */ + public Optional> tableBucketArn() { + return Optional.ofNullable(this.tableBucketArn); + } + + private TablePolicyState() {} + + private TablePolicyState(TablePolicyState $) { + this.name = $.name; + this.namespace = $.namespace; + this.resourcePolicy = $.resourcePolicy; + this.tableBucketArn = $.tableBucketArn; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(TablePolicyState defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private TablePolicyState $; + + public Builder() { + $ = new TablePolicyState(); + } + + public Builder(TablePolicyState defaults) { + $ = new TablePolicyState(Objects.requireNonNull(defaults)); + } + + /** + * @param name Name of the table. + * Must be between 1 and 255 characters in length. + * Can consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number. + * + * @return builder + * + */ + public Builder name(@Nullable Output name) { + $.name = name; + return this; + } + + /** + * @param name Name of the table. + * Must be between 1 and 255 characters in length. + * Can consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number. + * + * @return builder + * + */ + public Builder name(String name) { + return name(Output.of(name)); + } + + /** + * @param namespace Name of the namespace for this table. + * Must be between 1 and 255 characters in length. + * Can consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number. + * + * @return builder + * + */ + public Builder namespace(@Nullable Output namespace) { + $.namespace = namespace; + return this; + } + + /** + * @param namespace Name of the namespace for this table. + * Must be between 1 and 255 characters in length. + * Can consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number. + * + * @return builder + * + */ + public Builder namespace(String namespace) { + return namespace(Output.of(namespace)); + } + + /** + * @param resourcePolicy Amazon Web Services resource-based policy document in JSON format. + * + * @return builder + * + */ + public Builder resourcePolicy(@Nullable Output resourcePolicy) { + $.resourcePolicy = resourcePolicy; + return this; + } + + /** + * @param resourcePolicy Amazon Web Services resource-based policy document in JSON format. + * + * @return builder + * + */ + public Builder resourcePolicy(String resourcePolicy) { + return resourcePolicy(Output.of(resourcePolicy)); + } + + /** + * @param tableBucketArn ARN referencing the Table Bucket that contains this Namespace. + * + * @return builder + * + */ + public Builder tableBucketArn(@Nullable Output tableBucketArn) { + $.tableBucketArn = tableBucketArn; + return this; + } + + /** + * @param tableBucketArn ARN referencing the Table Bucket that contains this Namespace. + * + * @return builder + * + */ + public Builder tableBucketArn(String tableBucketArn) { + return tableBucketArn(Output.of(tableBucketArn)); + } + + public TablePolicyState build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/s3tables/inputs/TableState.java b/sdk/java/src/main/java/com/pulumi/aws/s3tables/inputs/TableState.java new file mode 100644 index 00000000000..76b26a30dee --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/s3tables/inputs/TableState.java @@ -0,0 +1,638 @@ +// *** 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.s3tables.inputs; + +import com.pulumi.aws.s3tables.inputs.TableMaintenanceConfigurationArgs; +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 TableState extends com.pulumi.resources.ResourceArgs { + + public static final TableState Empty = new TableState(); + + /** + * ARN of the table. + * + */ + @Import(name="arn") + private @Nullable Output arn; + + /** + * @return ARN of the table. + * + */ + public Optional> arn() { + return Optional.ofNullable(this.arn); + } + + /** + * Date and time when the namespace was created. + * + */ + @Import(name="createdAt") + private @Nullable Output createdAt; + + /** + * @return Date and time when the namespace was created. + * + */ + public Optional> createdAt() { + return Optional.ofNullable(this.createdAt); + } + + /** + * Account ID of the account that created the namespace. + * + */ + @Import(name="createdBy") + private @Nullable Output createdBy; + + /** + * @return Account ID of the account that created the namespace. + * + */ + public Optional> createdBy() { + return Optional.ofNullable(this.createdBy); + } + + /** + * Format of the table. + * Must be `ICEBERG`. + * + */ + @Import(name="format") + private @Nullable Output format; + + /** + * @return Format of the table. + * Must be `ICEBERG`. + * + */ + public Optional> format() { + return Optional.ofNullable(this.format); + } + + /** + * A single table bucket maintenance configuration block. + * See `maintenance_configuration` below + * + */ + @Import(name="maintenanceConfiguration") + private @Nullable Output maintenanceConfiguration; + + /** + * @return A single table bucket maintenance configuration block. + * See `maintenance_configuration` below + * + */ + public Optional> maintenanceConfiguration() { + return Optional.ofNullable(this.maintenanceConfiguration); + } + + /** + * Location of table metadata. + * + */ + @Import(name="metadataLocation") + private @Nullable Output metadataLocation; + + /** + * @return Location of table metadata. + * + */ + public Optional> metadataLocation() { + return Optional.ofNullable(this.metadataLocation); + } + + /** + * Date and time when the namespace was last modified. + * + */ + @Import(name="modifiedAt") + private @Nullable Output modifiedAt; + + /** + * @return Date and time when the namespace was last modified. + * + */ + public Optional> modifiedAt() { + return Optional.ofNullable(this.modifiedAt); + } + + /** + * Account ID of the account that last modified the namespace. + * + */ + @Import(name="modifiedBy") + private @Nullable Output modifiedBy; + + /** + * @return Account ID of the account that last modified the namespace. + * + */ + public Optional> modifiedBy() { + return Optional.ofNullable(this.modifiedBy); + } + + /** + * Name of the table. + * Must be between 1 and 255 characters in length. + * Can consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number. + * + */ + @Import(name="name") + private @Nullable Output name; + + /** + * @return Name of the table. + * Must be between 1 and 255 characters in length. + * Can consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number. + * + */ + public Optional> name() { + return Optional.ofNullable(this.name); + } + + /** + * Name of the namespace for this table. + * Must be between 1 and 255 characters in length. + * Can consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number. + * + */ + @Import(name="namespace") + private @Nullable Output namespace; + + /** + * @return Name of the namespace for this table. + * Must be between 1 and 255 characters in length. + * Can consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number. + * + */ + public Optional> namespace() { + return Optional.ofNullable(this.namespace); + } + + /** + * Account ID of the account that owns the namespace. + * + */ + @Import(name="ownerAccountId") + private @Nullable Output ownerAccountId; + + /** + * @return Account ID of the account that owns the namespace. + * + */ + public Optional> ownerAccountId() { + return Optional.ofNullable(this.ownerAccountId); + } + + /** + * ARN referencing the Table Bucket that contains this Namespace. + * + * The following argument is optional: + * + */ + @Import(name="tableBucketArn") + private @Nullable Output tableBucketArn; + + /** + * @return ARN referencing the Table Bucket that contains this Namespace. + * + * The following argument is optional: + * + */ + public Optional> tableBucketArn() { + return Optional.ofNullable(this.tableBucketArn); + } + + /** + * Type of the table. + * One of `customer` or `aws`. + * + */ + @Import(name="type") + private @Nullable Output type; + + /** + * @return Type of the table. + * One of `customer` or `aws`. + * + */ + public Optional> type() { + return Optional.ofNullable(this.type); + } + + /** + * Identifier for the current version of table data. + * + */ + @Import(name="versionToken") + private @Nullable Output versionToken; + + /** + * @return Identifier for the current version of table data. + * + */ + public Optional> versionToken() { + return Optional.ofNullable(this.versionToken); + } + + /** + * S3 URI pointing to the S3 Bucket that contains the table data. + * + */ + @Import(name="warehouseLocation") + private @Nullable Output warehouseLocation; + + /** + * @return S3 URI pointing to the S3 Bucket that contains the table data. + * + */ + public Optional> warehouseLocation() { + return Optional.ofNullable(this.warehouseLocation); + } + + private TableState() {} + + private TableState(TableState $) { + this.arn = $.arn; + this.createdAt = $.createdAt; + this.createdBy = $.createdBy; + this.format = $.format; + this.maintenanceConfiguration = $.maintenanceConfiguration; + this.metadataLocation = $.metadataLocation; + this.modifiedAt = $.modifiedAt; + this.modifiedBy = $.modifiedBy; + this.name = $.name; + this.namespace = $.namespace; + this.ownerAccountId = $.ownerAccountId; + this.tableBucketArn = $.tableBucketArn; + this.type = $.type; + this.versionToken = $.versionToken; + this.warehouseLocation = $.warehouseLocation; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(TableState defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private TableState $; + + public Builder() { + $ = new TableState(); + } + + public Builder(TableState defaults) { + $ = new TableState(Objects.requireNonNull(defaults)); + } + + /** + * @param arn ARN of the table. + * + * @return builder + * + */ + public Builder arn(@Nullable Output arn) { + $.arn = arn; + return this; + } + + /** + * @param arn ARN of the table. + * + * @return builder + * + */ + public Builder arn(String arn) { + return arn(Output.of(arn)); + } + + /** + * @param createdAt Date and time when the namespace was created. + * + * @return builder + * + */ + public Builder createdAt(@Nullable Output createdAt) { + $.createdAt = createdAt; + return this; + } + + /** + * @param createdAt Date and time when the namespace was created. + * + * @return builder + * + */ + public Builder createdAt(String createdAt) { + return createdAt(Output.of(createdAt)); + } + + /** + * @param createdBy Account ID of the account that created the namespace. + * + * @return builder + * + */ + public Builder createdBy(@Nullable Output createdBy) { + $.createdBy = createdBy; + return this; + } + + /** + * @param createdBy Account ID of the account that created the namespace. + * + * @return builder + * + */ + public Builder createdBy(String createdBy) { + return createdBy(Output.of(createdBy)); + } + + /** + * @param format Format of the table. + * Must be `ICEBERG`. + * + * @return builder + * + */ + public Builder format(@Nullable Output format) { + $.format = format; + return this; + } + + /** + * @param format Format of the table. + * Must be `ICEBERG`. + * + * @return builder + * + */ + public Builder format(String format) { + return format(Output.of(format)); + } + + /** + * @param maintenanceConfiguration A single table bucket maintenance configuration block. + * See `maintenance_configuration` below + * + * @return builder + * + */ + public Builder maintenanceConfiguration(@Nullable Output maintenanceConfiguration) { + $.maintenanceConfiguration = maintenanceConfiguration; + return this; + } + + /** + * @param maintenanceConfiguration A single table bucket maintenance configuration block. + * See `maintenance_configuration` below + * + * @return builder + * + */ + public Builder maintenanceConfiguration(TableMaintenanceConfigurationArgs maintenanceConfiguration) { + return maintenanceConfiguration(Output.of(maintenanceConfiguration)); + } + + /** + * @param metadataLocation Location of table metadata. + * + * @return builder + * + */ + public Builder metadataLocation(@Nullable Output metadataLocation) { + $.metadataLocation = metadataLocation; + return this; + } + + /** + * @param metadataLocation Location of table metadata. + * + * @return builder + * + */ + public Builder metadataLocation(String metadataLocation) { + return metadataLocation(Output.of(metadataLocation)); + } + + /** + * @param modifiedAt Date and time when the namespace was last modified. + * + * @return builder + * + */ + public Builder modifiedAt(@Nullable Output modifiedAt) { + $.modifiedAt = modifiedAt; + return this; + } + + /** + * @param modifiedAt Date and time when the namespace was last modified. + * + * @return builder + * + */ + public Builder modifiedAt(String modifiedAt) { + return modifiedAt(Output.of(modifiedAt)); + } + + /** + * @param modifiedBy Account ID of the account that last modified the namespace. + * + * @return builder + * + */ + public Builder modifiedBy(@Nullable Output modifiedBy) { + $.modifiedBy = modifiedBy; + return this; + } + + /** + * @param modifiedBy Account ID of the account that last modified the namespace. + * + * @return builder + * + */ + public Builder modifiedBy(String modifiedBy) { + return modifiedBy(Output.of(modifiedBy)); + } + + /** + * @param name Name of the table. + * Must be between 1 and 255 characters in length. + * Can consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number. + * + * @return builder + * + */ + public Builder name(@Nullable Output name) { + $.name = name; + return this; + } + + /** + * @param name Name of the table. + * Must be between 1 and 255 characters in length. + * Can consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number. + * + * @return builder + * + */ + public Builder name(String name) { + return name(Output.of(name)); + } + + /** + * @param namespace Name of the namespace for this table. + * Must be between 1 and 255 characters in length. + * Can consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number. + * + * @return builder + * + */ + public Builder namespace(@Nullable Output namespace) { + $.namespace = namespace; + return this; + } + + /** + * @param namespace Name of the namespace for this table. + * Must be between 1 and 255 characters in length. + * Can consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number. + * + * @return builder + * + */ + public Builder namespace(String namespace) { + return namespace(Output.of(namespace)); + } + + /** + * @param ownerAccountId Account ID of the account that owns the namespace. + * + * @return builder + * + */ + public Builder ownerAccountId(@Nullable Output ownerAccountId) { + $.ownerAccountId = ownerAccountId; + return this; + } + + /** + * @param ownerAccountId Account ID of the account that owns the namespace. + * + * @return builder + * + */ + public Builder ownerAccountId(String ownerAccountId) { + return ownerAccountId(Output.of(ownerAccountId)); + } + + /** + * @param tableBucketArn ARN referencing the Table Bucket that contains this Namespace. + * + * The following argument is optional: + * + * @return builder + * + */ + public Builder tableBucketArn(@Nullable Output tableBucketArn) { + $.tableBucketArn = tableBucketArn; + return this; + } + + /** + * @param tableBucketArn ARN referencing the Table Bucket that contains this Namespace. + * + * The following argument is optional: + * + * @return builder + * + */ + public Builder tableBucketArn(String tableBucketArn) { + return tableBucketArn(Output.of(tableBucketArn)); + } + + /** + * @param type Type of the table. + * One of `customer` or `aws`. + * + * @return builder + * + */ + public Builder type(@Nullable Output type) { + $.type = type; + return this; + } + + /** + * @param type Type of the table. + * One of `customer` or `aws`. + * + * @return builder + * + */ + public Builder type(String type) { + return type(Output.of(type)); + } + + /** + * @param versionToken Identifier for the current version of table data. + * + * @return builder + * + */ + public Builder versionToken(@Nullable Output versionToken) { + $.versionToken = versionToken; + return this; + } + + /** + * @param versionToken Identifier for the current version of table data. + * + * @return builder + * + */ + public Builder versionToken(String versionToken) { + return versionToken(Output.of(versionToken)); + } + + /** + * @param warehouseLocation S3 URI pointing to the S3 Bucket that contains the table data. + * + * @return builder + * + */ + public Builder warehouseLocation(@Nullable Output warehouseLocation) { + $.warehouseLocation = warehouseLocation; + return this; + } + + /** + * @param warehouseLocation S3 URI pointing to the S3 Bucket that contains the table data. + * + * @return builder + * + */ + public Builder warehouseLocation(String warehouseLocation) { + return warehouseLocation(Output.of(warehouseLocation)); + } + + public TableState build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/s3tables/outputs/TableBucketMaintenanceConfiguration.java b/sdk/java/src/main/java/com/pulumi/aws/s3tables/outputs/TableBucketMaintenanceConfiguration.java new file mode 100644 index 00000000000..6959d479cdd --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/s3tables/outputs/TableBucketMaintenanceConfiguration.java @@ -0,0 +1,60 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.s3tables.outputs; + +import com.pulumi.aws.s3tables.outputs.TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemoval; +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.util.Objects; + +@CustomType +public final class TableBucketMaintenanceConfiguration { + /** + * @return A single Iceberg unreferenced file removal settings block. + * See `iceberg_unreferenced_file_removal` below + * + */ + private TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemoval icebergUnreferencedFileRemoval; + + private TableBucketMaintenanceConfiguration() {} + /** + * @return A single Iceberg unreferenced file removal settings block. + * See `iceberg_unreferenced_file_removal` below + * + */ + public TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemoval icebergUnreferencedFileRemoval() { + return this.icebergUnreferencedFileRemoval; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(TableBucketMaintenanceConfiguration defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemoval icebergUnreferencedFileRemoval; + public Builder() {} + public Builder(TableBucketMaintenanceConfiguration defaults) { + Objects.requireNonNull(defaults); + this.icebergUnreferencedFileRemoval = defaults.icebergUnreferencedFileRemoval; + } + + @CustomType.Setter + public Builder icebergUnreferencedFileRemoval(TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemoval icebergUnreferencedFileRemoval) { + if (icebergUnreferencedFileRemoval == null) { + throw new MissingRequiredPropertyException("TableBucketMaintenanceConfiguration", "icebergUnreferencedFileRemoval"); + } + this.icebergUnreferencedFileRemoval = icebergUnreferencedFileRemoval; + return this; + } + public TableBucketMaintenanceConfiguration build() { + final var _resultValue = new TableBucketMaintenanceConfiguration(); + _resultValue.icebergUnreferencedFileRemoval = icebergUnreferencedFileRemoval; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/s3tables/outputs/TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemoval.java b/sdk/java/src/main/java/com/pulumi/aws/s3tables/outputs/TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemoval.java new file mode 100644 index 00000000000..78131041013 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/s3tables/outputs/TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemoval.java @@ -0,0 +1,86 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.s3tables.outputs; + +import com.pulumi.aws.s3tables.outputs.TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettings; +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemoval { + /** + * @return Settings for unreferenced file removal. + * See `iceberg_unreferenced_file_removal.settings` below + * + */ + private TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettings settings; + /** + * @return Whether the configuration is enabled. + * Valid values are `enabled` and `disabled`. + * + */ + private String status; + + private TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemoval() {} + /** + * @return Settings for unreferenced file removal. + * See `iceberg_unreferenced_file_removal.settings` below + * + */ + public TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettings settings() { + return this.settings; + } + /** + * @return Whether the configuration is enabled. + * Valid values are `enabled` and `disabled`. + * + */ + public String status() { + return this.status; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemoval defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettings settings; + private String status; + public Builder() {} + public Builder(TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemoval defaults) { + Objects.requireNonNull(defaults); + this.settings = defaults.settings; + this.status = defaults.status; + } + + @CustomType.Setter + public Builder settings(TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettings settings) { + if (settings == null) { + throw new MissingRequiredPropertyException("TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemoval", "settings"); + } + this.settings = settings; + return this; + } + @CustomType.Setter + public Builder status(String status) { + if (status == null) { + throw new MissingRequiredPropertyException("TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemoval", "status"); + } + this.status = status; + return this; + } + public TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemoval build() { + final var _resultValue = new TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemoval(); + _resultValue.settings = settings; + _resultValue.status = status; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/s3tables/outputs/TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettings.java b/sdk/java/src/main/java/com/pulumi/aws/s3tables/outputs/TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettings.java new file mode 100644 index 00000000000..742bde33170 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/s3tables/outputs/TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettings.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.s3tables.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.Double; +import java.util.Objects; + +@CustomType +public final class TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettings { + /** + * @return Data objects marked for deletion are deleted after this many days. + * Must be at least `1`. + * + */ + private Double nonCurrentDays; + /** + * @return Unreferenced data objects are marked for deletion after this many days. + * Must be at least `1`. + * + */ + private Double unreferencedDays; + + private TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettings() {} + /** + * @return Data objects marked for deletion are deleted after this many days. + * Must be at least `1`. + * + */ + public Double nonCurrentDays() { + return this.nonCurrentDays; + } + /** + * @return Unreferenced data objects are marked for deletion after this many days. + * Must be at least `1`. + * + */ + public Double unreferencedDays() { + return this.unreferencedDays; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettings defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private Double nonCurrentDays; + private Double unreferencedDays; + public Builder() {} + public Builder(TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettings defaults) { + Objects.requireNonNull(defaults); + this.nonCurrentDays = defaults.nonCurrentDays; + this.unreferencedDays = defaults.unreferencedDays; + } + + @CustomType.Setter + public Builder nonCurrentDays(Double nonCurrentDays) { + if (nonCurrentDays == null) { + throw new MissingRequiredPropertyException("TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettings", "nonCurrentDays"); + } + this.nonCurrentDays = nonCurrentDays; + return this; + } + @CustomType.Setter + public Builder unreferencedDays(Double unreferencedDays) { + if (unreferencedDays == null) { + throw new MissingRequiredPropertyException("TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettings", "unreferencedDays"); + } + this.unreferencedDays = unreferencedDays; + return this; + } + public TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettings build() { + final var _resultValue = new TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettings(); + _resultValue.nonCurrentDays = nonCurrentDays; + _resultValue.unreferencedDays = unreferencedDays; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/s3tables/outputs/TableMaintenanceConfiguration.java b/sdk/java/src/main/java/com/pulumi/aws/s3tables/outputs/TableMaintenanceConfiguration.java new file mode 100644 index 00000000000..7d5d737105f --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/s3tables/outputs/TableMaintenanceConfiguration.java @@ -0,0 +1,86 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.s3tables.outputs; + +import com.pulumi.aws.s3tables.outputs.TableMaintenanceConfigurationIcebergCompaction; +import com.pulumi.aws.s3tables.outputs.TableMaintenanceConfigurationIcebergSnapshotManagement; +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.util.Objects; + +@CustomType +public final class TableMaintenanceConfiguration { + /** + * @return A single Iceberg compaction settings block. + * See `iceberg_compaction` below + * + */ + private TableMaintenanceConfigurationIcebergCompaction icebergCompaction; + /** + * @return A single Iceberg snapshot management settings block. + * See `iceberg_snapshot_management` below + * + */ + private TableMaintenanceConfigurationIcebergSnapshotManagement icebergSnapshotManagement; + + private TableMaintenanceConfiguration() {} + /** + * @return A single Iceberg compaction settings block. + * See `iceberg_compaction` below + * + */ + public TableMaintenanceConfigurationIcebergCompaction icebergCompaction() { + return this.icebergCompaction; + } + /** + * @return A single Iceberg snapshot management settings block. + * See `iceberg_snapshot_management` below + * + */ + public TableMaintenanceConfigurationIcebergSnapshotManagement icebergSnapshotManagement() { + return this.icebergSnapshotManagement; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(TableMaintenanceConfiguration defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private TableMaintenanceConfigurationIcebergCompaction icebergCompaction; + private TableMaintenanceConfigurationIcebergSnapshotManagement icebergSnapshotManagement; + public Builder() {} + public Builder(TableMaintenanceConfiguration defaults) { + Objects.requireNonNull(defaults); + this.icebergCompaction = defaults.icebergCompaction; + this.icebergSnapshotManagement = defaults.icebergSnapshotManagement; + } + + @CustomType.Setter + public Builder icebergCompaction(TableMaintenanceConfigurationIcebergCompaction icebergCompaction) { + if (icebergCompaction == null) { + throw new MissingRequiredPropertyException("TableMaintenanceConfiguration", "icebergCompaction"); + } + this.icebergCompaction = icebergCompaction; + return this; + } + @CustomType.Setter + public Builder icebergSnapshotManagement(TableMaintenanceConfigurationIcebergSnapshotManagement icebergSnapshotManagement) { + if (icebergSnapshotManagement == null) { + throw new MissingRequiredPropertyException("TableMaintenanceConfiguration", "icebergSnapshotManagement"); + } + this.icebergSnapshotManagement = icebergSnapshotManagement; + return this; + } + public TableMaintenanceConfiguration build() { + final var _resultValue = new TableMaintenanceConfiguration(); + _resultValue.icebergCompaction = icebergCompaction; + _resultValue.icebergSnapshotManagement = icebergSnapshotManagement; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/s3tables/outputs/TableMaintenanceConfigurationIcebergCompaction.java b/sdk/java/src/main/java/com/pulumi/aws/s3tables/outputs/TableMaintenanceConfigurationIcebergCompaction.java new file mode 100644 index 00000000000..48c94030fcd --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/s3tables/outputs/TableMaintenanceConfigurationIcebergCompaction.java @@ -0,0 +1,86 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.s3tables.outputs; + +import com.pulumi.aws.s3tables.outputs.TableMaintenanceConfigurationIcebergCompactionSettings; +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class TableMaintenanceConfigurationIcebergCompaction { + /** + * @return Settings for compaction. + * See `iceberg_compaction.settings` below + * + */ + private TableMaintenanceConfigurationIcebergCompactionSettings settings; + /** + * @return Whether the configuration is enabled. + * Valid values are `enabled` and `disabled`. + * + */ + private String status; + + private TableMaintenanceConfigurationIcebergCompaction() {} + /** + * @return Settings for compaction. + * See `iceberg_compaction.settings` below + * + */ + public TableMaintenanceConfigurationIcebergCompactionSettings settings() { + return this.settings; + } + /** + * @return Whether the configuration is enabled. + * Valid values are `enabled` and `disabled`. + * + */ + public String status() { + return this.status; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(TableMaintenanceConfigurationIcebergCompaction defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private TableMaintenanceConfigurationIcebergCompactionSettings settings; + private String status; + public Builder() {} + public Builder(TableMaintenanceConfigurationIcebergCompaction defaults) { + Objects.requireNonNull(defaults); + this.settings = defaults.settings; + this.status = defaults.status; + } + + @CustomType.Setter + public Builder settings(TableMaintenanceConfigurationIcebergCompactionSettings settings) { + if (settings == null) { + throw new MissingRequiredPropertyException("TableMaintenanceConfigurationIcebergCompaction", "settings"); + } + this.settings = settings; + return this; + } + @CustomType.Setter + public Builder status(String status) { + if (status == null) { + throw new MissingRequiredPropertyException("TableMaintenanceConfigurationIcebergCompaction", "status"); + } + this.status = status; + return this; + } + public TableMaintenanceConfigurationIcebergCompaction build() { + final var _resultValue = new TableMaintenanceConfigurationIcebergCompaction(); + _resultValue.settings = settings; + _resultValue.status = status; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/s3tables/outputs/TableMaintenanceConfigurationIcebergCompactionSettings.java b/sdk/java/src/main/java/com/pulumi/aws/s3tables/outputs/TableMaintenanceConfigurationIcebergCompactionSettings.java new file mode 100644 index 00000000000..243afb0c711 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/s3tables/outputs/TableMaintenanceConfigurationIcebergCompactionSettings.java @@ -0,0 +1,60 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.s3tables.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.Double; +import java.util.Objects; + +@CustomType +public final class TableMaintenanceConfigurationIcebergCompactionSettings { + /** + * @return Data objects smaller than this size may be combined with others to improve query performance. + * Must be between `64` and `512`. + * + */ + private Double targetFileSizeMb; + + private TableMaintenanceConfigurationIcebergCompactionSettings() {} + /** + * @return Data objects smaller than this size may be combined with others to improve query performance. + * Must be between `64` and `512`. + * + */ + public Double targetFileSizeMb() { + return this.targetFileSizeMb; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(TableMaintenanceConfigurationIcebergCompactionSettings defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private Double targetFileSizeMb; + public Builder() {} + public Builder(TableMaintenanceConfigurationIcebergCompactionSettings defaults) { + Objects.requireNonNull(defaults); + this.targetFileSizeMb = defaults.targetFileSizeMb; + } + + @CustomType.Setter + public Builder targetFileSizeMb(Double targetFileSizeMb) { + if (targetFileSizeMb == null) { + throw new MissingRequiredPropertyException("TableMaintenanceConfigurationIcebergCompactionSettings", "targetFileSizeMb"); + } + this.targetFileSizeMb = targetFileSizeMb; + return this; + } + public TableMaintenanceConfigurationIcebergCompactionSettings build() { + final var _resultValue = new TableMaintenanceConfigurationIcebergCompactionSettings(); + _resultValue.targetFileSizeMb = targetFileSizeMb; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/s3tables/outputs/TableMaintenanceConfigurationIcebergSnapshotManagement.java b/sdk/java/src/main/java/com/pulumi/aws/s3tables/outputs/TableMaintenanceConfigurationIcebergSnapshotManagement.java new file mode 100644 index 00000000000..c7d66bb1182 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/s3tables/outputs/TableMaintenanceConfigurationIcebergSnapshotManagement.java @@ -0,0 +1,86 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.s3tables.outputs; + +import com.pulumi.aws.s3tables.outputs.TableMaintenanceConfigurationIcebergSnapshotManagementSettings; +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class TableMaintenanceConfigurationIcebergSnapshotManagement { + /** + * @return Settings for snapshot management. + * See `iceberg_snapshot_management.settings` below + * + */ + private TableMaintenanceConfigurationIcebergSnapshotManagementSettings settings; + /** + * @return Whether the configuration is enabled. + * Valid values are `enabled` and `disabled`. + * + */ + private String status; + + private TableMaintenanceConfigurationIcebergSnapshotManagement() {} + /** + * @return Settings for snapshot management. + * See `iceberg_snapshot_management.settings` below + * + */ + public TableMaintenanceConfigurationIcebergSnapshotManagementSettings settings() { + return this.settings; + } + /** + * @return Whether the configuration is enabled. + * Valid values are `enabled` and `disabled`. + * + */ + public String status() { + return this.status; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(TableMaintenanceConfigurationIcebergSnapshotManagement defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private TableMaintenanceConfigurationIcebergSnapshotManagementSettings settings; + private String status; + public Builder() {} + public Builder(TableMaintenanceConfigurationIcebergSnapshotManagement defaults) { + Objects.requireNonNull(defaults); + this.settings = defaults.settings; + this.status = defaults.status; + } + + @CustomType.Setter + public Builder settings(TableMaintenanceConfigurationIcebergSnapshotManagementSettings settings) { + if (settings == null) { + throw new MissingRequiredPropertyException("TableMaintenanceConfigurationIcebergSnapshotManagement", "settings"); + } + this.settings = settings; + return this; + } + @CustomType.Setter + public Builder status(String status) { + if (status == null) { + throw new MissingRequiredPropertyException("TableMaintenanceConfigurationIcebergSnapshotManagement", "status"); + } + this.status = status; + return this; + } + public TableMaintenanceConfigurationIcebergSnapshotManagement build() { + final var _resultValue = new TableMaintenanceConfigurationIcebergSnapshotManagement(); + _resultValue.settings = settings; + _resultValue.status = status; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/s3tables/outputs/TableMaintenanceConfigurationIcebergSnapshotManagementSettings.java b/sdk/java/src/main/java/com/pulumi/aws/s3tables/outputs/TableMaintenanceConfigurationIcebergSnapshotManagementSettings.java new file mode 100644 index 00000000000..d178943f6a7 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/s3tables/outputs/TableMaintenanceConfigurationIcebergSnapshotManagementSettings.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.s3tables.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.Double; +import java.util.Objects; + +@CustomType +public final class TableMaintenanceConfigurationIcebergSnapshotManagementSettings { + /** + * @return Snapshots older than this will be marked for deletiion. + * Must be at least `1`. + * + */ + private Double maxSnapshotAgeHours; + /** + * @return Minimum number of snapshots to keep. + * Must be at least `1`. + * + */ + private Double minSnapshotsToKeep; + + private TableMaintenanceConfigurationIcebergSnapshotManagementSettings() {} + /** + * @return Snapshots older than this will be marked for deletiion. + * Must be at least `1`. + * + */ + public Double maxSnapshotAgeHours() { + return this.maxSnapshotAgeHours; + } + /** + * @return Minimum number of snapshots to keep. + * Must be at least `1`. + * + */ + public Double minSnapshotsToKeep() { + return this.minSnapshotsToKeep; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(TableMaintenanceConfigurationIcebergSnapshotManagementSettings defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private Double maxSnapshotAgeHours; + private Double minSnapshotsToKeep; + public Builder() {} + public Builder(TableMaintenanceConfigurationIcebergSnapshotManagementSettings defaults) { + Objects.requireNonNull(defaults); + this.maxSnapshotAgeHours = defaults.maxSnapshotAgeHours; + this.minSnapshotsToKeep = defaults.minSnapshotsToKeep; + } + + @CustomType.Setter + public Builder maxSnapshotAgeHours(Double maxSnapshotAgeHours) { + if (maxSnapshotAgeHours == null) { + throw new MissingRequiredPropertyException("TableMaintenanceConfigurationIcebergSnapshotManagementSettings", "maxSnapshotAgeHours"); + } + this.maxSnapshotAgeHours = maxSnapshotAgeHours; + return this; + } + @CustomType.Setter + public Builder minSnapshotsToKeep(Double minSnapshotsToKeep) { + if (minSnapshotsToKeep == null) { + throw new MissingRequiredPropertyException("TableMaintenanceConfigurationIcebergSnapshotManagementSettings", "minSnapshotsToKeep"); + } + this.minSnapshotsToKeep = minSnapshotsToKeep; + return this; + } + public TableMaintenanceConfigurationIcebergSnapshotManagementSettings build() { + final var _resultValue = new TableMaintenanceConfigurationIcebergSnapshotManagementSettings(); + _resultValue.maxSnapshotAgeHours = maxSnapshotAgeHours; + _resultValue.minSnapshotsToKeep = minSnapshotsToKeep; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/securityhub/StandardsControlAssociation.java b/sdk/java/src/main/java/com/pulumi/aws/securityhub/StandardsControlAssociation.java index 53dcc714e37..5d515144e89 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/securityhub/StandardsControlAssociation.java +++ b/sdk/java/src/main/java/com/pulumi/aws/securityhub/StandardsControlAssociation.java @@ -30,8 +30,8 @@ * import com.pulumi.aws.securityhub.Account; * import com.pulumi.aws.securityhub.StandardsSubscription; * import com.pulumi.aws.securityhub.StandardsSubscriptionArgs; - * import com.pulumi.aws.standardsControlAssociation; - * import com.pulumi.aws.StandardsControlAssociationArgs; + * import com.pulumi.aws.securityhub.StandardsControlAssociation; + * import com.pulumi.aws.securityhub.StandardsControlAssociationArgs; * import com.pulumi.resources.CustomResourceOptions; * import java.util.List; * import java.util.ArrayList; diff --git a/sdk/nodejs/bedrock/agentAgent.ts b/sdk/nodejs/bedrock/agentAgent.ts index c0294414f74..0bddf9402db 100644 --- a/sdk/nodejs/bedrock/agentAgent.ts +++ b/sdk/nodejs/bedrock/agentAgent.ts @@ -134,13 +134,16 @@ export class AgentAgent extends pulumi.CustomResource { * The following arguments are optional: */ public readonly foundationModel!: pulumi.Output; + /** + * Details about the guardrail associated with the agent. See `guardrailConfiguration` Block for details. + */ public readonly guardrailConfigurations!: pulumi.Output; /** * Number of seconds for which Amazon Bedrock keeps information about a user's conversation with the agent. A user interaction remains active for the amount of time specified. If no conversation occurs during this time, the session expires and Amazon Bedrock deletes any data provided before the timeout. */ public readonly idleSessionTtlInSeconds!: pulumi.Output; /** - * Instructions that tell the agent what it should do and how it should interact with users. + * Instructions that tell the agent what it should do and how it should interact with users. The valid range is 40 - 8000 characters. */ public readonly instruction!: pulumi.Output; /** @@ -269,13 +272,16 @@ export interface AgentAgentState { * The following arguments are optional: */ foundationModel?: pulumi.Input; + /** + * Details about the guardrail associated with the agent. See `guardrailConfiguration` Block for details. + */ guardrailConfigurations?: pulumi.Input[]>; /** * Number of seconds for which Amazon Bedrock keeps information about a user's conversation with the agent. A user interaction remains active for the amount of time specified. If no conversation occurs during this time, the session expires and Amazon Bedrock deletes any data provided before the timeout. */ idleSessionTtlInSeconds?: pulumi.Input; /** - * Instructions that tell the agent what it should do and how it should interact with users. + * Instructions that tell the agent what it should do and how it should interact with users. The valid range is 40 - 8000 characters. */ instruction?: pulumi.Input; /** @@ -329,13 +335,16 @@ export interface AgentAgentArgs { * The following arguments are optional: */ foundationModel: pulumi.Input; + /** + * Details about the guardrail associated with the agent. See `guardrailConfiguration` Block for details. + */ guardrailConfigurations?: pulumi.Input[]>; /** * Number of seconds for which Amazon Bedrock keeps information about a user's conversation with the agent. A user interaction remains active for the amount of time specified. If no conversation occurs during this time, the session expires and Amazon Bedrock deletes any data provided before the timeout. */ idleSessionTtlInSeconds?: pulumi.Input; /** - * Instructions that tell the agent what it should do and how it should interact with users. + * Instructions that tell the agent what it should do and how it should interact with users. The valid range is 40 - 8000 characters. */ instruction?: pulumi.Input; /** diff --git a/sdk/nodejs/codeconnections/connection.ts b/sdk/nodejs/codeconnections/connection.ts new file mode 100644 index 00000000000..db79f215603 --- /dev/null +++ b/sdk/nodejs/codeconnections/connection.ts @@ -0,0 +1,196 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../types/input"; +import * as outputs from "../types/output"; +import * as enums from "../types/enums"; +import * as utilities from "../utilities"; + +/** + * Resource for managing an AWS CodeConnections Connection. + * + * > **NOTE:** The `aws.codeconnections.Connection` resource is created in the state `PENDING`. Authentication with the connection provider must be completed in the AWS Console. See the [AWS documentation](https://docs.aws.amazon.com/dtconsole/latest/userguide/connections-update.html) for details. + * + * ## Example Usage + * + * ### Basic Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as aws from "@pulumi/aws"; + * + * const example = new aws.codeconnections.Connection("example", { + * name: "example-connection", + * providerType: "Bitbucket", + * }); + * ``` + * + * ## Import + * + * Using `pulumi import`, import CodeConnections connection using the ARN. For example: + * + * ```sh + * $ pulumi import aws:codeconnections/connection:Connection test-connection arn:aws:codeconnections:us-west-1:0123456789:connection/79d4d357-a2ee-41e4-b350-2fe39ae59448 + * ``` + */ +export class Connection extends pulumi.CustomResource { + /** + * Get an existing Connection 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?: ConnectionState, opts?: pulumi.CustomResourceOptions): Connection { + return new Connection(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'aws:codeconnections/connection:Connection'; + + /** + * Returns true if the given object is an instance of Connection. 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 Connection { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === Connection.__pulumiType; + } + + /** + * The codeconnections connection ARN. + */ + public /*out*/ readonly arn!: pulumi.Output; + /** + * The codeconnections connection status. Possible values are `PENDING`, `AVAILABLE` and `ERROR`. + */ + public /*out*/ readonly connectionStatus!: pulumi.Output; + /** + * The Amazon Resource Name (ARN) of the host associated with the connection. Conflicts with `providerType` + */ + public readonly hostArn!: pulumi.Output; + /** + * The name of the connection to be created. The name must be unique in the calling AWS account. Changing `name` will create a new resource. + */ + public readonly name!: pulumi.Output; + public /*out*/ readonly ownerAccountId!: pulumi.Output; + /** + * The name of the external provider where your third-party code repository is configured. Changing `providerType` will create a new resource. Conflicts with `hostArn`. + */ + public readonly providerType!: pulumi.Output; + /** + * Map of key-value resource tags to associate with the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + */ + public readonly tags!: pulumi.Output<{[key: string]: string} | undefined>; + /** + * A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + * + * @deprecated Please use `tags` instead. + */ + public /*out*/ readonly tagsAll!: pulumi.Output<{[key: string]: string}>; + public readonly timeouts!: pulumi.Output; + + /** + * Create a Connection 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?: ConnectionArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: ConnectionArgs | ConnectionState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as ConnectionState | undefined; + resourceInputs["arn"] = state ? state.arn : undefined; + resourceInputs["connectionStatus"] = state ? state.connectionStatus : undefined; + resourceInputs["hostArn"] = state ? state.hostArn : undefined; + resourceInputs["name"] = state ? state.name : undefined; + resourceInputs["ownerAccountId"] = state ? state.ownerAccountId : undefined; + resourceInputs["providerType"] = state ? state.providerType : undefined; + resourceInputs["tags"] = state ? state.tags : undefined; + resourceInputs["tagsAll"] = state ? state.tagsAll : undefined; + resourceInputs["timeouts"] = state ? state.timeouts : undefined; + } else { + const args = argsOrState as ConnectionArgs | undefined; + resourceInputs["hostArn"] = args ? args.hostArn : undefined; + resourceInputs["name"] = args ? args.name : undefined; + resourceInputs["providerType"] = args ? args.providerType : undefined; + resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["timeouts"] = args ? args.timeouts : undefined; + resourceInputs["arn"] = undefined /*out*/; + resourceInputs["connectionStatus"] = undefined /*out*/; + resourceInputs["ownerAccountId"] = undefined /*out*/; + resourceInputs["tagsAll"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(Connection.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering Connection resources. + */ +export interface ConnectionState { + /** + * The codeconnections connection ARN. + */ + arn?: pulumi.Input; + /** + * The codeconnections connection status. Possible values are `PENDING`, `AVAILABLE` and `ERROR`. + */ + connectionStatus?: pulumi.Input; + /** + * The Amazon Resource Name (ARN) of the host associated with the connection. Conflicts with `providerType` + */ + hostArn?: pulumi.Input; + /** + * The name of the connection to be created. The name must be unique in the calling AWS account. Changing `name` will create a new resource. + */ + name?: pulumi.Input; + ownerAccountId?: pulumi.Input; + /** + * The name of the external provider where your third-party code repository is configured. Changing `providerType` will create a new resource. Conflicts with `hostArn`. + */ + providerType?: pulumi.Input; + /** + * Map of key-value resource tags to associate with the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + */ + tags?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + * + * @deprecated Please use `tags` instead. + */ + tagsAll?: pulumi.Input<{[key: string]: pulumi.Input}>; + timeouts?: pulumi.Input; +} + +/** + * The set of arguments for constructing a Connection resource. + */ +export interface ConnectionArgs { + /** + * The Amazon Resource Name (ARN) of the host associated with the connection. Conflicts with `providerType` + */ + hostArn?: pulumi.Input; + /** + * The name of the connection to be created. The name must be unique in the calling AWS account. Changing `name` will create a new resource. + */ + name?: pulumi.Input; + /** + * The name of the external provider where your third-party code repository is configured. Changing `providerType` will create a new resource. Conflicts with `hostArn`. + */ + providerType?: pulumi.Input; + /** + * Map of key-value resource tags to associate with 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/codeconnections/host.ts b/sdk/nodejs/codeconnections/host.ts new file mode 100644 index 00000000000..9493e764732 --- /dev/null +++ b/sdk/nodejs/codeconnections/host.ts @@ -0,0 +1,190 @@ +// *** WARNING: this file 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 CodeConnections Host. + * + * > **NOTE:** The `aws.codeconnections.Host` resource is created in the state `PENDING`. Authentication with the host provider must be completed in the AWS Console. For more information visit [Set up a pending host](https://docs.aws.amazon.com/dtconsole/latest/userguide/connections-host-setup.html). + * + * ## Example Usage + * + * ### Basic Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as aws from "@pulumi/aws"; + * + * const example = new aws.codeconnections.Host("example", { + * name: "example-host", + * providerEndpoint: "https://example.com", + * providerType: "GitHubEnterpriseServer", + * }); + * ``` + * + * ## Import + * + * Using `pulumi import`, import CodeConnections Host using the ARN. For example: + * + * ```sh + * $ pulumi import aws:codeconnections/host:Host example-host arn:aws:codeconnections:us-west-1:0123456789:host/79d4d357-a2ee-41e4-b350-2fe39ae59448 + * ``` + */ +export class Host extends pulumi.CustomResource { + /** + * 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 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?: HostState, opts?: pulumi.CustomResourceOptions): Host { + return new Host(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'aws:codeconnections/host:Host'; + + /** + * Returns true if the given object is an instance of Host. 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 Host { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === Host.__pulumiType; + } + + /** + * The CodeConnections Host ARN. + */ + public /*out*/ readonly arn!: pulumi.Output; + /** + * The name of the host to be created. The name must be unique in the calling AWS account. + */ + public readonly name!: pulumi.Output; + /** + * The endpoint of the infrastructure to be represented by the host after it is created. + */ + public readonly providerEndpoint!: pulumi.Output; + /** + * The name of the external provider where your third-party code repository is configured. + */ + public readonly providerType!: pulumi.Output; + public readonly tags!: pulumi.Output<{[key: string]: string} | undefined>; + /** + * @deprecated Please use `tags` instead. + */ + public /*out*/ readonly tagsAll!: pulumi.Output<{[key: string]: string}>; + public readonly timeouts!: pulumi.Output; + /** + * The VPC configuration to be provisioned for the host. A VPC must be configured, and the infrastructure to be represented by the host must already be connected to the VPC. + */ + public readonly vpcConfiguration!: pulumi.Output; + + /** + * Create a Host 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: HostArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: HostArgs | HostState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as HostState | undefined; + resourceInputs["arn"] = state ? state.arn : undefined; + resourceInputs["name"] = state ? state.name : undefined; + resourceInputs["providerEndpoint"] = state ? state.providerEndpoint : undefined; + resourceInputs["providerType"] = state ? state.providerType : undefined; + resourceInputs["tags"] = state ? state.tags : undefined; + resourceInputs["tagsAll"] = state ? state.tagsAll : undefined; + resourceInputs["timeouts"] = state ? state.timeouts : undefined; + resourceInputs["vpcConfiguration"] = state ? state.vpcConfiguration : undefined; + } else { + const args = argsOrState as HostArgs | undefined; + if ((!args || args.providerEndpoint === undefined) && !opts.urn) { + throw new Error("Missing required property 'providerEndpoint'"); + } + if ((!args || args.providerType === undefined) && !opts.urn) { + throw new Error("Missing required property 'providerType'"); + } + resourceInputs["name"] = args ? args.name : undefined; + resourceInputs["providerEndpoint"] = args ? args.providerEndpoint : undefined; + resourceInputs["providerType"] = args ? args.providerType : undefined; + resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["timeouts"] = args ? args.timeouts : undefined; + resourceInputs["vpcConfiguration"] = args ? args.vpcConfiguration : undefined; + resourceInputs["arn"] = undefined /*out*/; + resourceInputs["tagsAll"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(Host.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering Host resources. + */ +export interface HostState { + /** + * The CodeConnections Host ARN. + */ + arn?: pulumi.Input; + /** + * The name of the host to be created. The name must be unique in the calling AWS account. + */ + name?: pulumi.Input; + /** + * The endpoint of the infrastructure to be represented by the host after it is created. + */ + providerEndpoint?: pulumi.Input; + /** + * The name of the external provider where your third-party code repository is configured. + */ + providerType?: pulumi.Input; + tags?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * @deprecated Please use `tags` instead. + */ + tagsAll?: pulumi.Input<{[key: string]: pulumi.Input}>; + timeouts?: pulumi.Input; + /** + * The VPC configuration to be provisioned for the host. A VPC must be configured, and the infrastructure to be represented by the host must already be connected to the VPC. + */ + vpcConfiguration?: pulumi.Input; +} + +/** + * The set of arguments for constructing a Host resource. + */ +export interface HostArgs { + /** + * The name of the host to be created. The name must be unique in the calling AWS account. + */ + name?: pulumi.Input; + /** + * The endpoint of the infrastructure to be represented by the host after it is created. + */ + providerEndpoint: pulumi.Input; + /** + * The name of the external provider where your third-party code repository is configured. + */ + providerType: pulumi.Input; + tags?: pulumi.Input<{[key: string]: pulumi.Input}>; + timeouts?: pulumi.Input; + /** + * The VPC configuration to be provisioned for the host. A VPC must be configured, and the infrastructure to be represented by the host must already be connected to the VPC. + */ + vpcConfiguration?: pulumi.Input; +} diff --git a/sdk/nodejs/codeconnections/index.ts b/sdk/nodejs/codeconnections/index.ts new file mode 100644 index 00000000000..0534bf32465 --- /dev/null +++ b/sdk/nodejs/codeconnections/index.ts @@ -0,0 +1,33 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as utilities from "../utilities"; + +// Export members: +export { ConnectionArgs, ConnectionState } from "./connection"; +export type Connection = import("./connection").Connection; +export const Connection: typeof import("./connection").Connection = null as any; +utilities.lazyLoad(exports, ["Connection"], () => require("./connection")); + +export { HostArgs, HostState } from "./host"; +export type Host = import("./host").Host; +export const Host: typeof import("./host").Host = null as any; +utilities.lazyLoad(exports, ["Host"], () => require("./host")); + + +const _module = { + version: utilities.getVersion(), + construct: (name: string, type: string, urn: string): pulumi.Resource => { + switch (type) { + case "aws:codeconnections/connection:Connection": + return new Connection(name, undefined, { urn }) + case "aws:codeconnections/host:Host": + return new Host(name, undefined, { urn }) + default: + throw new Error(`unknown resource type ${type}`); + } + }, +}; +pulumi.runtime.registerResourceModule("aws", "codeconnections/connection", _module) +pulumi.runtime.registerResourceModule("aws", "codeconnections/host", _module) diff --git a/sdk/nodejs/dynamodb/tableReplica.ts b/sdk/nodejs/dynamodb/tableReplica.ts index 7062737b84f..4fec0c19053 100644 --- a/sdk/nodejs/dynamodb/tableReplica.ts +++ b/sdk/nodejs/dynamodb/tableReplica.ts @@ -81,6 +81,10 @@ export class TableReplica extends pulumi.CustomResource { * ARN of the table replica. */ public /*out*/ readonly arn!: pulumi.Output; + /** + * Whether deletion protection is enabled (true) or disabled (false) on the table replica. + */ + public readonly deletionProtectionEnabled!: pulumi.Output; /** * ARN of the _main_ or global table which this resource will replicate. * @@ -92,7 +96,7 @@ export class TableReplica extends pulumi.CustomResource { */ public readonly kmsKeyArn!: pulumi.Output; /** - * Whether to enable Point In Time Recovery for the replica. Default is `false`. + * Whether to enable Point In Time Recovery for the table replica. Default is `false`. */ public readonly pointInTimeRecovery!: pulumi.Output; /** @@ -124,6 +128,7 @@ export class TableReplica extends pulumi.CustomResource { if (opts.id) { const state = argsOrState as TableReplicaState | undefined; resourceInputs["arn"] = state ? state.arn : undefined; + resourceInputs["deletionProtectionEnabled"] = state ? state.deletionProtectionEnabled : undefined; resourceInputs["globalTableArn"] = state ? state.globalTableArn : undefined; resourceInputs["kmsKeyArn"] = state ? state.kmsKeyArn : undefined; resourceInputs["pointInTimeRecovery"] = state ? state.pointInTimeRecovery : undefined; @@ -135,6 +140,7 @@ export class TableReplica extends pulumi.CustomResource { if ((!args || args.globalTableArn === undefined) && !opts.urn) { throw new Error("Missing required property 'globalTableArn'"); } + resourceInputs["deletionProtectionEnabled"] = args ? args.deletionProtectionEnabled : undefined; resourceInputs["globalTableArn"] = args ? args.globalTableArn : undefined; resourceInputs["kmsKeyArn"] = args ? args.kmsKeyArn : undefined; resourceInputs["pointInTimeRecovery"] = args ? args.pointInTimeRecovery : undefined; @@ -156,6 +162,10 @@ export interface TableReplicaState { * ARN of the table replica. */ arn?: pulumi.Input; + /** + * Whether deletion protection is enabled (true) or disabled (false) on the table replica. + */ + deletionProtectionEnabled?: pulumi.Input; /** * ARN of the _main_ or global table which this resource will replicate. * @@ -167,7 +177,7 @@ export interface TableReplicaState { */ kmsKeyArn?: pulumi.Input; /** - * Whether to enable Point In Time Recovery for the replica. Default is `false`. + * Whether to enable Point In Time Recovery for the table replica. Default is `false`. */ pointInTimeRecovery?: pulumi.Input; /** @@ -190,6 +200,10 @@ export interface TableReplicaState { * The set of arguments for constructing a TableReplica resource. */ export interface TableReplicaArgs { + /** + * Whether deletion protection is enabled (true) or disabled (false) on the table replica. + */ + deletionProtectionEnabled?: pulumi.Input; /** * ARN of the _main_ or global table which this resource will replicate. * @@ -201,7 +215,7 @@ export interface TableReplicaArgs { */ kmsKeyArn?: pulumi.Input; /** - * Whether to enable Point In Time Recovery for the replica. Default is `false`. + * Whether to enable Point In Time Recovery for the table replica. Default is `false`. */ pointInTimeRecovery?: pulumi.Input; /** diff --git a/sdk/nodejs/index.ts b/sdk/nodejs/index.ts index 20480d6408f..034ff3a167b 100644 --- a/sdk/nodejs/index.ts +++ b/sdk/nodejs/index.ts @@ -127,6 +127,7 @@ import * as codeartifact from "./codeartifact"; import * as codebuild from "./codebuild"; import * as codecatalyst from "./codecatalyst"; import * as codecommit from "./codecommit"; +import * as codeconnections from "./codeconnections"; import * as codedeploy from "./codedeploy"; import * as codeguruprofiler from "./codeguruprofiler"; import * as codegurureviewer from "./codegurureviewer"; @@ -255,6 +256,7 @@ import * as rum from "./rum"; import * as s3 from "./s3"; import * as s3control from "./s3control"; import * as s3outposts from "./s3outposts"; +import * as s3tables from "./s3tables"; import * as sagemaker from "./sagemaker"; import * as scheduler from "./scheduler"; import * as schemas from "./schemas"; @@ -345,6 +347,7 @@ export { codebuild, codecatalyst, codecommit, + codeconnections, codedeploy, codeguruprofiler, codegurureviewer, @@ -473,6 +476,7 @@ export { s3, s3control, s3outposts, + s3tables, sagemaker, scheduler, schemas, diff --git a/sdk/nodejs/rds/clusterInstance.ts b/sdk/nodejs/rds/clusterInstance.ts index 89c2e815903..85877bdfc9c 100644 --- a/sdk/nodejs/rds/clusterInstance.ts +++ b/sdk/nodejs/rds/clusterInstance.ts @@ -153,6 +153,10 @@ export class ClusterInstance extends pulumi.CustomResource { * Database engine version */ public /*out*/ readonly engineVersionActual!: pulumi.Output; + /** + * Forces an instance to be destroyed when a part of a read replica cluster. **Note:** will promote the read replica to a standalone cluster before instance deletion. + */ + public readonly forceDestroy!: pulumi.Output; /** * Identifier for the RDS instance, if omitted, Pulumi will assign a random, unique identifier. */ @@ -260,6 +264,7 @@ export class ClusterInstance extends pulumi.CustomResource { resourceInputs["engine"] = state ? state.engine : undefined; resourceInputs["engineVersion"] = state ? state.engineVersion : undefined; resourceInputs["engineVersionActual"] = state ? state.engineVersionActual : undefined; + resourceInputs["forceDestroy"] = state ? state.forceDestroy : undefined; resourceInputs["identifier"] = state ? state.identifier : undefined; resourceInputs["identifierPrefix"] = state ? state.identifierPrefix : undefined; resourceInputs["instanceClass"] = state ? state.instanceClass : undefined; @@ -301,6 +306,7 @@ export class ClusterInstance extends pulumi.CustomResource { resourceInputs["dbSubnetGroupName"] = args ? args.dbSubnetGroupName : undefined; resourceInputs["engine"] = args ? args.engine : undefined; resourceInputs["engineVersion"] = args ? args.engineVersion : undefined; + resourceInputs["forceDestroy"] = args ? args.forceDestroy : undefined; resourceInputs["identifier"] = args ? args.identifier : undefined; resourceInputs["identifierPrefix"] = args ? args.identifierPrefix : undefined; resourceInputs["instanceClass"] = args ? args.instanceClass : undefined; @@ -395,6 +401,10 @@ export interface ClusterInstanceState { * Database engine version */ engineVersionActual?: pulumi.Input; + /** + * Forces an instance to be destroyed when a part of a read replica cluster. **Note:** will promote the read replica to a standalone cluster before instance deletion. + */ + forceDestroy?: pulumi.Input; /** * Identifier for the RDS instance, if omitted, Pulumi will assign a random, unique identifier. */ @@ -524,6 +534,10 @@ export interface ClusterInstanceArgs { * Database engine version. Please note that to upgrade the `engineVersion` of the instance, it must be done on the `aws.rds.Cluster` `engineVersion`. Trying to upgrade in `awsClusterInstance` will not update the `engineVersion`. */ engineVersion?: pulumi.Input; + /** + * Forces an instance to be destroyed when a part of a read replica cluster. **Note:** will promote the read replica to a standalone cluster before instance deletion. + */ + forceDestroy?: pulumi.Input; /** * Identifier for the RDS instance, if omitted, Pulumi will assign a random, unique identifier. */ diff --git a/sdk/nodejs/rds/parameterGroup.ts b/sdk/nodejs/rds/parameterGroup.ts index 466c5099706..96086fceff1 100644 --- a/sdk/nodejs/rds/parameterGroup.ts +++ b/sdk/nodejs/rds/parameterGroup.ts @@ -8,45 +8,6 @@ import * as enums from "../types/enums"; import * as utilities from "../utilities"; /** - * Provides an RDS DB parameter group resource. Documentation of the available parameters for various RDS engines can be found at: - * - * * [Aurora MySQL Parameters](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AuroraMySQL.Reference.html) - * * [Aurora PostgreSQL Parameters](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AuroraPostgreSQL.Reference.html) - * * [MariaDB Parameters](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.MariaDB.Parameters.html) - * * [Oracle Parameters](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ModifyInstance.Oracle.html#USER_ModifyInstance.Oracle.sqlnet) - * * [PostgreSQL Parameters](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.PostgreSQL.CommonDBATasks.html#Appendix.PostgreSQL.CommonDBATasks.Parameters) - * - * > **Hands-on:** For an example of the `aws.rds.ParameterGroup` in use, follow the Manage AWS RDS Instances tutorial on HashiCorp Learn. - * - * > **NOTE**: to make diffs less confusing, the AWS provider will ignore changes for a `parameter` whose `value` remains - * unchanged but whose `applyMethod` is changing (e.g., from `immediate` to `pending-reboot`, or `pending-reboot` to - * `immediate`). This matches the cloud: if only the apply method of a parameter is changing, the AWS API will not register - * this change. To change the `applyMethod` of a parameter, its value must also change. - * - * ## Example Usage - * - * ### Basic Usage - * - * ```typescript - * import * as pulumi from "@pulumi/pulumi"; - * import * as aws from "@pulumi/aws"; - * - * const _default = new aws.rds.ParameterGroup("default", { - * name: "rds-pg", - * family: "mysql5.6", - * parameters: [ - * { - * name: "character_set_server", - * value: "utf8", - * }, - * { - * name: "character_set_client", - * value: "utf8", - * }, - * ], - * }); - * ``` - * * ## Import * * Using `pulumi import`, import DB Parameter groups using the `name`. For example: diff --git a/sdk/nodejs/s3tables/index.ts b/sdk/nodejs/s3tables/index.ts new file mode 100644 index 00000000000..0854954c925 --- /dev/null +++ b/sdk/nodejs/s3tables/index.ts @@ -0,0 +1,57 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as utilities from "../utilities"; + +// Export members: +export { NamespaceArgs, NamespaceState } from "./namespace"; +export type Namespace = import("./namespace").Namespace; +export const Namespace: typeof import("./namespace").Namespace = null as any; +utilities.lazyLoad(exports, ["Namespace"], () => require("./namespace")); + +export { TableArgs, TableState } from "./table"; +export type Table = import("./table").Table; +export const Table: typeof import("./table").Table = null as any; +utilities.lazyLoad(exports, ["Table"], () => require("./table")); + +export { TableBucketArgs, TableBucketState } from "./tableBucket"; +export type TableBucket = import("./tableBucket").TableBucket; +export const TableBucket: typeof import("./tableBucket").TableBucket = null as any; +utilities.lazyLoad(exports, ["TableBucket"], () => require("./tableBucket")); + +export { TableBucketPolicyArgs, TableBucketPolicyState } from "./tableBucketPolicy"; +export type TableBucketPolicy = import("./tableBucketPolicy").TableBucketPolicy; +export const TableBucketPolicy: typeof import("./tableBucketPolicy").TableBucketPolicy = null as any; +utilities.lazyLoad(exports, ["TableBucketPolicy"], () => require("./tableBucketPolicy")); + +export { TablePolicyArgs, TablePolicyState } from "./tablePolicy"; +export type TablePolicy = import("./tablePolicy").TablePolicy; +export const TablePolicy: typeof import("./tablePolicy").TablePolicy = null as any; +utilities.lazyLoad(exports, ["TablePolicy"], () => require("./tablePolicy")); + + +const _module = { + version: utilities.getVersion(), + construct: (name: string, type: string, urn: string): pulumi.Resource => { + switch (type) { + case "aws:s3tables/namespace:Namespace": + return new Namespace(name, undefined, { urn }) + case "aws:s3tables/table:Table": + return new Table(name, undefined, { urn }) + case "aws:s3tables/tableBucket:TableBucket": + return new TableBucket(name, undefined, { urn }) + case "aws:s3tables/tableBucketPolicy:TableBucketPolicy": + return new TableBucketPolicy(name, undefined, { urn }) + case "aws:s3tables/tablePolicy:TablePolicy": + return new TablePolicy(name, undefined, { urn }) + default: + throw new Error(`unknown resource type ${type}`); + } + }, +}; +pulumi.runtime.registerResourceModule("aws", "s3tables/namespace", _module) +pulumi.runtime.registerResourceModule("aws", "s3tables/table", _module) +pulumi.runtime.registerResourceModule("aws", "s3tables/tableBucket", _module) +pulumi.runtime.registerResourceModule("aws", "s3tables/tableBucketPolicy", _module) +pulumi.runtime.registerResourceModule("aws", "s3tables/tablePolicy", _module) diff --git a/sdk/nodejs/s3tables/namespace.ts b/sdk/nodejs/s3tables/namespace.ts new file mode 100644 index 00000000000..4a9b38af1c5 --- /dev/null +++ b/sdk/nodejs/s3tables/namespace.ts @@ -0,0 +1,163 @@ +// *** WARNING: this file 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 Amazon S3 Tables Namespace. + * + * ## Example Usage + * + * ### Basic Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as aws from "@pulumi/aws"; + * + * const exampleTableBucket = new aws.s3tables.TableBucket("example", {name: "example-bucket"}); + * const example = new aws.s3tables.Namespace("example", { + * namespace: "example-namespace", + * tableBucketArn: exampleTableBucket.arn, + * }); + * ``` + * + * ## Import + * + * Using `pulumi import`, import S3 Tables Namespace using the `table_bucket_arn` and the value of `namespace`, separated by a semicolon (`;`). For example: + * + * ```sh + * $ pulumi import aws:s3tables/namespace:Namespace example 'arn:aws:s3tables:us-west-2:123456789012:bucket/example-bucket;example-namespace' + * ``` + */ +export class Namespace extends pulumi.CustomResource { + /** + * Get an existing Namespace 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?: NamespaceState, opts?: pulumi.CustomResourceOptions): Namespace { + return new Namespace(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'aws:s3tables/namespace:Namespace'; + + /** + * Returns true if the given object is an instance of Namespace. 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 Namespace { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === Namespace.__pulumiType; + } + + /** + * Date and time when the namespace was created. + */ + public /*out*/ readonly createdAt!: pulumi.Output; + /** + * Account ID of the account that created the namespace. + */ + public /*out*/ readonly createdBy!: pulumi.Output; + /** + * Name of the namespace. + * Must be between 1 and 255 characters in length. + * Can consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number. + */ + public readonly namespace!: pulumi.Output; + /** + * Account ID of the account that owns the namespace. + */ + public /*out*/ readonly ownerAccountId!: pulumi.Output; + /** + * ARN referencing the Table Bucket that contains this Namespace. + */ + public readonly tableBucketArn!: pulumi.Output; + + /** + * Create a Namespace 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: NamespaceArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: NamespaceArgs | NamespaceState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as NamespaceState | undefined; + resourceInputs["createdAt"] = state ? state.createdAt : undefined; + resourceInputs["createdBy"] = state ? state.createdBy : undefined; + resourceInputs["namespace"] = state ? state.namespace : undefined; + resourceInputs["ownerAccountId"] = state ? state.ownerAccountId : undefined; + resourceInputs["tableBucketArn"] = state ? state.tableBucketArn : undefined; + } else { + const args = argsOrState as NamespaceArgs | undefined; + if ((!args || args.namespace === undefined) && !opts.urn) { + throw new Error("Missing required property 'namespace'"); + } + if ((!args || args.tableBucketArn === undefined) && !opts.urn) { + throw new Error("Missing required property 'tableBucketArn'"); + } + resourceInputs["namespace"] = args ? args.namespace : undefined; + resourceInputs["tableBucketArn"] = args ? args.tableBucketArn : undefined; + resourceInputs["createdAt"] = undefined /*out*/; + resourceInputs["createdBy"] = undefined /*out*/; + resourceInputs["ownerAccountId"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(Namespace.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering Namespace resources. + */ +export interface NamespaceState { + /** + * Date and time when the namespace was created. + */ + createdAt?: pulumi.Input; + /** + * Account ID of the account that created the namespace. + */ + createdBy?: pulumi.Input; + /** + * Name of the namespace. + * Must be between 1 and 255 characters in length. + * Can consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number. + */ + namespace?: pulumi.Input; + /** + * Account ID of the account that owns the namespace. + */ + ownerAccountId?: pulumi.Input; + /** + * ARN referencing the Table Bucket that contains this Namespace. + */ + tableBucketArn?: pulumi.Input; +} + +/** + * The set of arguments for constructing a Namespace resource. + */ +export interface NamespaceArgs { + /** + * Name of the namespace. + * Must be between 1 and 255 characters in length. + * Can consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number. + */ + namespace: pulumi.Input; + /** + * ARN referencing the Table Bucket that contains this Namespace. + */ + tableBucketArn: pulumi.Input; +} diff --git a/sdk/nodejs/s3tables/table.ts b/sdk/nodejs/s3tables/table.ts new file mode 100644 index 00000000000..ab3a7fdd494 --- /dev/null +++ b/sdk/nodejs/s3tables/table.ts @@ -0,0 +1,307 @@ +// *** WARNING: this file 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 Amazon S3 Tables Table. + * + * ## Example Usage + * + * ### Basic Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as aws from "@pulumi/aws"; + * + * const exampleTableBucket = new aws.s3tables.TableBucket("example", {name: "example-bucket"}); + * const exampleNamespace = new aws.s3tables.Namespace("example", { + * namespace: "example-namespace", + * tableBucketArn: exampleTableBucket.arn, + * }); + * const example = new aws.s3tables.Table("example", { + * name: "example-table", + * namespace: exampleNamespace, + * tableBucketArn: exampleNamespace.tableBucketArn, + * format: "ICEBERG", + * }); + * ``` + * + * ## Import + * + * Using `pulumi import`, import S3 Tables Table using the `table_bucket_arn`, the value of `namespace`, and the value of `name`, separated by a semicolon (`;`). For example: + * + * ```sh + * $ pulumi import aws:s3tables/table:Table example 'arn:aws:s3tables:us-west-2:123456789012:bucket/example-bucket;example-namespace;example-table' + * ``` + */ +export class Table extends pulumi.CustomResource { + /** + * Get an existing Table 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?: TableState, opts?: pulumi.CustomResourceOptions): Table { + return new Table(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'aws:s3tables/table:Table'; + + /** + * Returns true if the given object is an instance of Table. 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 Table { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === Table.__pulumiType; + } + + /** + * ARN of the table. + */ + public /*out*/ readonly arn!: pulumi.Output; + /** + * Date and time when the namespace was created. + */ + public /*out*/ readonly createdAt!: pulumi.Output; + /** + * Account ID of the account that created the namespace. + */ + public /*out*/ readonly createdBy!: pulumi.Output; + /** + * Format of the table. + * Must be `ICEBERG`. + */ + public readonly format!: pulumi.Output; + /** + * A single table bucket maintenance configuration block. + * See `maintenanceConfiguration` below + */ + public readonly maintenanceConfiguration!: pulumi.Output; + /** + * Location of table metadata. + */ + public /*out*/ readonly metadataLocation!: pulumi.Output; + /** + * Date and time when the namespace was last modified. + */ + public /*out*/ readonly modifiedAt!: pulumi.Output; + /** + * Account ID of the account that last modified the namespace. + */ + public /*out*/ readonly modifiedBy!: pulumi.Output; + /** + * Name of the table. + * Must be between 1 and 255 characters in length. + * Can consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number. + */ + public readonly name!: pulumi.Output; + /** + * Name of the namespace for this table. + * Must be between 1 and 255 characters in length. + * Can consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number. + */ + public readonly namespace!: pulumi.Output; + /** + * Account ID of the account that owns the namespace. + */ + public /*out*/ readonly ownerAccountId!: pulumi.Output; + /** + * ARN referencing the Table Bucket that contains this Namespace. + * + * The following argument is optional: + */ + public readonly tableBucketArn!: pulumi.Output; + /** + * Type of the table. + * One of `customer` or `aws`. + */ + public /*out*/ readonly type!: pulumi.Output; + /** + * Identifier for the current version of table data. + */ + public /*out*/ readonly versionToken!: pulumi.Output; + /** + * S3 URI pointing to the S3 Bucket that contains the table data. + */ + public /*out*/ readonly warehouseLocation!: pulumi.Output; + + /** + * Create a Table 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: TableArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: TableArgs | TableState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as TableState | undefined; + resourceInputs["arn"] = state ? state.arn : undefined; + resourceInputs["createdAt"] = state ? state.createdAt : undefined; + resourceInputs["createdBy"] = state ? state.createdBy : undefined; + resourceInputs["format"] = state ? state.format : undefined; + resourceInputs["maintenanceConfiguration"] = state ? state.maintenanceConfiguration : undefined; + resourceInputs["metadataLocation"] = state ? state.metadataLocation : undefined; + resourceInputs["modifiedAt"] = state ? state.modifiedAt : undefined; + resourceInputs["modifiedBy"] = state ? state.modifiedBy : undefined; + resourceInputs["name"] = state ? state.name : undefined; + resourceInputs["namespace"] = state ? state.namespace : undefined; + resourceInputs["ownerAccountId"] = state ? state.ownerAccountId : undefined; + resourceInputs["tableBucketArn"] = state ? state.tableBucketArn : undefined; + resourceInputs["type"] = state ? state.type : undefined; + resourceInputs["versionToken"] = state ? state.versionToken : undefined; + resourceInputs["warehouseLocation"] = state ? state.warehouseLocation : undefined; + } else { + const args = argsOrState as TableArgs | undefined; + if ((!args || args.format === undefined) && !opts.urn) { + throw new Error("Missing required property 'format'"); + } + if ((!args || args.namespace === undefined) && !opts.urn) { + throw new Error("Missing required property 'namespace'"); + } + if ((!args || args.tableBucketArn === undefined) && !opts.urn) { + throw new Error("Missing required property 'tableBucketArn'"); + } + resourceInputs["format"] = args ? args.format : undefined; + resourceInputs["maintenanceConfiguration"] = args ? args.maintenanceConfiguration : undefined; + resourceInputs["name"] = args ? args.name : undefined; + resourceInputs["namespace"] = args ? args.namespace : undefined; + resourceInputs["tableBucketArn"] = args ? args.tableBucketArn : undefined; + resourceInputs["arn"] = undefined /*out*/; + resourceInputs["createdAt"] = undefined /*out*/; + resourceInputs["createdBy"] = undefined /*out*/; + resourceInputs["metadataLocation"] = undefined /*out*/; + resourceInputs["modifiedAt"] = undefined /*out*/; + resourceInputs["modifiedBy"] = undefined /*out*/; + resourceInputs["ownerAccountId"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + resourceInputs["versionToken"] = undefined /*out*/; + resourceInputs["warehouseLocation"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(Table.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering Table resources. + */ +export interface TableState { + /** + * ARN of the table. + */ + arn?: pulumi.Input; + /** + * Date and time when the namespace was created. + */ + createdAt?: pulumi.Input; + /** + * Account ID of the account that created the namespace. + */ + createdBy?: pulumi.Input; + /** + * Format of the table. + * Must be `ICEBERG`. + */ + format?: pulumi.Input; + /** + * A single table bucket maintenance configuration block. + * See `maintenanceConfiguration` below + */ + maintenanceConfiguration?: pulumi.Input; + /** + * Location of table metadata. + */ + metadataLocation?: pulumi.Input; + /** + * Date and time when the namespace was last modified. + */ + modifiedAt?: pulumi.Input; + /** + * Account ID of the account that last modified the namespace. + */ + modifiedBy?: pulumi.Input; + /** + * Name of the table. + * Must be between 1 and 255 characters in length. + * Can consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number. + */ + name?: pulumi.Input; + /** + * Name of the namespace for this table. + * Must be between 1 and 255 characters in length. + * Can consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number. + */ + namespace?: pulumi.Input; + /** + * Account ID of the account that owns the namespace. + */ + ownerAccountId?: pulumi.Input; + /** + * ARN referencing the Table Bucket that contains this Namespace. + * + * The following argument is optional: + */ + tableBucketArn?: pulumi.Input; + /** + * Type of the table. + * One of `customer` or `aws`. + */ + type?: pulumi.Input; + /** + * Identifier for the current version of table data. + */ + versionToken?: pulumi.Input; + /** + * S3 URI pointing to the S3 Bucket that contains the table data. + */ + warehouseLocation?: pulumi.Input; +} + +/** + * The set of arguments for constructing a Table resource. + */ +export interface TableArgs { + /** + * Format of the table. + * Must be `ICEBERG`. + */ + format: pulumi.Input; + /** + * A single table bucket maintenance configuration block. + * See `maintenanceConfiguration` below + */ + maintenanceConfiguration?: pulumi.Input; + /** + * Name of the table. + * Must be between 1 and 255 characters in length. + * Can consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number. + */ + name?: pulumi.Input; + /** + * Name of the namespace for this table. + * Must be between 1 and 255 characters in length. + * Can consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number. + */ + namespace: pulumi.Input; + /** + * ARN referencing the Table Bucket that contains this Namespace. + * + * The following argument is optional: + */ + tableBucketArn: pulumi.Input; +} diff --git a/sdk/nodejs/s3tables/tableBucket.ts b/sdk/nodejs/s3tables/tableBucket.ts new file mode 100644 index 00000000000..756f82e8832 --- /dev/null +++ b/sdk/nodejs/s3tables/tableBucket.ts @@ -0,0 +1,168 @@ +// *** WARNING: this file 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 Amazon S3 Tables Table Bucket. + * + * ## Example Usage + * + * ### Basic Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as aws from "@pulumi/aws"; + * + * const example = new aws.s3tables.TableBucket("example", {name: "example-bucket"}); + * ``` + * + * ## Import + * + * Using `pulumi import`, import S3 Tables Table Bucket using the `arn`. For example: + * + * ```sh + * $ pulumi import aws:s3tables/tableBucket:TableBucket example arn:aws:s3tables:us-west-2:123456789012:bucket/example-bucket + * ``` + */ +export class TableBucket extends pulumi.CustomResource { + /** + * Get an existing TableBucket 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?: TableBucketState, opts?: pulumi.CustomResourceOptions): TableBucket { + return new TableBucket(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'aws:s3tables/tableBucket:TableBucket'; + + /** + * Returns true if the given object is an instance of TableBucket. 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 TableBucket { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === TableBucket.__pulumiType; + } + + /** + * ARN of the table bucket. + */ + public /*out*/ readonly arn!: pulumi.Output; + /** + * Date and time when the bucket was created. + */ + public /*out*/ readonly createdAt!: pulumi.Output; + /** + * A single table bucket maintenance configuration block. + * See `maintenanceConfiguration` below + */ + public readonly maintenanceConfiguration!: pulumi.Output; + /** + * Name of the table bucket. + * Must be between 3 and 63 characters in length. + * Can consist of lowercase letters, numbers, and hyphens, and must begin and end with a lowercase letter or number. + * A full list of bucket naming rules may be found in S3 Tables documentation. + * + * The following argument is optional: + */ + public readonly name!: pulumi.Output; + /** + * Account ID of the account that owns the table bucket. + */ + public /*out*/ readonly ownerAccountId!: pulumi.Output; + + /** + * Create a TableBucket 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?: TableBucketArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: TableBucketArgs | TableBucketState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as TableBucketState | undefined; + resourceInputs["arn"] = state ? state.arn : undefined; + resourceInputs["createdAt"] = state ? state.createdAt : undefined; + resourceInputs["maintenanceConfiguration"] = state ? state.maintenanceConfiguration : undefined; + resourceInputs["name"] = state ? state.name : undefined; + resourceInputs["ownerAccountId"] = state ? state.ownerAccountId : undefined; + } else { + const args = argsOrState as TableBucketArgs | undefined; + resourceInputs["maintenanceConfiguration"] = args ? args.maintenanceConfiguration : undefined; + resourceInputs["name"] = args ? args.name : undefined; + resourceInputs["arn"] = undefined /*out*/; + resourceInputs["createdAt"] = undefined /*out*/; + resourceInputs["ownerAccountId"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(TableBucket.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering TableBucket resources. + */ +export interface TableBucketState { + /** + * ARN of the table bucket. + */ + arn?: pulumi.Input; + /** + * Date and time when the bucket was created. + */ + createdAt?: pulumi.Input; + /** + * A single table bucket maintenance configuration block. + * See `maintenanceConfiguration` below + */ + maintenanceConfiguration?: pulumi.Input; + /** + * Name of the table bucket. + * Must be between 3 and 63 characters in length. + * Can consist of lowercase letters, numbers, and hyphens, and must begin and end with a lowercase letter or number. + * A full list of bucket naming rules may be found in S3 Tables documentation. + * + * The following argument is optional: + */ + name?: pulumi.Input; + /** + * Account ID of the account that owns the table bucket. + */ + ownerAccountId?: pulumi.Input; +} + +/** + * The set of arguments for constructing a TableBucket resource. + */ +export interface TableBucketArgs { + /** + * A single table bucket maintenance configuration block. + * See `maintenanceConfiguration` below + */ + maintenanceConfiguration?: pulumi.Input; + /** + * Name of the table bucket. + * Must be between 3 and 63 characters in length. + * Can consist of lowercase letters, numbers, and hyphens, and must begin and end with a lowercase letter or number. + * A full list of bucket naming rules may be found in S3 Tables documentation. + * + * The following argument is optional: + */ + name?: pulumi.Input; +} diff --git a/sdk/nodejs/s3tables/tableBucketPolicy.ts b/sdk/nodejs/s3tables/tableBucketPolicy.ts new file mode 100644 index 00000000000..0943e48f495 --- /dev/null +++ b/sdk/nodejs/s3tables/tableBucketPolicy.ts @@ -0,0 +1,130 @@ +// *** WARNING: this file 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 Amazon S3 Tables Table Bucket Policy. + * + * ## Example Usage + * + * ### Basic Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as aws from "@pulumi/aws"; + * + * const example = aws.iam.getPolicyDocument({ + * statements: [{}], + * }); + * const exampleTableBucketPolicy = new aws.s3tables.TableBucketPolicy("example", { + * resourcePolicy: example.then(example => example.json), + * tableBucketArn: exampleAwsS3tablesTableBucket.arn, + * }); + * const test = new aws.s3tables.TableBucket("test", {name: "example-bucket"}); + * ``` + * + * ## Import + * + * Using `pulumi import`, import S3 Tables Table Bucket Policy using the `table_bucket_arn`. For example: + * + * ```sh + * $ pulumi import aws:s3tables/tableBucketPolicy:TableBucketPolicy example 'arn:aws:s3tables:us-west-2:123456789012:bucket/example-bucket;example-namespace' + * ``` + */ +export class TableBucketPolicy extends pulumi.CustomResource { + /** + * Get an existing TableBucketPolicy 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?: TableBucketPolicyState, opts?: pulumi.CustomResourceOptions): TableBucketPolicy { + return new TableBucketPolicy(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'aws:s3tables/tableBucketPolicy:TableBucketPolicy'; + + /** + * Returns true if the given object is an instance of TableBucketPolicy. 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 TableBucketPolicy { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === TableBucketPolicy.__pulumiType; + } + + /** + * Amazon Web Services resource-based policy document in JSON format. + */ + public readonly resourcePolicy!: pulumi.Output; + /** + * ARN referencing the Table Bucket that owns this policy. + */ + public readonly tableBucketArn!: pulumi.Output; + + /** + * Create a TableBucketPolicy 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: TableBucketPolicyArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: TableBucketPolicyArgs | TableBucketPolicyState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as TableBucketPolicyState | undefined; + resourceInputs["resourcePolicy"] = state ? state.resourcePolicy : undefined; + resourceInputs["tableBucketArn"] = state ? state.tableBucketArn : undefined; + } else { + const args = argsOrState as TableBucketPolicyArgs | undefined; + if ((!args || args.resourcePolicy === undefined) && !opts.urn) { + throw new Error("Missing required property 'resourcePolicy'"); + } + if ((!args || args.tableBucketArn === undefined) && !opts.urn) { + throw new Error("Missing required property 'tableBucketArn'"); + } + resourceInputs["resourcePolicy"] = args ? args.resourcePolicy : undefined; + resourceInputs["tableBucketArn"] = args ? args.tableBucketArn : undefined; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(TableBucketPolicy.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering TableBucketPolicy resources. + */ +export interface TableBucketPolicyState { + /** + * Amazon Web Services resource-based policy document in JSON format. + */ + resourcePolicy?: pulumi.Input; + /** + * ARN referencing the Table Bucket that owns this policy. + */ + tableBucketArn?: pulumi.Input; +} + +/** + * The set of arguments for constructing a TableBucketPolicy resource. + */ +export interface TableBucketPolicyArgs { + /** + * Amazon Web Services resource-based policy document in JSON format. + */ + resourcePolicy: pulumi.Input; + /** + * ARN referencing the Table Bucket that owns this policy. + */ + tableBucketArn: pulumi.Input; +} diff --git a/sdk/nodejs/s3tables/tablePolicy.ts b/sdk/nodejs/s3tables/tablePolicy.ts new file mode 100644 index 00000000000..7e5e3838b2d --- /dev/null +++ b/sdk/nodejs/s3tables/tablePolicy.ts @@ -0,0 +1,157 @@ +// *** WARNING: this file 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 Amazon S3 Tables Table Policy. + * + * ## Example Usage + * + * ## Import + * + * Using `pulumi import`, import S3 Tables Table Policy using the `table_bucket_arn`, the value of `namespace`, and the value of `name`, separated by a semicolon (`;`). For example: + * + * ```sh + * $ pulumi import aws:s3tables/tablePolicy:TablePolicy example 'arn:aws:s3tables:us-west-2:123456789012:bucket/example-bucket;example-namespace;example-table' + * ``` + */ +export class TablePolicy extends pulumi.CustomResource { + /** + * Get an existing TablePolicy 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?: TablePolicyState, opts?: pulumi.CustomResourceOptions): TablePolicy { + return new TablePolicy(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'aws:s3tables/tablePolicy:TablePolicy'; + + /** + * Returns true if the given object is an instance of TablePolicy. 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 TablePolicy { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === TablePolicy.__pulumiType; + } + + /** + * Name of the table. + * Must be between 1 and 255 characters in length. + * Can consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number. + */ + public readonly name!: pulumi.Output; + /** + * Name of the namespace for this table. + * Must be between 1 and 255 characters in length. + * Can consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number. + */ + public readonly namespace!: pulumi.Output; + /** + * Amazon Web Services resource-based policy document in JSON format. + */ + public readonly resourcePolicy!: pulumi.Output; + /** + * ARN referencing the Table Bucket that contains this Namespace. + */ + public readonly tableBucketArn!: pulumi.Output; + + /** + * Create a TablePolicy 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: TablePolicyArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: TablePolicyArgs | TablePolicyState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as TablePolicyState | undefined; + resourceInputs["name"] = state ? state.name : undefined; + resourceInputs["namespace"] = state ? state.namespace : undefined; + resourceInputs["resourcePolicy"] = state ? state.resourcePolicy : undefined; + resourceInputs["tableBucketArn"] = state ? state.tableBucketArn : undefined; + } else { + const args = argsOrState as TablePolicyArgs | undefined; + if ((!args || args.namespace === undefined) && !opts.urn) { + throw new Error("Missing required property 'namespace'"); + } + if ((!args || args.resourcePolicy === undefined) && !opts.urn) { + throw new Error("Missing required property 'resourcePolicy'"); + } + if ((!args || args.tableBucketArn === undefined) && !opts.urn) { + throw new Error("Missing required property 'tableBucketArn'"); + } + resourceInputs["name"] = args ? args.name : undefined; + resourceInputs["namespace"] = args ? args.namespace : undefined; + resourceInputs["resourcePolicy"] = args ? args.resourcePolicy : undefined; + resourceInputs["tableBucketArn"] = args ? args.tableBucketArn : undefined; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(TablePolicy.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering TablePolicy resources. + */ +export interface TablePolicyState { + /** + * Name of the table. + * Must be between 1 and 255 characters in length. + * Can consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number. + */ + name?: pulumi.Input; + /** + * Name of the namespace for this table. + * Must be between 1 and 255 characters in length. + * Can consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number. + */ + namespace?: pulumi.Input; + /** + * Amazon Web Services resource-based policy document in JSON format. + */ + resourcePolicy?: pulumi.Input; + /** + * ARN referencing the Table Bucket that contains this Namespace. + */ + tableBucketArn?: pulumi.Input; +} + +/** + * The set of arguments for constructing a TablePolicy resource. + */ +export interface TablePolicyArgs { + /** + * Name of the table. + * Must be between 1 and 255 characters in length. + * Can consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number. + */ + name?: pulumi.Input; + /** + * Name of the namespace for this table. + * Must be between 1 and 255 characters in length. + * Can consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number. + */ + namespace: pulumi.Input; + /** + * Amazon Web Services resource-based policy document in JSON format. + */ + resourcePolicy: pulumi.Input; + /** + * ARN referencing the Table Bucket that contains this Namespace. + */ + tableBucketArn: pulumi.Input; +} diff --git a/sdk/nodejs/securityhub/standardsControlAssociation.ts b/sdk/nodejs/securityhub/standardsControlAssociation.ts index fbde228e0e9..85ef821c0fb 100644 --- a/sdk/nodejs/securityhub/standardsControlAssociation.ts +++ b/sdk/nodejs/securityhub/standardsControlAssociation.ts @@ -17,7 +17,7 @@ import * as utilities from "../utilities"; * const cisAwsFoundationsBenchmark = new aws.securityhub.StandardsSubscription("cis_aws_foundations_benchmark", {standardsArn: "arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0"}, { * dependsOn: [example], * }); - * const cisAwsFoundationsBenchmarkDisableIam1 = new aws.index.StandardsControlAssociation("cis_aws_foundations_benchmark_disable_iam_1", { + * const cisAwsFoundationsBenchmarkDisableIam1 = new aws.securityhub.StandardsControlAssociation("cis_aws_foundations_benchmark_disable_iam_1", { * standardsArn: cisAwsFoundationsBenchmark.standardsArn, * securityControlId: "IAM.1", * associationStatus: "DISABLED", diff --git a/sdk/nodejs/tsconfig.json b/sdk/nodejs/tsconfig.json index 7a7dc3bc2a8..b2ca267815a 100644 --- a/sdk/nodejs/tsconfig.json +++ b/sdk/nodejs/tsconfig.json @@ -429,6 +429,9 @@ "codecommit/index.ts", "codecommit/repository.ts", "codecommit/trigger.ts", + "codeconnections/connection.ts", + "codeconnections/host.ts", + "codeconnections/index.ts", "codedeploy/application.ts", "codedeploy/deploymentConfig.ts", "codedeploy/deploymentGroup.ts", @@ -1923,6 +1926,12 @@ "s3control/storageLensConfiguration.ts", "s3outposts/endpoint.ts", "s3outposts/index.ts", + "s3tables/index.ts", + "s3tables/namespace.ts", + "s3tables/table.ts", + "s3tables/tableBucket.ts", + "s3tables/tableBucketPolicy.ts", + "s3tables/tablePolicy.ts", "sagemaker/app.ts", "sagemaker/appImageConfig.ts", "sagemaker/codeRepository.ts", diff --git a/sdk/nodejs/types/input.ts b/sdk/nodejs/types/input.ts index 27db0f44d85..a95a250d8c2 100644 --- a/sdk/nodejs/types/input.ts +++ b/sdk/nodejs/types/input.ts @@ -1120,6 +1120,10 @@ export interface ProviderEndpoint { * Use this to override the default service endpoint URL */ s3outposts?: pulumi.Input; + /** + * Use this to override the default service endpoint URL + */ + s3tables?: pulumi.Input; /** * Use this to override the default service endpoint URL */ @@ -14921,6 +14925,57 @@ export namespace codecommit { } } +export namespace codeconnections { + export interface ConnectionTimeouts { + /** + * A string that can be [parsed as a duration](https://pkg.go.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 HostTimeouts { + /** + * A string that can be [parsed as a duration](https://pkg.go.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 HostVpcConfiguration { + /** + * ID of the security group or security groups associated with the Amazon VPC connected to the infrastructure where your provider type is installed. + */ + securityGroupIds: pulumi.Input[]>; + /** + * The ID of the subnet or subnets associated with the Amazon VPC connected to the infrastructure where your provider type is installed. + */ + subnetIds: pulumi.Input[]>; + /** + * The value of the Transport Layer Security (TLS) certificate associated with the infrastructure where your provider type is installed. + */ + tlsCertificate: pulumi.Input; + /** + * The ID of the Amazon VPC connected to the infrastructure where your provider type is installed. + */ + vpcId: pulumi.Input; + } +} + export namespace codedeploy { export interface DeploymentConfigMinimumHealthyHosts { /** @@ -64593,11 +64648,11 @@ export namespace rds { export interface ClusterServerlessv2ScalingConfiguration { /** - * 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.5` up to `256` in steps of `0.5`. + * 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`. */ maxCapacity: pulumi.Input; /** - * 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.5` up to `256` in steps of `0.5`. + * 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; } @@ -68167,11 +68222,11 @@ export namespace s3 { export interface DirectoryBucketLocation { /** - * [Availability Zone ID](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html#az-ids). + * [Availability Zone ID](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html#az-ids) or Local Zone ID. */ name: pulumi.Input; /** - * Location type. Valid values: `AvailabilityZone`. + * Location type. Valid values: `AvailabilityZone`, `LocalZone`. */ type?: pulumi.Input; } @@ -68689,6 +68744,102 @@ export namespace s3outposts { } } +export namespace s3tables { + export interface TableBucketMaintenanceConfiguration { + /** + * A single Iceberg unreferenced file removal settings block. + * See `icebergUnreferencedFileRemoval` below + */ + icebergUnreferencedFileRemoval: pulumi.Input; + } + + export interface TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemoval { + /** + * Settings for unreferenced file removal. + * See `iceberg_unreferenced_file_removal.settings` below + */ + settings: pulumi.Input; + /** + * Whether the configuration is enabled. + * Valid values are `enabled` and `disabled`. + */ + status: pulumi.Input; + } + + export interface TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettings { + /** + * Data objects marked for deletion are deleted after this many days. + * Must be at least `1`. + */ + nonCurrentDays: pulumi.Input; + /** + * Unreferenced data objects are marked for deletion after this many days. + * Must be at least `1`. + */ + unreferencedDays: pulumi.Input; + } + + export interface TableMaintenanceConfiguration { + /** + * A single Iceberg compaction settings block. + * See `icebergCompaction` below + */ + icebergCompaction: pulumi.Input; + /** + * A single Iceberg snapshot management settings block. + * See `icebergSnapshotManagement` below + */ + icebergSnapshotManagement: pulumi.Input; + } + + export interface TableMaintenanceConfigurationIcebergCompaction { + /** + * Settings for compaction. + * See `iceberg_compaction.settings` below + */ + settings: pulumi.Input; + /** + * Whether the configuration is enabled. + * Valid values are `enabled` and `disabled`. + */ + status: pulumi.Input; + } + + export interface TableMaintenanceConfigurationIcebergCompactionSettings { + /** + * Data objects smaller than this size may be combined with others to improve query performance. + * Must be between `64` and `512`. + */ + targetFileSizeMb: pulumi.Input; + } + + export interface TableMaintenanceConfigurationIcebergSnapshotManagement { + /** + * Settings for snapshot management. + * See `iceberg_snapshot_management.settings` below + */ + settings: pulumi.Input; + /** + * Whether the configuration is enabled. + * Valid values are `enabled` and `disabled`. + */ + status: pulumi.Input; + } + + export interface TableMaintenanceConfigurationIcebergSnapshotManagementSettings { + /** + * Snapshots older than this will be marked for deletiion. + * Must be at least `1`. + */ + maxSnapshotAgeHours: pulumi.Input; + /** + * Minimum number of snapshots to keep. + * Must be at least `1`. + */ + minSnapshotsToKeep: pulumi.Input; + } +} + export namespace sagemaker { export interface AppImageConfigCodeEditorAppImageConfig { /** diff --git a/sdk/nodejs/types/output.ts b/sdk/nodejs/types/output.ts index 7e60c0c4d8a..2966bfdae7a 100644 --- a/sdk/nodejs/types/output.ts +++ b/sdk/nodejs/types/output.ts @@ -16823,6 +16823,58 @@ export namespace codecommit { } +export namespace codeconnections { + export interface ConnectionTimeouts { + /** + * A string that can be [parsed as a duration](https://pkg.go.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 HostTimeouts { + /** + * A string that can be [parsed as a duration](https://pkg.go.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 HostVpcConfiguration { + /** + * ID of the security group or security groups associated with the Amazon VPC connected to the infrastructure where your provider type is installed. + */ + securityGroupIds: string[]; + /** + * The ID of the subnet or subnets associated with the Amazon VPC connected to the infrastructure where your provider type is installed. + */ + subnetIds: string[]; + /** + * The value of the Transport Layer Security (TLS) certificate associated with the infrastructure where your provider type is installed. + */ + tlsCertificate: string; + /** + * The ID of the Amazon VPC connected to the infrastructure where your provider type is installed. + */ + vpcId: string; + } + +} + export namespace codedeploy { export interface DeploymentConfigMinimumHealthyHosts { /** @@ -19776,6 +19828,10 @@ export namespace config { * Use this to override the default service endpoint URL */ s3outposts?: string; + /** + * Use this to override the default service endpoint URL + */ + s3tables?: string; /** * Use this to override the default service endpoint URL */ @@ -72849,11 +72905,11 @@ export namespace rds { export interface ClusterServerlessv2ScalingConfiguration { /** - * 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.5` up to `256` in steps of `0.5`. + * 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`. */ maxCapacity: number; /** - * 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.5` up to `256` in steps of `0.5`. + * 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; } @@ -76427,11 +76483,11 @@ export namespace s3 { export interface DirectoryBucketLocation { /** - * [Availability Zone ID](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html#az-ids). + * [Availability Zone ID](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html#az-ids) or Local Zone ID. */ name: string; /** - * Location type. Valid values: `AvailabilityZone`. + * Location type. Valid values: `AvailabilityZone`, `LocalZone`. */ type: string; } @@ -76992,6 +77048,103 @@ export namespace s3outposts { } +export namespace s3tables { + export interface TableBucketMaintenanceConfiguration { + /** + * A single Iceberg unreferenced file removal settings block. + * See `icebergUnreferencedFileRemoval` below + */ + icebergUnreferencedFileRemoval: outputs.s3tables.TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemoval; + } + + export interface TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemoval { + /** + * Settings for unreferenced file removal. + * See `iceberg_unreferenced_file_removal.settings` below + */ + settings: outputs.s3tables.TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettings; + /** + * Whether the configuration is enabled. + * Valid values are `enabled` and `disabled`. + */ + status: string; + } + + export interface TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettings { + /** + * Data objects marked for deletion are deleted after this many days. + * Must be at least `1`. + */ + nonCurrentDays: number; + /** + * Unreferenced data objects are marked for deletion after this many days. + * Must be at least `1`. + */ + unreferencedDays: number; + } + + export interface TableMaintenanceConfiguration { + /** + * A single Iceberg compaction settings block. + * See `icebergCompaction` below + */ + icebergCompaction: outputs.s3tables.TableMaintenanceConfigurationIcebergCompaction; + /** + * A single Iceberg snapshot management settings block. + * See `icebergSnapshotManagement` below + */ + icebergSnapshotManagement: outputs.s3tables.TableMaintenanceConfigurationIcebergSnapshotManagement; + } + + export interface TableMaintenanceConfigurationIcebergCompaction { + /** + * Settings for compaction. + * See `iceberg_compaction.settings` below + */ + settings: outputs.s3tables.TableMaintenanceConfigurationIcebergCompactionSettings; + /** + * Whether the configuration is enabled. + * Valid values are `enabled` and `disabled`. + */ + status: string; + } + + export interface TableMaintenanceConfigurationIcebergCompactionSettings { + /** + * Data objects smaller than this size may be combined with others to improve query performance. + * Must be between `64` and `512`. + */ + targetFileSizeMb: number; + } + + export interface TableMaintenanceConfigurationIcebergSnapshotManagement { + /** + * Settings for snapshot management. + * See `iceberg_snapshot_management.settings` below + */ + settings: outputs.s3tables.TableMaintenanceConfigurationIcebergSnapshotManagementSettings; + /** + * Whether the configuration is enabled. + * Valid values are `enabled` and `disabled`. + */ + status: string; + } + + export interface TableMaintenanceConfigurationIcebergSnapshotManagementSettings { + /** + * Snapshots older than this will be marked for deletiion. + * Must be at least `1`. + */ + maxSnapshotAgeHours: number; + /** + * Minimum number of snapshots to keep. + * Must be at least `1`. + */ + minSnapshotsToKeep: number; + } + +} + export namespace sagemaker { export interface AppImageConfigCodeEditorAppImageConfig { /** diff --git a/sdk/python/pulumi_aws/__init__.py b/sdk/python/pulumi_aws/__init__.py index 2dc58c5b73c..3e4495ce9b2 100644 --- a/sdk/python/pulumi_aws/__init__.py +++ b/sdk/python/pulumi_aws/__init__.py @@ -120,6 +120,8 @@ codecatalyst = __codecatalyst import pulumi_aws.codecommit as __codecommit codecommit = __codecommit + import pulumi_aws.codeconnections as __codeconnections + codeconnections = __codeconnections import pulumi_aws.codedeploy as __codedeploy codedeploy = __codedeploy import pulumi_aws.codeguruprofiler as __codeguruprofiler @@ -376,6 +378,8 @@ s3control = __s3control import pulumi_aws.s3outposts as __s3outposts s3outposts = __s3outposts + import pulumi_aws.s3tables as __s3tables + s3tables = __s3tables import pulumi_aws.sagemaker as __sagemaker sagemaker = __sagemaker import pulumi_aws.scheduler as __scheduler @@ -503,6 +507,7 @@ codebuild = _utilities.lazy_import('pulumi_aws.codebuild') codecatalyst = _utilities.lazy_import('pulumi_aws.codecatalyst') codecommit = _utilities.lazy_import('pulumi_aws.codecommit') + codeconnections = _utilities.lazy_import('pulumi_aws.codeconnections') codedeploy = _utilities.lazy_import('pulumi_aws.codedeploy') codeguruprofiler = _utilities.lazy_import('pulumi_aws.codeguruprofiler') codegurureviewer = _utilities.lazy_import('pulumi_aws.codegurureviewer') @@ -631,6 +636,7 @@ s3 = _utilities.lazy_import('pulumi_aws.s3') s3control = _utilities.lazy_import('pulumi_aws.s3control') s3outposts = _utilities.lazy_import('pulumi_aws.s3outposts') + s3tables = _utilities.lazy_import('pulumi_aws.s3tables') sagemaker = _utilities.lazy_import('pulumi_aws.sagemaker') scheduler = _utilities.lazy_import('pulumi_aws.scheduler') schemas = _utilities.lazy_import('pulumi_aws.schemas') @@ -2842,6 +2848,22 @@ "aws:codecommit/trigger:Trigger": "Trigger" } }, + { + "pkg": "aws", + "mod": "codeconnections/connection", + "fqn": "pulumi_aws.codeconnections", + "classes": { + "aws:codeconnections/connection:Connection": "Connection" + } + }, + { + "pkg": "aws", + "mod": "codeconnections/host", + "fqn": "pulumi_aws.codeconnections", + "classes": { + "aws:codeconnections/host:Host": "Host" + } + }, { "pkg": "aws", "mod": "codedeploy/application", @@ -10218,6 +10240,46 @@ "aws:s3outposts/endpoint:Endpoint": "Endpoint" } }, + { + "pkg": "aws", + "mod": "s3tables/namespace", + "fqn": "pulumi_aws.s3tables", + "classes": { + "aws:s3tables/namespace:Namespace": "Namespace" + } + }, + { + "pkg": "aws", + "mod": "s3tables/table", + "fqn": "pulumi_aws.s3tables", + "classes": { + "aws:s3tables/table:Table": "Table" + } + }, + { + "pkg": "aws", + "mod": "s3tables/tableBucket", + "fqn": "pulumi_aws.s3tables", + "classes": { + "aws:s3tables/tableBucket:TableBucket": "TableBucket" + } + }, + { + "pkg": "aws", + "mod": "s3tables/tableBucketPolicy", + "fqn": "pulumi_aws.s3tables", + "classes": { + "aws:s3tables/tableBucketPolicy:TableBucketPolicy": "TableBucketPolicy" + } + }, + { + "pkg": "aws", + "mod": "s3tables/tablePolicy", + "fqn": "pulumi_aws.s3tables", + "classes": { + "aws:s3tables/tablePolicy:TablePolicy": "TablePolicy" + } + }, { "pkg": "aws", "mod": "sagemaker/app", diff --git a/sdk/python/pulumi_aws/_inputs.py b/sdk/python/pulumi_aws/_inputs.py index 035ac323d9b..6210bedce8f 100644 --- a/sdk/python/pulumi_aws/_inputs.py +++ b/sdk/python/pulumi_aws/_inputs.py @@ -1372,6 +1372,10 @@ class ProviderEndpointArgsDict(TypedDict): """ Use this to override the default service endpoint URL """ + s3tables: NotRequired[pulumi.Input[str]] + """ + Use this to override the default service endpoint URL + """ sagemaker: NotRequired[pulumi.Input[str]] """ Use this to override the default service endpoint URL @@ -1821,6 +1825,7 @@ def __init__(__self__, *, s3api: Optional[pulumi.Input[str]] = None, s3control: Optional[pulumi.Input[str]] = None, s3outposts: Optional[pulumi.Input[str]] = None, + s3tables: Optional[pulumi.Input[str]] = None, sagemaker: Optional[pulumi.Input[str]] = None, scheduler: Optional[pulumi.Input[str]] = None, schemas: Optional[pulumi.Input[str]] = None, @@ -2115,6 +2120,7 @@ def __init__(__self__, *, :param pulumi.Input[str] s3api: Use this to override the default service endpoint URL :param pulumi.Input[str] s3control: Use this to override the default service endpoint URL :param pulumi.Input[str] s3outposts: Use this to override the default service endpoint URL + :param pulumi.Input[str] s3tables: Use this to override the default service endpoint URL :param pulumi.Input[str] sagemaker: Use this to override the default service endpoint URL :param pulumi.Input[str] scheduler: Use this to override the default service endpoint URL :param pulumi.Input[str] schemas: Use this to override the default service endpoint URL @@ -2652,6 +2658,8 @@ def __init__(__self__, *, pulumi.set(__self__, "s3control", s3control) if s3outposts is not None: pulumi.set(__self__, "s3outposts", s3outposts) + if s3tables is not None: + pulumi.set(__self__, "s3tables", s3tables) if sagemaker is not None: pulumi.set(__self__, "sagemaker", sagemaker) if scheduler is not None: @@ -5669,6 +5677,18 @@ def s3outposts(self) -> Optional[pulumi.Input[str]]: def s3outposts(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "s3outposts", value) + @property + @pulumi.getter + def s3tables(self) -> Optional[pulumi.Input[str]]: + """ + Use this to override the default service endpoint URL + """ + return pulumi.get(self, "s3tables") + + @s3tables.setter + def s3tables(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "s3tables", value) + @property @pulumi.getter def sagemaker(self) -> Optional[pulumi.Input[str]]: diff --git a/sdk/python/pulumi_aws/bedrock/agent_agent.py b/sdk/python/pulumi_aws/bedrock/agent_agent.py index e4d19822623..65b30d72cdc 100644 --- a/sdk/python/pulumi_aws/bedrock/agent_agent.py +++ b/sdk/python/pulumi_aws/bedrock/agent_agent.py @@ -43,8 +43,9 @@ def __init__(__self__, *, The following arguments are optional: :param pulumi.Input[str] customer_encryption_key_arn: ARN of the AWS KMS key that encrypts the agent. :param pulumi.Input[str] description: Description of the agent. + :param pulumi.Input[Sequence[pulumi.Input['AgentAgentGuardrailConfigurationArgs']]] guardrail_configurations: Details about the guardrail associated with the agent. See `guardrail_configuration` Block for details. :param pulumi.Input[int] idle_session_ttl_in_seconds: Number of seconds for which Amazon Bedrock keeps information about a user's conversation with the agent. A user interaction remains active for the amount of time specified. If no conversation occurs during this time, the session expires and Amazon Bedrock deletes any data provided before the timeout. - :param pulumi.Input[str] instruction: Instructions that tell the agent what it should do and how it should interact with users. + :param pulumi.Input[str] instruction: Instructions that tell the agent what it should do and how it should interact with users. The valid range is 40 - 8000 characters. :param pulumi.Input[bool] prepare_agent: Whether to prepare the agent after creation or modification. Defaults to `true`. :param pulumi.Input[Sequence[pulumi.Input['AgentAgentPromptOverrideConfigurationArgs']]] prompt_override_configurations: Configurations to override prompt templates in different parts of an agent sequence. For more information, see [Advanced prompts](https://docs.aws.amazon.com/bedrock/latest/userguide/advanced-prompts.html). See `prompt_override_configuration` Block for details. :param pulumi.Input[bool] skip_resource_in_use_check: Whether the in-use check is skipped when deleting the agent. @@ -139,6 +140,9 @@ def description(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter(name="guardrailConfigurations") def guardrail_configurations(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['AgentAgentGuardrailConfigurationArgs']]]]: + """ + Details about the guardrail associated with the agent. See `guardrail_configuration` Block for details. + """ return pulumi.get(self, "guardrail_configurations") @guardrail_configurations.setter @@ -161,7 +165,7 @@ def idle_session_ttl_in_seconds(self, value: Optional[pulumi.Input[int]]): @pulumi.getter def instruction(self) -> Optional[pulumi.Input[str]]: """ - Instructions that tell the agent what it should do and how it should interact with users. + Instructions that tell the agent what it should do and how it should interact with users. The valid range is 40 - 8000 characters. """ return pulumi.get(self, "instruction") @@ -259,8 +263,9 @@ def __init__(__self__, *, :param pulumi.Input[str] foundation_model: Foundation model used for orchestration by the agent. The following arguments are optional: + :param pulumi.Input[Sequence[pulumi.Input['AgentAgentGuardrailConfigurationArgs']]] guardrail_configurations: Details about the guardrail associated with the agent. See `guardrail_configuration` Block for details. :param pulumi.Input[int] idle_session_ttl_in_seconds: Number of seconds for which Amazon Bedrock keeps information about a user's conversation with the agent. A user interaction remains active for the amount of time specified. If no conversation occurs during this time, the session expires and Amazon Bedrock deletes any data provided before the timeout. - :param pulumi.Input[str] instruction: Instructions that tell the agent what it should do and how it should interact with users. + :param pulumi.Input[str] instruction: Instructions that tell the agent what it should do and how it should interact with users. The valid range is 40 - 8000 characters. :param pulumi.Input[bool] prepare_agent: Whether to prepare the agent after creation or modification. Defaults to `true`. :param pulumi.Input[Sequence[pulumi.Input['AgentAgentPromptOverrideConfigurationArgs']]] prompt_override_configurations: Configurations to override prompt templates in different parts of an agent sequence. For more information, see [Advanced prompts](https://docs.aws.amazon.com/bedrock/latest/userguide/advanced-prompts.html). See `prompt_override_configuration` Block for details. :param pulumi.Input[bool] skip_resource_in_use_check: Whether the in-use check is skipped when deleting the agent. @@ -406,6 +411,9 @@ def foundation_model(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter(name="guardrailConfigurations") def guardrail_configurations(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['AgentAgentGuardrailConfigurationArgs']]]]: + """ + Details about the guardrail associated with the agent. See `guardrail_configuration` Block for details. + """ return pulumi.get(self, "guardrail_configurations") @guardrail_configurations.setter @@ -428,7 +436,7 @@ def idle_session_ttl_in_seconds(self, value: Optional[pulumi.Input[int]]): @pulumi.getter def instruction(self) -> Optional[pulumi.Input[str]]: """ - Instructions that tell the agent what it should do and how it should interact with users. + Instructions that tell the agent what it should do and how it should interact with users. The valid range is 40 - 8000 characters. """ return pulumi.get(self, "instruction") @@ -593,8 +601,9 @@ def __init__(__self__, :param pulumi.Input[str] foundation_model: Foundation model used for orchestration by the agent. The following arguments are optional: + :param pulumi.Input[Sequence[pulumi.Input[Union['AgentAgentGuardrailConfigurationArgs', 'AgentAgentGuardrailConfigurationArgsDict']]]] guardrail_configurations: Details about the guardrail associated with the agent. See `guardrail_configuration` Block for details. :param pulumi.Input[int] idle_session_ttl_in_seconds: Number of seconds for which Amazon Bedrock keeps information about a user's conversation with the agent. A user interaction remains active for the amount of time specified. If no conversation occurs during this time, the session expires and Amazon Bedrock deletes any data provided before the timeout. - :param pulumi.Input[str] instruction: Instructions that tell the agent what it should do and how it should interact with users. + :param pulumi.Input[str] instruction: Instructions that tell the agent what it should do and how it should interact with users. The valid range is 40 - 8000 characters. :param pulumi.Input[bool] prepare_agent: Whether to prepare the agent after creation or modification. Defaults to `true`. :param pulumi.Input[Sequence[pulumi.Input[Union['AgentAgentPromptOverrideConfigurationArgs', 'AgentAgentPromptOverrideConfigurationArgsDict']]]] prompt_override_configurations: Configurations to override prompt templates in different parts of an agent sequence. For more information, see [Advanced prompts](https://docs.aws.amazon.com/bedrock/latest/userguide/advanced-prompts.html). See `prompt_override_configuration` Block for details. :param pulumi.Input[bool] skip_resource_in_use_check: Whether the in-use check is skipped when deleting the agent. @@ -768,8 +777,9 @@ def get(resource_name: str, :param pulumi.Input[str] foundation_model: Foundation model used for orchestration by the agent. The following arguments are optional: + :param pulumi.Input[Sequence[pulumi.Input[Union['AgentAgentGuardrailConfigurationArgs', 'AgentAgentGuardrailConfigurationArgsDict']]]] guardrail_configurations: Details about the guardrail associated with the agent. See `guardrail_configuration` Block for details. :param pulumi.Input[int] idle_session_ttl_in_seconds: Number of seconds for which Amazon Bedrock keeps information about a user's conversation with the agent. A user interaction remains active for the amount of time specified. If no conversation occurs during this time, the session expires and Amazon Bedrock deletes any data provided before the timeout. - :param pulumi.Input[str] instruction: Instructions that tell the agent what it should do and how it should interact with users. + :param pulumi.Input[str] instruction: Instructions that tell the agent what it should do and how it should interact with users. The valid range is 40 - 8000 characters. :param pulumi.Input[bool] prepare_agent: Whether to prepare the agent after creation or modification. Defaults to `true`. :param pulumi.Input[Sequence[pulumi.Input[Union['AgentAgentPromptOverrideConfigurationArgs', 'AgentAgentPromptOverrideConfigurationArgsDict']]]] prompt_override_configurations: Configurations to override prompt templates in different parts of an agent sequence. For more information, see [Advanced prompts](https://docs.aws.amazon.com/bedrock/latest/userguide/advanced-prompts.html). See `prompt_override_configuration` Block for details. :param pulumi.Input[bool] skip_resource_in_use_check: Whether the in-use check is skipped when deleting the agent. @@ -868,6 +878,9 @@ def foundation_model(self) -> pulumi.Output[str]: @property @pulumi.getter(name="guardrailConfigurations") def guardrail_configurations(self) -> pulumi.Output[Optional[Sequence['outputs.AgentAgentGuardrailConfiguration']]]: + """ + Details about the guardrail associated with the agent. See `guardrail_configuration` Block for details. + """ return pulumi.get(self, "guardrail_configurations") @property @@ -882,7 +895,7 @@ def idle_session_ttl_in_seconds(self) -> pulumi.Output[int]: @pulumi.getter def instruction(self) -> pulumi.Output[str]: """ - Instructions that tell the agent what it should do and how it should interact with users. + Instructions that tell the agent what it should do and how it should interact with users. The valid range is 40 - 8000 characters. """ return pulumi.get(self, "instruction") diff --git a/sdk/python/pulumi_aws/codeconnections/__init__.py b/sdk/python/pulumi_aws/codeconnections/__init__.py new file mode 100644 index 00000000000..8eccf3b4ea8 --- /dev/null +++ b/sdk/python/pulumi_aws/codeconnections/__init__.py @@ -0,0 +1,11 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +from .. import _utilities +import typing +# Export this package's modules as members: +from .connection import * +from .host import * +from ._inputs import * +from . import outputs diff --git a/sdk/python/pulumi_aws/codeconnections/_inputs.py b/sdk/python/pulumi_aws/codeconnections/_inputs.py new file mode 100644 index 00000000000..82deb834815 --- /dev/null +++ b/sdk/python/pulumi_aws/codeconnections/_inputs.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__ = [ + 'ConnectionTimeoutsArgs', + 'ConnectionTimeoutsArgsDict', + 'HostTimeoutsArgs', + 'HostTimeoutsArgsDict', + 'HostVpcConfigurationArgs', + 'HostVpcConfigurationArgsDict', +] + +MYPY = False + +if not MYPY: + class ConnectionTimeoutsArgsDict(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: + ConnectionTimeoutsArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class ConnectionTimeoutsArgs: + 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 HostTimeoutsArgsDict(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: + HostTimeoutsArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class HostTimeoutsArgs: + 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 HostVpcConfigurationArgsDict(TypedDict): + security_group_ids: pulumi.Input[Sequence[pulumi.Input[str]]] + """ + ID of the security group or security groups associated with the Amazon VPC connected to the infrastructure where your provider type is installed. + """ + subnet_ids: pulumi.Input[Sequence[pulumi.Input[str]]] + """ + The ID of the subnet or subnets associated with the Amazon VPC connected to the infrastructure where your provider type is installed. + """ + tls_certificate: pulumi.Input[str] + """ + The value of the Transport Layer Security (TLS) certificate associated with the infrastructure where your provider type is installed. + """ + vpc_id: pulumi.Input[str] + """ + The ID of the Amazon VPC connected to the infrastructure where your provider type is installed. + """ +elif False: + HostVpcConfigurationArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class HostVpcConfigurationArgs: + def __init__(__self__, *, + security_group_ids: pulumi.Input[Sequence[pulumi.Input[str]]], + subnet_ids: pulumi.Input[Sequence[pulumi.Input[str]]], + tls_certificate: pulumi.Input[str], + vpc_id: pulumi.Input[str]): + """ + :param pulumi.Input[Sequence[pulumi.Input[str]]] security_group_ids: ID of the security group or security groups associated with the Amazon VPC connected to the infrastructure where your provider type is installed. + :param pulumi.Input[Sequence[pulumi.Input[str]]] subnet_ids: The ID of the subnet or subnets associated with the Amazon VPC connected to the infrastructure where your provider type is installed. + :param pulumi.Input[str] tls_certificate: The value of the Transport Layer Security (TLS) certificate associated with the infrastructure where your provider type is installed. + :param pulumi.Input[str] vpc_id: The ID of the Amazon VPC connected to the infrastructure where your provider type is installed. + """ + pulumi.set(__self__, "security_group_ids", security_group_ids) + pulumi.set(__self__, "subnet_ids", subnet_ids) + pulumi.set(__self__, "tls_certificate", tls_certificate) + pulumi.set(__self__, "vpc_id", vpc_id) + + @property + @pulumi.getter(name="securityGroupIds") + def security_group_ids(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: + """ + ID of the security group or security groups associated with the Amazon VPC connected to the infrastructure where your provider type is installed. + """ + return pulumi.get(self, "security_group_ids") + + @security_group_ids.setter + def security_group_ids(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): + pulumi.set(self, "security_group_ids", value) + + @property + @pulumi.getter(name="subnetIds") + def subnet_ids(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: + """ + The ID of the subnet or subnets associated with the Amazon VPC connected to the infrastructure where your provider type is installed. + """ + return pulumi.get(self, "subnet_ids") + + @subnet_ids.setter + def subnet_ids(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): + pulumi.set(self, "subnet_ids", value) + + @property + @pulumi.getter(name="tlsCertificate") + def tls_certificate(self) -> pulumi.Input[str]: + """ + The value of the Transport Layer Security (TLS) certificate associated with the infrastructure where your provider type is installed. + """ + return pulumi.get(self, "tls_certificate") + + @tls_certificate.setter + def tls_certificate(self, value: pulumi.Input[str]): + pulumi.set(self, "tls_certificate", value) + + @property + @pulumi.getter(name="vpcId") + def vpc_id(self) -> pulumi.Input[str]: + """ + The ID of the Amazon VPC connected to the infrastructure where your provider type is installed. + """ + return pulumi.get(self, "vpc_id") + + @vpc_id.setter + def vpc_id(self, value: pulumi.Input[str]): + pulumi.set(self, "vpc_id", value) + + diff --git a/sdk/python/pulumi_aws/codeconnections/connection.py b/sdk/python/pulumi_aws/codeconnections/connection.py new file mode 100644 index 00000000000..012a36bad9e --- /dev/null +++ b/sdk/python/pulumi_aws/codeconnections/connection.py @@ -0,0 +1,482 @@ +# 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__ = ['ConnectionArgs', 'Connection'] + +@pulumi.input_type +class ConnectionArgs: + def __init__(__self__, *, + host_arn: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + provider_type: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + timeouts: Optional[pulumi.Input['ConnectionTimeoutsArgs']] = None): + """ + The set of arguments for constructing a Connection resource. + :param pulumi.Input[str] host_arn: The Amazon Resource Name (ARN) of the host associated with the connection. Conflicts with `provider_type` + :param pulumi.Input[str] name: The name of the connection to be created. The name must be unique in the calling AWS account. Changing `name` will create a new resource. + :param pulumi.Input[str] provider_type: The name of the external provider where your third-party code repository is configured. Changing `provider_type` will create a new resource. Conflicts with `host_arn`. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Map of key-value resource tags to associate with 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 host_arn is not None: + pulumi.set(__self__, "host_arn", host_arn) + if name is not None: + pulumi.set(__self__, "name", name) + if provider_type is not None: + pulumi.set(__self__, "provider_type", provider_type) + if tags is not None: + pulumi.set(__self__, "tags", tags) + if timeouts is not None: + pulumi.set(__self__, "timeouts", timeouts) + + @property + @pulumi.getter(name="hostArn") + def host_arn(self) -> Optional[pulumi.Input[str]]: + """ + The Amazon Resource Name (ARN) of the host associated with the connection. Conflicts with `provider_type` + """ + return pulumi.get(self, "host_arn") + + @host_arn.setter + def host_arn(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "host_arn", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + The name of the connection to be created. The name must be unique in the calling AWS account. Changing `name` will create a new resource. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="providerType") + def provider_type(self) -> Optional[pulumi.Input[str]]: + """ + The name of the external provider where your third-party code repository is configured. Changing `provider_type` will create a new resource. Conflicts with `host_arn`. + """ + return pulumi.get(self, "provider_type") + + @provider_type.setter + def provider_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "provider_type", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + Map of key-value resource tags to associate with the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + """ + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags", value) + + @property + @pulumi.getter + def timeouts(self) -> Optional[pulumi.Input['ConnectionTimeoutsArgs']]: + return pulumi.get(self, "timeouts") + + @timeouts.setter + def timeouts(self, value: Optional[pulumi.Input['ConnectionTimeoutsArgs']]): + pulumi.set(self, "timeouts", value) + + +@pulumi.input_type +class _ConnectionState: + def __init__(__self__, *, + arn: Optional[pulumi.Input[str]] = None, + connection_status: Optional[pulumi.Input[str]] = None, + host_arn: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + owner_account_id: Optional[pulumi.Input[str]] = None, + provider_type: 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['ConnectionTimeoutsArgs']] = None): + """ + Input properties used for looking up and filtering Connection resources. + :param pulumi.Input[str] arn: The codeconnections connection ARN. + :param pulumi.Input[str] connection_status: The codeconnections connection status. Possible values are `PENDING`, `AVAILABLE` and `ERROR`. + :param pulumi.Input[str] host_arn: The Amazon Resource Name (ARN) of the host associated with the connection. Conflicts with `provider_type` + :param pulumi.Input[str] name: The name of the connection to be created. The name must be unique in the calling AWS account. Changing `name` will create a new resource. + :param pulumi.Input[str] provider_type: The name of the external provider where your third-party code repository is configured. Changing `provider_type` will create a new resource. Conflicts with `host_arn`. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Map of key-value resource tags to associate with the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + """ + if arn is not None: + pulumi.set(__self__, "arn", arn) + if connection_status is not None: + pulumi.set(__self__, "connection_status", connection_status) + if host_arn is not None: + pulumi.set(__self__, "host_arn", host_arn) + if name is not None: + pulumi.set(__self__, "name", name) + if owner_account_id is not None: + pulumi.set(__self__, "owner_account_id", owner_account_id) + if provider_type is not None: + pulumi.set(__self__, "provider_type", provider_type) + if tags is not None: + pulumi.set(__self__, "tags", tags) + if tags_all is not None: + warnings.warn("""Please use `tags` instead.""", DeprecationWarning) + pulumi.log.warn("""tags_all is deprecated: Please use `tags` instead.""") + if tags_all is not None: + pulumi.set(__self__, "tags_all", tags_all) + if timeouts is not None: + pulumi.set(__self__, "timeouts", timeouts) + + @property + @pulumi.getter + def arn(self) -> Optional[pulumi.Input[str]]: + """ + The codeconnections connection ARN. + """ + return pulumi.get(self, "arn") + + @arn.setter + def arn(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "arn", value) + + @property + @pulumi.getter(name="connectionStatus") + def connection_status(self) -> Optional[pulumi.Input[str]]: + """ + The codeconnections connection status. Possible values are `PENDING`, `AVAILABLE` and `ERROR`. + """ + return pulumi.get(self, "connection_status") + + @connection_status.setter + def connection_status(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "connection_status", value) + + @property + @pulumi.getter(name="hostArn") + def host_arn(self) -> Optional[pulumi.Input[str]]: + """ + The Amazon Resource Name (ARN) of the host associated with the connection. Conflicts with `provider_type` + """ + return pulumi.get(self, "host_arn") + + @host_arn.setter + def host_arn(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "host_arn", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + The name of the connection to be created. The name must be unique in the calling AWS account. Changing `name` will create a new resource. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="ownerAccountId") + def owner_account_id(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "owner_account_id") + + @owner_account_id.setter + def owner_account_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "owner_account_id", value) + + @property + @pulumi.getter(name="providerType") + def provider_type(self) -> Optional[pulumi.Input[str]]: + """ + The name of the external provider where your third-party code repository is configured. Changing `provider_type` will create a new resource. Conflicts with `host_arn`. + """ + return pulumi.get(self, "provider_type") + + @provider_type.setter + def provider_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "provider_type", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + Map of key-value resource tags to associate with the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + """ + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags", value) + + @property + @pulumi.getter(name="tagsAll") + @_utilities.deprecated("""Please use `tags` instead.""") + def tags_all(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + """ + return pulumi.get(self, "tags_all") + + @tags_all.setter + def tags_all(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags_all", value) + + @property + @pulumi.getter + def timeouts(self) -> Optional[pulumi.Input['ConnectionTimeoutsArgs']]: + return pulumi.get(self, "timeouts") + + @timeouts.setter + def timeouts(self, value: Optional[pulumi.Input['ConnectionTimeoutsArgs']]): + pulumi.set(self, "timeouts", value) + + +class Connection(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + host_arn: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + provider_type: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + timeouts: Optional[pulumi.Input[Union['ConnectionTimeoutsArgs', 'ConnectionTimeoutsArgsDict']]] = None, + __props__=None): + """ + Resource for managing an AWS CodeConnections Connection. + + > **NOTE:** The `codeconnections.Connection` resource is created in the state `PENDING`. Authentication with the connection provider must be completed in the AWS Console. See the [AWS documentation](https://docs.aws.amazon.com/dtconsole/latest/userguide/connections-update.html) for details. + + ## Example Usage + + ### Basic Usage + + ```python + import pulumi + import pulumi_aws as aws + + example = aws.codeconnections.Connection("example", + name="example-connection", + provider_type="Bitbucket") + ``` + + ## Import + + Using `pulumi import`, import CodeConnections connection using the ARN. For example: + + ```sh + $ pulumi import aws:codeconnections/connection:Connection test-connection arn:aws:codeconnections:us-west-1:0123456789:connection/79d4d357-a2ee-41e4-b350-2fe39ae59448 + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] host_arn: The Amazon Resource Name (ARN) of the host associated with the connection. Conflicts with `provider_type` + :param pulumi.Input[str] name: The name of the connection to be created. The name must be unique in the calling AWS account. Changing `name` will create a new resource. + :param pulumi.Input[str] provider_type: The name of the external provider where your third-party code repository is configured. Changing `provider_type` will create a new resource. Conflicts with `host_arn`. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Map of key-value resource tags to associate with the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: Optional[ConnectionArgs] = None, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Resource for managing an AWS CodeConnections Connection. + + > **NOTE:** The `codeconnections.Connection` resource is created in the state `PENDING`. Authentication with the connection provider must be completed in the AWS Console. See the [AWS documentation](https://docs.aws.amazon.com/dtconsole/latest/userguide/connections-update.html) for details. + + ## Example Usage + + ### Basic Usage + + ```python + import pulumi + import pulumi_aws as aws + + example = aws.codeconnections.Connection("example", + name="example-connection", + provider_type="Bitbucket") + ``` + + ## Import + + Using `pulumi import`, import CodeConnections connection using the ARN. For example: + + ```sh + $ pulumi import aws:codeconnections/connection:Connection test-connection arn:aws:codeconnections:us-west-1:0123456789:connection/79d4d357-a2ee-41e4-b350-2fe39ae59448 + ``` + + :param str resource_name: The name of the resource. + :param ConnectionArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(ConnectionArgs, 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, + host_arn: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + provider_type: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + timeouts: Optional[pulumi.Input[Union['ConnectionTimeoutsArgs', 'ConnectionTimeoutsArgsDict']]] = 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__ = ConnectionArgs.__new__(ConnectionArgs) + + __props__.__dict__["host_arn"] = host_arn + __props__.__dict__["name"] = name + __props__.__dict__["provider_type"] = provider_type + __props__.__dict__["tags"] = tags + __props__.__dict__["timeouts"] = timeouts + __props__.__dict__["arn"] = None + __props__.__dict__["connection_status"] = None + __props__.__dict__["owner_account_id"] = None + __props__.__dict__["tags_all"] = None + super(Connection, __self__).__init__( + 'aws:codeconnections/connection:Connection', + 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, + connection_status: Optional[pulumi.Input[str]] = None, + host_arn: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + owner_account_id: Optional[pulumi.Input[str]] = None, + provider_type: 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['ConnectionTimeoutsArgs', 'ConnectionTimeoutsArgsDict']]] = None) -> 'Connection': + """ + Get an existing Connection 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 codeconnections connection ARN. + :param pulumi.Input[str] connection_status: The codeconnections connection status. Possible values are `PENDING`, `AVAILABLE` and `ERROR`. + :param pulumi.Input[str] host_arn: The Amazon Resource Name (ARN) of the host associated with the connection. Conflicts with `provider_type` + :param pulumi.Input[str] name: The name of the connection to be created. The name must be unique in the calling AWS account. Changing `name` will create a new resource. + :param pulumi.Input[str] provider_type: The name of the external provider where your third-party code repository is configured. Changing `provider_type` will create a new resource. Conflicts with `host_arn`. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Map of key-value resource tags to associate with the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _ConnectionState.__new__(_ConnectionState) + + __props__.__dict__["arn"] = arn + __props__.__dict__["connection_status"] = connection_status + __props__.__dict__["host_arn"] = host_arn + __props__.__dict__["name"] = name + __props__.__dict__["owner_account_id"] = owner_account_id + __props__.__dict__["provider_type"] = provider_type + __props__.__dict__["tags"] = tags + __props__.__dict__["tags_all"] = tags_all + __props__.__dict__["timeouts"] = timeouts + return Connection(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter + def arn(self) -> pulumi.Output[str]: + """ + The codeconnections connection ARN. + """ + return pulumi.get(self, "arn") + + @property + @pulumi.getter(name="connectionStatus") + def connection_status(self) -> pulumi.Output[str]: + """ + The codeconnections connection status. Possible values are `PENDING`, `AVAILABLE` and `ERROR`. + """ + return pulumi.get(self, "connection_status") + + @property + @pulumi.getter(name="hostArn") + def host_arn(self) -> pulumi.Output[Optional[str]]: + """ + The Amazon Resource Name (ARN) of the host associated with the connection. Conflicts with `provider_type` + """ + return pulumi.get(self, "host_arn") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + The name of the connection to be created. The name must be unique in the calling AWS account. Changing `name` will create a new resource. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="ownerAccountId") + def owner_account_id(self) -> pulumi.Output[str]: + return pulumi.get(self, "owner_account_id") + + @property + @pulumi.getter(name="providerType") + def provider_type(self) -> pulumi.Output[str]: + """ + The name of the external provider where your third-party code repository is configured. Changing `provider_type` will create a new resource. Conflicts with `host_arn`. + """ + return pulumi.get(self, "provider_type") + + @property + @pulumi.getter + def tags(self) -> pulumi.Output[Optional[Mapping[str, str]]]: + """ + Map of key-value resource tags to associate with 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]]: + """ + A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + """ + return pulumi.get(self, "tags_all") + + @property + @pulumi.getter + def timeouts(self) -> pulumi.Output[Optional['outputs.ConnectionTimeouts']]: + return pulumi.get(self, "timeouts") + diff --git a/sdk/python/pulumi_aws/codeconnections/host.py b/sdk/python/pulumi_aws/codeconnections/host.py new file mode 100644 index 00000000000..8ffa4896c83 --- /dev/null +++ b/sdk/python/pulumi_aws/codeconnections/host.py @@ -0,0 +1,464 @@ +# 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__ = ['HostArgs', 'Host'] + +@pulumi.input_type +class HostArgs: + def __init__(__self__, *, + provider_endpoint: pulumi.Input[str], + provider_type: pulumi.Input[str], + name: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + timeouts: Optional[pulumi.Input['HostTimeoutsArgs']] = None, + vpc_configuration: Optional[pulumi.Input['HostVpcConfigurationArgs']] = None): + """ + The set of arguments for constructing a Host resource. + :param pulumi.Input[str] provider_endpoint: The endpoint of the infrastructure to be represented by the host after it is created. + :param pulumi.Input[str] provider_type: The name of the external provider where your third-party code repository is configured. + :param pulumi.Input[str] name: The name of the host to be created. The name must be unique in the calling AWS account. + :param pulumi.Input['HostVpcConfigurationArgs'] vpc_configuration: The VPC configuration to be provisioned for the host. A VPC must be configured, and the infrastructure to be represented by the host must already be connected to the VPC. + """ + pulumi.set(__self__, "provider_endpoint", provider_endpoint) + pulumi.set(__self__, "provider_type", provider_type) + 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) + if vpc_configuration is not None: + pulumi.set(__self__, "vpc_configuration", vpc_configuration) + + @property + @pulumi.getter(name="providerEndpoint") + def provider_endpoint(self) -> pulumi.Input[str]: + """ + The endpoint of the infrastructure to be represented by the host after it is created. + """ + return pulumi.get(self, "provider_endpoint") + + @provider_endpoint.setter + def provider_endpoint(self, value: pulumi.Input[str]): + pulumi.set(self, "provider_endpoint", value) + + @property + @pulumi.getter(name="providerType") + def provider_type(self) -> pulumi.Input[str]: + """ + The name of the external provider where your third-party code repository is configured. + """ + return pulumi.get(self, "provider_type") + + @provider_type.setter + def provider_type(self, value: pulumi.Input[str]): + pulumi.set(self, "provider_type", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + The name of the host to be created. The name must be unique in the calling AWS account. + """ + 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]]]]: + 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['HostTimeoutsArgs']]: + return pulumi.get(self, "timeouts") + + @timeouts.setter + def timeouts(self, value: Optional[pulumi.Input['HostTimeoutsArgs']]): + pulumi.set(self, "timeouts", value) + + @property + @pulumi.getter(name="vpcConfiguration") + def vpc_configuration(self) -> Optional[pulumi.Input['HostVpcConfigurationArgs']]: + """ + The VPC configuration to be provisioned for the host. A VPC must be configured, and the infrastructure to be represented by the host must already be connected to the VPC. + """ + return pulumi.get(self, "vpc_configuration") + + @vpc_configuration.setter + def vpc_configuration(self, value: Optional[pulumi.Input['HostVpcConfigurationArgs']]): + pulumi.set(self, "vpc_configuration", value) + + +@pulumi.input_type +class _HostState: + def __init__(__self__, *, + arn: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + provider_endpoint: Optional[pulumi.Input[str]] = None, + provider_type: 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['HostTimeoutsArgs']] = None, + vpc_configuration: Optional[pulumi.Input['HostVpcConfigurationArgs']] = None): + """ + Input properties used for looking up and filtering Host resources. + :param pulumi.Input[str] arn: The CodeConnections Host ARN. + :param pulumi.Input[str] name: The name of the host to be created. The name must be unique in the calling AWS account. + :param pulumi.Input[str] provider_endpoint: The endpoint of the infrastructure to be represented by the host after it is created. + :param pulumi.Input[str] provider_type: The name of the external provider where your third-party code repository is configured. + :param pulumi.Input['HostVpcConfigurationArgs'] vpc_configuration: The VPC configuration to be provisioned for the host. A VPC must be configured, and the infrastructure to be represented by the host must already be connected to the VPC. + """ + if arn is not None: + pulumi.set(__self__, "arn", arn) + if name is not None: + pulumi.set(__self__, "name", name) + if provider_endpoint is not None: + pulumi.set(__self__, "provider_endpoint", provider_endpoint) + if provider_type is not None: + pulumi.set(__self__, "provider_type", provider_type) + if tags is not None: + pulumi.set(__self__, "tags", tags) + if tags_all is not None: + warnings.warn("""Please use `tags` instead.""", DeprecationWarning) + pulumi.log.warn("""tags_all is deprecated: Please use `tags` instead.""") + if tags_all is not None: + pulumi.set(__self__, "tags_all", tags_all) + if timeouts is not None: + pulumi.set(__self__, "timeouts", timeouts) + if vpc_configuration is not None: + pulumi.set(__self__, "vpc_configuration", vpc_configuration) + + @property + @pulumi.getter + def arn(self) -> Optional[pulumi.Input[str]]: + """ + The CodeConnections Host ARN. + """ + return pulumi.get(self, "arn") + + @arn.setter + def arn(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "arn", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + The name of the host to be created. The name must be unique in the calling AWS account. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="providerEndpoint") + def provider_endpoint(self) -> Optional[pulumi.Input[str]]: + """ + The endpoint of the infrastructure to be represented by the host after it is created. + """ + return pulumi.get(self, "provider_endpoint") + + @provider_endpoint.setter + def provider_endpoint(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "provider_endpoint", value) + + @property + @pulumi.getter(name="providerType") + def provider_type(self) -> Optional[pulumi.Input[str]]: + """ + The name of the external provider where your third-party code repository is configured. + """ + return pulumi.get(self, "provider_type") + + @provider_type.setter + def provider_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "provider_type", 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) + + @property + @pulumi.getter + def timeouts(self) -> Optional[pulumi.Input['HostTimeoutsArgs']]: + return pulumi.get(self, "timeouts") + + @timeouts.setter + def timeouts(self, value: Optional[pulumi.Input['HostTimeoutsArgs']]): + pulumi.set(self, "timeouts", value) + + @property + @pulumi.getter(name="vpcConfiguration") + def vpc_configuration(self) -> Optional[pulumi.Input['HostVpcConfigurationArgs']]: + """ + The VPC configuration to be provisioned for the host. A VPC must be configured, and the infrastructure to be represented by the host must already be connected to the VPC. + """ + return pulumi.get(self, "vpc_configuration") + + @vpc_configuration.setter + def vpc_configuration(self, value: Optional[pulumi.Input['HostVpcConfigurationArgs']]): + pulumi.set(self, "vpc_configuration", value) + + +class Host(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + name: Optional[pulumi.Input[str]] = None, + provider_endpoint: Optional[pulumi.Input[str]] = None, + provider_type: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + timeouts: Optional[pulumi.Input[Union['HostTimeoutsArgs', 'HostTimeoutsArgsDict']]] = None, + vpc_configuration: Optional[pulumi.Input[Union['HostVpcConfigurationArgs', 'HostVpcConfigurationArgsDict']]] = None, + __props__=None): + """ + Resource for managing an AWS CodeConnections Host. + + > **NOTE:** The `codeconnections.Host` resource is created in the state `PENDING`. Authentication with the host provider must be completed in the AWS Console. For more information visit [Set up a pending host](https://docs.aws.amazon.com/dtconsole/latest/userguide/connections-host-setup.html). + + ## Example Usage + + ### Basic Usage + + ```python + import pulumi + import pulumi_aws as aws + + example = aws.codeconnections.Host("example", + name="example-host", + provider_endpoint="https://example.com", + provider_type="GitHubEnterpriseServer") + ``` + + ## Import + + Using `pulumi import`, import CodeConnections Host using the ARN. For example: + + ```sh + $ pulumi import aws:codeconnections/host:Host example-host arn:aws:codeconnections:us-west-1:0123456789:host/79d4d357-a2ee-41e4-b350-2fe39ae59448 + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] name: The name of the host to be created. The name must be unique in the calling AWS account. + :param pulumi.Input[str] provider_endpoint: The endpoint of the infrastructure to be represented by the host after it is created. + :param pulumi.Input[str] provider_type: The name of the external provider where your third-party code repository is configured. + :param pulumi.Input[Union['HostVpcConfigurationArgs', 'HostVpcConfigurationArgsDict']] vpc_configuration: The VPC configuration to be provisioned for the host. A VPC must be configured, and the infrastructure to be represented by the host must already be connected to the VPC. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: HostArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Resource for managing an AWS CodeConnections Host. + + > **NOTE:** The `codeconnections.Host` resource is created in the state `PENDING`. Authentication with the host provider must be completed in the AWS Console. For more information visit [Set up a pending host](https://docs.aws.amazon.com/dtconsole/latest/userguide/connections-host-setup.html). + + ## Example Usage + + ### Basic Usage + + ```python + import pulumi + import pulumi_aws as aws + + example = aws.codeconnections.Host("example", + name="example-host", + provider_endpoint="https://example.com", + provider_type="GitHubEnterpriseServer") + ``` + + ## Import + + Using `pulumi import`, import CodeConnections Host using the ARN. For example: + + ```sh + $ pulumi import aws:codeconnections/host:Host example-host arn:aws:codeconnections:us-west-1:0123456789:host/79d4d357-a2ee-41e4-b350-2fe39ae59448 + ``` + + :param str resource_name: The name of the resource. + :param HostArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(HostArgs, 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, + provider_endpoint: Optional[pulumi.Input[str]] = None, + provider_type: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + timeouts: Optional[pulumi.Input[Union['HostTimeoutsArgs', 'HostTimeoutsArgsDict']]] = None, + vpc_configuration: Optional[pulumi.Input[Union['HostVpcConfigurationArgs', 'HostVpcConfigurationArgsDict']]] = 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__ = HostArgs.__new__(HostArgs) + + __props__.__dict__["name"] = name + if provider_endpoint is None and not opts.urn: + raise TypeError("Missing required property 'provider_endpoint'") + __props__.__dict__["provider_endpoint"] = provider_endpoint + if provider_type is None and not opts.urn: + raise TypeError("Missing required property 'provider_type'") + __props__.__dict__["provider_type"] = provider_type + __props__.__dict__["tags"] = tags + __props__.__dict__["timeouts"] = timeouts + __props__.__dict__["vpc_configuration"] = vpc_configuration + __props__.__dict__["arn"] = None + __props__.__dict__["tags_all"] = None + super(Host, __self__).__init__( + 'aws:codeconnections/host:Host', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + arn: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + provider_endpoint: Optional[pulumi.Input[str]] = None, + provider_type: 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['HostTimeoutsArgs', 'HostTimeoutsArgsDict']]] = None, + vpc_configuration: Optional[pulumi.Input[Union['HostVpcConfigurationArgs', 'HostVpcConfigurationArgsDict']]] = None) -> 'Host': + """ + Get an existing Host 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 CodeConnections Host ARN. + :param pulumi.Input[str] name: The name of the host to be created. The name must be unique in the calling AWS account. + :param pulumi.Input[str] provider_endpoint: The endpoint of the infrastructure to be represented by the host after it is created. + :param pulumi.Input[str] provider_type: The name of the external provider where your third-party code repository is configured. + :param pulumi.Input[Union['HostVpcConfigurationArgs', 'HostVpcConfigurationArgsDict']] vpc_configuration: The VPC configuration to be provisioned for the host. A VPC must be configured, and the infrastructure to be represented by the host must already be connected to the VPC. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _HostState.__new__(_HostState) + + __props__.__dict__["arn"] = arn + __props__.__dict__["name"] = name + __props__.__dict__["provider_endpoint"] = provider_endpoint + __props__.__dict__["provider_type"] = provider_type + __props__.__dict__["tags"] = tags + __props__.__dict__["tags_all"] = tags_all + __props__.__dict__["timeouts"] = timeouts + __props__.__dict__["vpc_configuration"] = vpc_configuration + return Host(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter + def arn(self) -> pulumi.Output[str]: + """ + The CodeConnections Host ARN. + """ + return pulumi.get(self, "arn") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + The name of the host to be created. The name must be unique in the calling AWS account. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="providerEndpoint") + def provider_endpoint(self) -> pulumi.Output[str]: + """ + The endpoint of the infrastructure to be represented by the host after it is created. + """ + return pulumi.get(self, "provider_endpoint") + + @property + @pulumi.getter(name="providerType") + def provider_type(self) -> pulumi.Output[str]: + """ + The name of the external provider where your third-party code repository is configured. + """ + return pulumi.get(self, "provider_type") + + @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") + + @property + @pulumi.getter + def timeouts(self) -> pulumi.Output[Optional['outputs.HostTimeouts']]: + return pulumi.get(self, "timeouts") + + @property + @pulumi.getter(name="vpcConfiguration") + def vpc_configuration(self) -> pulumi.Output[Optional['outputs.HostVpcConfiguration']]: + """ + The VPC configuration to be provisioned for the host. A VPC must be configured, and the infrastructure to be represented by the host must already be connected to the VPC. + """ + return pulumi.get(self, "vpc_configuration") + diff --git a/sdk/python/pulumi_aws/codeconnections/outputs.py b/sdk/python/pulumi_aws/codeconnections/outputs.py new file mode 100644 index 00000000000..4d1814160c2 --- /dev/null +++ b/sdk/python/pulumi_aws/codeconnections/outputs.py @@ -0,0 +1,182 @@ +# 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__ = [ + 'ConnectionTimeouts', + 'HostTimeouts', + 'HostVpcConfiguration', +] + +@pulumi.output_type +class ConnectionTimeouts(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 HostTimeouts(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 HostVpcConfiguration(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "securityGroupIds": + suggest = "security_group_ids" + elif key == "subnetIds": + suggest = "subnet_ids" + elif key == "tlsCertificate": + suggest = "tls_certificate" + elif key == "vpcId": + suggest = "vpc_id" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in HostVpcConfiguration. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + HostVpcConfiguration.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + HostVpcConfiguration.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + security_group_ids: Sequence[str], + subnet_ids: Sequence[str], + tls_certificate: str, + vpc_id: str): + """ + :param Sequence[str] security_group_ids: ID of the security group or security groups associated with the Amazon VPC connected to the infrastructure where your provider type is installed. + :param Sequence[str] subnet_ids: The ID of the subnet or subnets associated with the Amazon VPC connected to the infrastructure where your provider type is installed. + :param str tls_certificate: The value of the Transport Layer Security (TLS) certificate associated with the infrastructure where your provider type is installed. + :param str vpc_id: The ID of the Amazon VPC connected to the infrastructure where your provider type is installed. + """ + pulumi.set(__self__, "security_group_ids", security_group_ids) + pulumi.set(__self__, "subnet_ids", subnet_ids) + pulumi.set(__self__, "tls_certificate", tls_certificate) + pulumi.set(__self__, "vpc_id", vpc_id) + + @property + @pulumi.getter(name="securityGroupIds") + def security_group_ids(self) -> Sequence[str]: + """ + ID of the security group or security groups associated with the Amazon VPC connected to the infrastructure where your provider type is installed. + """ + return pulumi.get(self, "security_group_ids") + + @property + @pulumi.getter(name="subnetIds") + def subnet_ids(self) -> Sequence[str]: + """ + The ID of the subnet or subnets associated with the Amazon VPC connected to the infrastructure where your provider type is installed. + """ + return pulumi.get(self, "subnet_ids") + + @property + @pulumi.getter(name="tlsCertificate") + def tls_certificate(self) -> str: + """ + The value of the Transport Layer Security (TLS) certificate associated with the infrastructure where your provider type is installed. + """ + return pulumi.get(self, "tls_certificate") + + @property + @pulumi.getter(name="vpcId") + def vpc_id(self) -> str: + """ + The ID of the Amazon VPC connected to the infrastructure where your provider type is installed. + """ + return pulumi.get(self, "vpc_id") + + diff --git a/sdk/python/pulumi_aws/config/outputs.py b/sdk/python/pulumi_aws/config/outputs.py index a107cebc171..cc19adf7265 100644 --- a/sdk/python/pulumi_aws/config/outputs.py +++ b/sdk/python/pulumi_aws/config/outputs.py @@ -485,6 +485,7 @@ def __init__(__self__, *, s3api: Optional[str] = None, s3control: Optional[str] = None, s3outposts: Optional[str] = None, + s3tables: Optional[str] = None, sagemaker: Optional[str] = None, scheduler: Optional[str] = None, schemas: Optional[str] = None, @@ -779,6 +780,7 @@ def __init__(__self__, *, :param str s3api: Use this to override the default service endpoint URL :param str s3control: Use this to override the default service endpoint URL :param str s3outposts: Use this to override the default service endpoint URL + :param str s3tables: Use this to override the default service endpoint URL :param str sagemaker: Use this to override the default service endpoint URL :param str scheduler: Use this to override the default service endpoint URL :param str schemas: Use this to override the default service endpoint URL @@ -1316,6 +1318,8 @@ def __init__(__self__, *, pulumi.set(__self__, "s3control", s3control) if s3outposts is not None: pulumi.set(__self__, "s3outposts", s3outposts) + if s3tables is not None: + pulumi.set(__self__, "s3tables", s3tables) if sagemaker is not None: pulumi.set(__self__, "sagemaker", sagemaker) if scheduler is not None: @@ -3361,6 +3365,14 @@ def s3outposts(self) -> Optional[str]: """ return pulumi.get(self, "s3outposts") + @property + @pulumi.getter + def s3tables(self) -> Optional[str]: + """ + Use this to override the default service endpoint URL + """ + return pulumi.get(self, "s3tables") + @property @pulumi.getter def sagemaker(self) -> Optional[str]: diff --git a/sdk/python/pulumi_aws/dynamodb/table_replica.py b/sdk/python/pulumi_aws/dynamodb/table_replica.py index a2af982b20e..bbd6c8aa66f 100644 --- a/sdk/python/pulumi_aws/dynamodb/table_replica.py +++ b/sdk/python/pulumi_aws/dynamodb/table_replica.py @@ -20,6 +20,7 @@ class TableReplicaInitArgs: def __init__(__self__, *, global_table_arn: pulumi.Input[str], + deletion_protection_enabled: Optional[pulumi.Input[bool]] = None, kms_key_arn: Optional[pulumi.Input[str]] = None, point_in_time_recovery: Optional[pulumi.Input[bool]] = None, table_class_override: Optional[pulumi.Input[str]] = None, @@ -29,12 +30,15 @@ def __init__(__self__, *, :param pulumi.Input[str] global_table_arn: ARN of the _main_ or global table which this resource will replicate. Optional arguments: + :param pulumi.Input[bool] deletion_protection_enabled: Whether deletion protection is enabled (true) or disabled (false) on the table replica. :param pulumi.Input[str] kms_key_arn: ARN of the CMK that should be used for the AWS KMS encryption. This argument should only be used if the key is different from the default KMS-managed DynamoDB key, `alias/aws/dynamodb`. **Note:** This attribute will _not_ be populated with the ARN of _default_ keys. - :param pulumi.Input[bool] point_in_time_recovery: Whether to enable Point In Time Recovery for the replica. Default is `false`. + :param pulumi.Input[bool] point_in_time_recovery: Whether to enable Point In Time Recovery for the table replica. Default is `false`. :param pulumi.Input[str] table_class_override: Storage class of the table replica. Valid values are `STANDARD` and `STANDARD_INFREQUENT_ACCESS`. If not used, the table replica will use the same class as the global table. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Map of tags to populate on the created table. 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_table_arn", global_table_arn) + if deletion_protection_enabled is not None: + pulumi.set(__self__, "deletion_protection_enabled", deletion_protection_enabled) if kms_key_arn is not None: pulumi.set(__self__, "kms_key_arn", kms_key_arn) if point_in_time_recovery is not None: @@ -58,6 +62,18 @@ def global_table_arn(self) -> pulumi.Input[str]: def global_table_arn(self, value: pulumi.Input[str]): pulumi.set(self, "global_table_arn", value) + @property + @pulumi.getter(name="deletionProtectionEnabled") + def deletion_protection_enabled(self) -> Optional[pulumi.Input[bool]]: + """ + Whether deletion protection is enabled (true) or disabled (false) on the table replica. + """ + return pulumi.get(self, "deletion_protection_enabled") + + @deletion_protection_enabled.setter + def deletion_protection_enabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "deletion_protection_enabled", value) + @property @pulumi.getter(name="kmsKeyArn") def kms_key_arn(self) -> Optional[pulumi.Input[str]]: @@ -74,7 +90,7 @@ def kms_key_arn(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="pointInTimeRecovery") def point_in_time_recovery(self) -> Optional[pulumi.Input[bool]]: """ - Whether to enable Point In Time Recovery for the replica. Default is `false`. + Whether to enable Point In Time Recovery for the table replica. Default is `false`. """ return pulumi.get(self, "point_in_time_recovery") @@ -111,6 +127,7 @@ def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): class _TableReplicaState: def __init__(__self__, *, arn: Optional[pulumi.Input[str]] = None, + deletion_protection_enabled: Optional[pulumi.Input[bool]] = None, global_table_arn: Optional[pulumi.Input[str]] = None, kms_key_arn: Optional[pulumi.Input[str]] = None, point_in_time_recovery: Optional[pulumi.Input[bool]] = None, @@ -120,17 +137,20 @@ def __init__(__self__, *, """ Input properties used for looking up and filtering TableReplica resources. :param pulumi.Input[str] arn: ARN of the table replica. + :param pulumi.Input[bool] deletion_protection_enabled: Whether deletion protection is enabled (true) or disabled (false) on the table replica. :param pulumi.Input[str] global_table_arn: ARN of the _main_ or global table which this resource will replicate. Optional arguments: :param pulumi.Input[str] kms_key_arn: ARN of the CMK that should be used for the AWS KMS encryption. This argument should only be used if the key is different from the default KMS-managed DynamoDB key, `alias/aws/dynamodb`. **Note:** This attribute will _not_ be populated with the ARN of _default_ keys. - :param pulumi.Input[bool] point_in_time_recovery: Whether to enable Point In Time Recovery for the replica. Default is `false`. + :param pulumi.Input[bool] point_in_time_recovery: Whether to enable Point In Time Recovery for the table replica. Default is `false`. :param pulumi.Input[str] table_class_override: Storage class of the table replica. Valid values are `STANDARD` and `STANDARD_INFREQUENT_ACCESS`. If not used, the table replica will use the same class as the global table. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Map of tags to populate on the created table. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. """ if arn is not None: pulumi.set(__self__, "arn", arn) + if deletion_protection_enabled is not None: + pulumi.set(__self__, "deletion_protection_enabled", deletion_protection_enabled) if global_table_arn is not None: pulumi.set(__self__, "global_table_arn", global_table_arn) if kms_key_arn is not None: @@ -159,6 +179,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="deletionProtectionEnabled") + def deletion_protection_enabled(self) -> Optional[pulumi.Input[bool]]: + """ + Whether deletion protection is enabled (true) or disabled (false) on the table replica. + """ + return pulumi.get(self, "deletion_protection_enabled") + + @deletion_protection_enabled.setter + def deletion_protection_enabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "deletion_protection_enabled", value) + @property @pulumi.getter(name="globalTableArn") def global_table_arn(self) -> Optional[pulumi.Input[str]]: @@ -189,7 +221,7 @@ def kms_key_arn(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="pointInTimeRecovery") def point_in_time_recovery(self) -> Optional[pulumi.Input[bool]]: """ - Whether to enable Point In Time Recovery for the replica. Default is `false`. + Whether to enable Point In Time Recovery for the table replica. Default is `false`. """ return pulumi.get(self, "point_in_time_recovery") @@ -240,6 +272,7 @@ class TableReplica(pulumi.CustomResource): def __init__(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, + deletion_protection_enabled: Optional[pulumi.Input[bool]] = None, global_table_arn: Optional[pulumi.Input[str]] = None, kms_key_arn: Optional[pulumi.Input[str]] = None, point_in_time_recovery: Optional[pulumi.Input[bool]] = None, @@ -291,11 +324,12 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[bool] deletion_protection_enabled: Whether deletion protection is enabled (true) or disabled (false) on the table replica. :param pulumi.Input[str] global_table_arn: ARN of the _main_ or global table which this resource will replicate. Optional arguments: :param pulumi.Input[str] kms_key_arn: ARN of the CMK that should be used for the AWS KMS encryption. This argument should only be used if the key is different from the default KMS-managed DynamoDB key, `alias/aws/dynamodb`. **Note:** This attribute will _not_ be populated with the ARN of _default_ keys. - :param pulumi.Input[bool] point_in_time_recovery: Whether to enable Point In Time Recovery for the replica. Default is `false`. + :param pulumi.Input[bool] point_in_time_recovery: Whether to enable Point In Time Recovery for the table replica. Default is `false`. :param pulumi.Input[str] table_class_override: Storage class of the table replica. Valid values are `STANDARD` and `STANDARD_INFREQUENT_ACCESS`. If not used, the table replica will use the same class as the global table. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Map of tags to populate on the created table. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. """ @@ -363,6 +397,7 @@ def __init__(__self__, resource_name: str, *args, **kwargs): def _internal_init(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, + deletion_protection_enabled: Optional[pulumi.Input[bool]] = None, global_table_arn: Optional[pulumi.Input[str]] = None, kms_key_arn: Optional[pulumi.Input[str]] = None, point_in_time_recovery: Optional[pulumi.Input[bool]] = None, @@ -377,6 +412,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__ = TableReplicaInitArgs.__new__(TableReplicaInitArgs) + __props__.__dict__["deletion_protection_enabled"] = deletion_protection_enabled if global_table_arn is None and not opts.urn: raise TypeError("Missing required property 'global_table_arn'") __props__.__dict__["global_table_arn"] = global_table_arn @@ -397,6 +433,7 @@ def get(resource_name: str, id: pulumi.Input[str], opts: Optional[pulumi.ResourceOptions] = None, arn: Optional[pulumi.Input[str]] = None, + deletion_protection_enabled: Optional[pulumi.Input[bool]] = None, global_table_arn: Optional[pulumi.Input[str]] = None, kms_key_arn: Optional[pulumi.Input[str]] = None, point_in_time_recovery: Optional[pulumi.Input[bool]] = None, @@ -411,11 +448,12 @@ def get(resource_name: str, :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] arn: ARN of the table replica. + :param pulumi.Input[bool] deletion_protection_enabled: Whether deletion protection is enabled (true) or disabled (false) on the table replica. :param pulumi.Input[str] global_table_arn: ARN of the _main_ or global table which this resource will replicate. Optional arguments: :param pulumi.Input[str] kms_key_arn: ARN of the CMK that should be used for the AWS KMS encryption. This argument should only be used if the key is different from the default KMS-managed DynamoDB key, `alias/aws/dynamodb`. **Note:** This attribute will _not_ be populated with the ARN of _default_ keys. - :param pulumi.Input[bool] point_in_time_recovery: Whether to enable Point In Time Recovery for the replica. Default is `false`. + :param pulumi.Input[bool] point_in_time_recovery: Whether to enable Point In Time Recovery for the table replica. Default is `false`. :param pulumi.Input[str] table_class_override: Storage class of the table replica. Valid values are `STANDARD` and `STANDARD_INFREQUENT_ACCESS`. If not used, the table replica will use the same class as the global table. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Map of tags to populate on the created table. 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. @@ -425,6 +463,7 @@ def get(resource_name: str, __props__ = _TableReplicaState.__new__(_TableReplicaState) __props__.__dict__["arn"] = arn + __props__.__dict__["deletion_protection_enabled"] = deletion_protection_enabled __props__.__dict__["global_table_arn"] = global_table_arn __props__.__dict__["kms_key_arn"] = kms_key_arn __props__.__dict__["point_in_time_recovery"] = point_in_time_recovery @@ -441,6 +480,14 @@ def arn(self) -> pulumi.Output[str]: """ return pulumi.get(self, "arn") + @property + @pulumi.getter(name="deletionProtectionEnabled") + def deletion_protection_enabled(self) -> pulumi.Output[bool]: + """ + Whether deletion protection is enabled (true) or disabled (false) on the table replica. + """ + return pulumi.get(self, "deletion_protection_enabled") + @property @pulumi.getter(name="globalTableArn") def global_table_arn(self) -> pulumi.Output[str]: @@ -463,7 +510,7 @@ def kms_key_arn(self) -> pulumi.Output[str]: @pulumi.getter(name="pointInTimeRecovery") def point_in_time_recovery(self) -> pulumi.Output[Optional[bool]]: """ - Whether to enable Point In Time Recovery for the replica. Default is `false`. + Whether to enable Point In Time Recovery for the table replica. Default is `false`. """ return pulumi.get(self, "point_in_time_recovery") diff --git a/sdk/python/pulumi_aws/rds/_inputs.py b/sdk/python/pulumi_aws/rds/_inputs.py index b37d8a3fbdb..d6eba97b45d 100644 --- a/sdk/python/pulumi_aws/rds/_inputs.py +++ b/sdk/python/pulumi_aws/rds/_inputs.py @@ -581,11 +581,11 @@ def timeout_action(self, value: Optional[pulumi.Input[str]]): class ClusterServerlessv2ScalingConfigurationArgsDict(TypedDict): max_capacity: pulumi.Input[float] """ - 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.5` up to `256` in steps of `0.5`. + 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`. """ min_capacity: pulumi.Input[float] """ - 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.5` up to `256` in steps of `0.5`. + 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`. """ elif False: ClusterServerlessv2ScalingConfigurationArgsDict: TypeAlias = Mapping[str, Any] @@ -596,8 +596,8 @@ def __init__(__self__, *, max_capacity: pulumi.Input[float], min_capacity: pulumi.Input[float]): """ - :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.5` 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.5` up to `256` in steps of `0.5`. + :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`. """ pulumi.set(__self__, "max_capacity", max_capacity) pulumi.set(__self__, "min_capacity", min_capacity) @@ -606,7 +606,7 @@ def __init__(__self__, *, @pulumi.getter(name="maxCapacity") def max_capacity(self) -> pulumi.Input[float]: """ - 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.5` up to `256` in steps of `0.5`. + 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`. """ return pulumi.get(self, "max_capacity") @@ -618,7 +618,7 @@ def max_capacity(self, value: pulumi.Input[float]): @pulumi.getter(name="minCapacity") def min_capacity(self) -> pulumi.Input[float]: """ - 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.5` up to `256` in steps of `0.5`. + 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`. """ return pulumi.get(self, "min_capacity") diff --git a/sdk/python/pulumi_aws/rds/cluster_instance.py b/sdk/python/pulumi_aws/rds/cluster_instance.py index 30b05de7193..abc1828a100 100644 --- a/sdk/python/pulumi_aws/rds/cluster_instance.py +++ b/sdk/python/pulumi_aws/rds/cluster_instance.py @@ -32,6 +32,7 @@ def __init__(__self__, *, db_parameter_group_name: Optional[pulumi.Input[str]] = None, db_subnet_group_name: Optional[pulumi.Input[str]] = None, engine_version: Optional[pulumi.Input[str]] = None, + force_destroy: Optional[pulumi.Input[bool]] = None, identifier: Optional[pulumi.Input[str]] = None, identifier_prefix: Optional[pulumi.Input[str]] = None, monitoring_interval: Optional[pulumi.Input[int]] = None, @@ -59,6 +60,7 @@ def __init__(__self__, *, :param pulumi.Input[str] db_parameter_group_name: Name of the DB parameter group to associate with this instance. :param pulumi.Input[str] db_subnet_group_name: Specifies the DB subnet group to associate with this DB instance. The default behavior varies depending on whether `db_subnet_group_name` is specified. Please refer to official [AWS documentation](https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-instance.html) to understand how `db_subnet_group_name` and `publicly_accessible` parameters affect DB instance behaviour. **NOTE:** This must match the `db_subnet_group_name` of the attached `rds.Cluster`. :param pulumi.Input[str] engine_version: Database engine version. Please note that to upgrade the `engine_version` of the instance, it must be done on the `rds.Cluster` `engine_version`. Trying to upgrade in `aws_cluster_instance` will not update the `engine_version`. + :param pulumi.Input[bool] force_destroy: Forces an instance to be destroyed when a part of a read replica cluster. **Note:** will promote the read replica to a standalone cluster before instance deletion. :param pulumi.Input[str] identifier: Identifier for the RDS instance, if omitted, Pulumi will assign a random, unique identifier. :param pulumi.Input[str] identifier_prefix: Creates a unique identifier beginning with the specified prefix. Conflicts with `identifier`. :param pulumi.Input[int] monitoring_interval: Interval, in seconds, between points when Enhanced Monitoring metrics are collected for the DB instance. To disable collecting Enhanced Monitoring metrics, specify 0. The default is 0. Valid Values: 0, 1, 5, 10, 15, 30, 60. @@ -93,6 +95,8 @@ def __init__(__self__, *, pulumi.set(__self__, "db_subnet_group_name", db_subnet_group_name) if engine_version is not None: pulumi.set(__self__, "engine_version", engine_version) + if force_destroy is not None: + pulumi.set(__self__, "force_destroy", force_destroy) if identifier is not None: pulumi.set(__self__, "identifier", identifier) if identifier_prefix is not None: @@ -263,6 +267,18 @@ def engine_version(self) -> Optional[pulumi.Input[str]]: def engine_version(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "engine_version", value) + @property + @pulumi.getter(name="forceDestroy") + def force_destroy(self) -> Optional[pulumi.Input[bool]]: + """ + Forces an instance to be destroyed when a part of a read replica cluster. **Note:** will promote the read replica to a standalone cluster before instance deletion. + """ + return pulumi.get(self, "force_destroy") + + @force_destroy.setter + def force_destroy(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "force_destroy", value) + @property @pulumi.getter def identifier(self) -> Optional[pulumi.Input[str]]: @@ -426,6 +442,7 @@ def __init__(__self__, *, engine: Optional[pulumi.Input[str]] = None, engine_version: Optional[pulumi.Input[str]] = None, engine_version_actual: Optional[pulumi.Input[str]] = None, + force_destroy: Optional[pulumi.Input[bool]] = None, identifier: Optional[pulumi.Input[str]] = None, identifier_prefix: Optional[pulumi.Input[str]] = None, instance_class: Optional[pulumi.Input[Union[str, 'InstanceType']]] = None, @@ -463,6 +480,7 @@ def __init__(__self__, *, Valid Values: `aurora-mysql`, `aurora-postgresql`, `mysql`, `postgres`.(Note that `mysql` and `postgres` are Multi-AZ RDS clusters). :param pulumi.Input[str] engine_version: Database engine version. Please note that to upgrade the `engine_version` of the instance, it must be done on the `rds.Cluster` `engine_version`. Trying to upgrade in `aws_cluster_instance` will not update the `engine_version`. :param pulumi.Input[str] engine_version_actual: Database engine version + :param pulumi.Input[bool] force_destroy: Forces an instance to be destroyed when a part of a read replica cluster. **Note:** will promote the read replica to a standalone cluster before instance deletion. :param pulumi.Input[str] identifier: Identifier for the RDS instance, if omitted, Pulumi will assign a random, unique identifier. :param pulumi.Input[str] identifier_prefix: Creates a unique identifier beginning with the specified prefix. Conflicts with `identifier`. :param pulumi.Input[Union[str, 'InstanceType']] instance_class: Instance class to use. For details on CPU and memory, see [Scaling Aurora DB Instances](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Aurora.Managing.html). Aurora uses `db.*` instance classes/types. Please see [AWS Documentation](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html) for currently available instance classes and complete details. For Aurora Serverless v2 use `db.serverless`. @@ -513,6 +531,8 @@ def __init__(__self__, *, pulumi.set(__self__, "engine_version", engine_version) if engine_version_actual is not None: pulumi.set(__self__, "engine_version_actual", engine_version_actual) + if force_destroy is not None: + pulumi.set(__self__, "force_destroy", force_destroy) if identifier is not None: pulumi.set(__self__, "identifier", identifier) if identifier_prefix is not None: @@ -736,6 +756,18 @@ def engine_version_actual(self) -> Optional[pulumi.Input[str]]: def engine_version_actual(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "engine_version_actual", value) + @property + @pulumi.getter(name="forceDestroy") + def force_destroy(self) -> Optional[pulumi.Input[bool]]: + """ + Forces an instance to be destroyed when a part of a read replica cluster. **Note:** will promote the read replica to a standalone cluster before instance deletion. + """ + return pulumi.get(self, "force_destroy") + + @force_destroy.setter + def force_destroy(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "force_destroy", value) + @property @pulumi.getter def identifier(self) -> Optional[pulumi.Input[str]]: @@ -982,6 +1014,7 @@ def __init__(__self__, db_subnet_group_name: Optional[pulumi.Input[str]] = None, engine: Optional[pulumi.Input[str]] = None, engine_version: Optional[pulumi.Input[str]] = None, + force_destroy: Optional[pulumi.Input[bool]] = None, identifier: Optional[pulumi.Input[str]] = None, identifier_prefix: Optional[pulumi.Input[str]] = None, instance_class: Optional[pulumi.Input[Union[str, 'InstanceType']]] = None, @@ -1062,6 +1095,7 @@ def __init__(__self__, :param pulumi.Input[str] engine: Name of the database engine to be used for the RDS cluster instance. Valid Values: `aurora-mysql`, `aurora-postgresql`, `mysql`, `postgres`.(Note that `mysql` and `postgres` are Multi-AZ RDS clusters). :param pulumi.Input[str] engine_version: Database engine version. Please note that to upgrade the `engine_version` of the instance, it must be done on the `rds.Cluster` `engine_version`. Trying to upgrade in `aws_cluster_instance` will not update the `engine_version`. + :param pulumi.Input[bool] force_destroy: Forces an instance to be destroyed when a part of a read replica cluster. **Note:** will promote the read replica to a standalone cluster before instance deletion. :param pulumi.Input[str] identifier: Identifier for the RDS instance, if omitted, Pulumi will assign a random, unique identifier. :param pulumi.Input[str] identifier_prefix: Creates a unique identifier beginning with the specified prefix. Conflicts with `identifier`. :param pulumi.Input[Union[str, 'InstanceType']] instance_class: Instance class to use. For details on CPU and memory, see [Scaling Aurora DB Instances](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Aurora.Managing.html). Aurora uses `db.*` instance classes/types. Please see [AWS Documentation](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html) for currently available instance classes and complete details. For Aurora Serverless v2 use `db.serverless`. @@ -1160,6 +1194,7 @@ def _internal_init(__self__, db_subnet_group_name: Optional[pulumi.Input[str]] = None, engine: Optional[pulumi.Input[str]] = None, engine_version: Optional[pulumi.Input[str]] = None, + force_destroy: Optional[pulumi.Input[bool]] = None, identifier: Optional[pulumi.Input[str]] = None, identifier_prefix: Optional[pulumi.Input[str]] = None, instance_class: Optional[pulumi.Input[Union[str, 'InstanceType']]] = None, @@ -1197,6 +1232,7 @@ def _internal_init(__self__, raise TypeError("Missing required property 'engine'") __props__.__dict__["engine"] = engine __props__.__dict__["engine_version"] = engine_version + __props__.__dict__["force_destroy"] = force_destroy __props__.__dict__["identifier"] = identifier __props__.__dict__["identifier_prefix"] = identifier_prefix if instance_class is None and not opts.urn: @@ -1247,6 +1283,7 @@ def get(resource_name: str, engine: Optional[pulumi.Input[str]] = None, engine_version: Optional[pulumi.Input[str]] = None, engine_version_actual: Optional[pulumi.Input[str]] = None, + force_destroy: Optional[pulumi.Input[bool]] = None, identifier: Optional[pulumi.Input[str]] = None, identifier_prefix: Optional[pulumi.Input[str]] = None, instance_class: Optional[pulumi.Input[Union[str, 'InstanceType']]] = None, @@ -1289,6 +1326,7 @@ def get(resource_name: str, Valid Values: `aurora-mysql`, `aurora-postgresql`, `mysql`, `postgres`.(Note that `mysql` and `postgres` are Multi-AZ RDS clusters). :param pulumi.Input[str] engine_version: Database engine version. Please note that to upgrade the `engine_version` of the instance, it must be done on the `rds.Cluster` `engine_version`. Trying to upgrade in `aws_cluster_instance` will not update the `engine_version`. :param pulumi.Input[str] engine_version_actual: Database engine version + :param pulumi.Input[bool] force_destroy: Forces an instance to be destroyed when a part of a read replica cluster. **Note:** will promote the read replica to a standalone cluster before instance deletion. :param pulumi.Input[str] identifier: Identifier for the RDS instance, if omitted, Pulumi will assign a random, unique identifier. :param pulumi.Input[str] identifier_prefix: Creates a unique identifier beginning with the specified prefix. Conflicts with `identifier`. :param pulumi.Input[Union[str, 'InstanceType']] instance_class: Instance class to use. For details on CPU and memory, see [Scaling Aurora DB Instances](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Aurora.Managing.html). Aurora uses `db.*` instance classes/types. Please see [AWS Documentation](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html) for currently available instance classes and complete details. For Aurora Serverless v2 use `db.serverless`. @@ -1328,6 +1366,7 @@ def get(resource_name: str, __props__.__dict__["engine"] = engine __props__.__dict__["engine_version"] = engine_version __props__.__dict__["engine_version_actual"] = engine_version_actual + __props__.__dict__["force_destroy"] = force_destroy __props__.__dict__["identifier"] = identifier __props__.__dict__["identifier_prefix"] = identifier_prefix __props__.__dict__["instance_class"] = instance_class @@ -1470,6 +1509,14 @@ def engine_version_actual(self) -> pulumi.Output[str]: """ return pulumi.get(self, "engine_version_actual") + @property + @pulumi.getter(name="forceDestroy") + def force_destroy(self) -> pulumi.Output[Optional[bool]]: + """ + Forces an instance to be destroyed when a part of a read replica cluster. **Note:** will promote the read replica to a standalone cluster before instance deletion. + """ + return pulumi.get(self, "force_destroy") + @property @pulumi.getter def identifier(self) -> pulumi.Output[str]: diff --git a/sdk/python/pulumi_aws/rds/outputs.py b/sdk/python/pulumi_aws/rds/outputs.py index 59dd2edf052..87e052f6441 100644 --- a/sdk/python/pulumi_aws/rds/outputs.py +++ b/sdk/python/pulumi_aws/rds/outputs.py @@ -489,8 +489,8 @@ def __init__(__self__, *, max_capacity: float, min_capacity: float): """ - :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.5` 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.5` up to `256` in steps of `0.5`. + :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`. """ pulumi.set(__self__, "max_capacity", max_capacity) pulumi.set(__self__, "min_capacity", min_capacity) @@ -499,7 +499,7 @@ def __init__(__self__, *, @pulumi.getter(name="maxCapacity") def max_capacity(self) -> float: """ - 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.5` up to `256` in steps of `0.5`. + 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`. """ return pulumi.get(self, "max_capacity") @@ -507,7 +507,7 @@ def max_capacity(self) -> float: @pulumi.getter(name="minCapacity") def min_capacity(self) -> float: """ - 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.5` up to `256` in steps of `0.5`. + 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`. """ return pulumi.get(self, "min_capacity") diff --git a/sdk/python/pulumi_aws/rds/parameter_group.py b/sdk/python/pulumi_aws/rds/parameter_group.py index 5483cde51ae..843e84f09a7 100644 --- a/sdk/python/pulumi_aws/rds/parameter_group.py +++ b/sdk/python/pulumi_aws/rds/parameter_group.py @@ -303,44 +303,6 @@ def __init__(__self__, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, __props__=None): """ - Provides an RDS DB parameter group resource. Documentation of the available parameters for various RDS engines can be found at: - - * [Aurora MySQL Parameters](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AuroraMySQL.Reference.html) - * [Aurora PostgreSQL Parameters](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AuroraPostgreSQL.Reference.html) - * [MariaDB Parameters](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.MariaDB.Parameters.html) - * [Oracle Parameters](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ModifyInstance.Oracle.html#USER_ModifyInstance.Oracle.sqlnet) - * [PostgreSQL Parameters](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.PostgreSQL.CommonDBATasks.html#Appendix.PostgreSQL.CommonDBATasks.Parameters) - - > **Hands-on:** For an example of the `rds.ParameterGroup` in use, follow the Manage AWS RDS Instances tutorial on HashiCorp Learn. - - > **NOTE**: to make diffs less confusing, the AWS provider will ignore changes for a `parameter` whose `value` remains - unchanged but whose `apply_method` is changing (e.g., from `immediate` to `pending-reboot`, or `pending-reboot` to - `immediate`). This matches the cloud: if only the apply method of a parameter is changing, the AWS API will not register - this change. To change the `apply_method` of a parameter, its value must also change. - - ## Example Usage - - ### Basic Usage - - ```python - import pulumi - import pulumi_aws as aws - - default = aws.rds.ParameterGroup("default", - name="rds-pg", - family="mysql5.6", - parameters=[ - { - "name": "character_set_server", - "value": "utf8", - }, - { - "name": "character_set_client", - "value": "utf8", - }, - ]) - ``` - ## Import Using `pulumi import`, import DB Parameter groups using the `name`. For example: @@ -365,44 +327,6 @@ def __init__(__self__, args: ParameterGroupArgs, opts: Optional[pulumi.ResourceOptions] = None): """ - Provides an RDS DB parameter group resource. Documentation of the available parameters for various RDS engines can be found at: - - * [Aurora MySQL Parameters](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AuroraMySQL.Reference.html) - * [Aurora PostgreSQL Parameters](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AuroraPostgreSQL.Reference.html) - * [MariaDB Parameters](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.MariaDB.Parameters.html) - * [Oracle Parameters](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ModifyInstance.Oracle.html#USER_ModifyInstance.Oracle.sqlnet) - * [PostgreSQL Parameters](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.PostgreSQL.CommonDBATasks.html#Appendix.PostgreSQL.CommonDBATasks.Parameters) - - > **Hands-on:** For an example of the `rds.ParameterGroup` in use, follow the Manage AWS RDS Instances tutorial on HashiCorp Learn. - - > **NOTE**: to make diffs less confusing, the AWS provider will ignore changes for a `parameter` whose `value` remains - unchanged but whose `apply_method` is changing (e.g., from `immediate` to `pending-reboot`, or `pending-reboot` to - `immediate`). This matches the cloud: if only the apply method of a parameter is changing, the AWS API will not register - this change. To change the `apply_method` of a parameter, its value must also change. - - ## Example Usage - - ### Basic Usage - - ```python - import pulumi - import pulumi_aws as aws - - default = aws.rds.ParameterGroup("default", - name="rds-pg", - family="mysql5.6", - parameters=[ - { - "name": "character_set_server", - "value": "utf8", - }, - { - "name": "character_set_client", - "value": "utf8", - }, - ]) - ``` - ## Import Using `pulumi import`, import DB Parameter groups using the `name`. For example: diff --git a/sdk/python/pulumi_aws/s3/_inputs.py b/sdk/python/pulumi_aws/s3/_inputs.py index a6f3de5f94b..26a83936c86 100644 --- a/sdk/python/pulumi_aws/s3/_inputs.py +++ b/sdk/python/pulumi_aws/s3/_inputs.py @@ -7679,11 +7679,11 @@ def replace_key_with(self, value: Optional[pulumi.Input[str]]): class DirectoryBucketLocationArgsDict(TypedDict): name: pulumi.Input[str] """ - [Availability Zone ID](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html#az-ids). + [Availability Zone ID](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html#az-ids) or Local Zone ID. """ type: NotRequired[pulumi.Input[str]] """ - Location type. Valid values: `AvailabilityZone`. + Location type. Valid values: `AvailabilityZone`, `LocalZone`. """ elif False: DirectoryBucketLocationArgsDict: TypeAlias = Mapping[str, Any] @@ -7694,8 +7694,8 @@ def __init__(__self__, *, name: pulumi.Input[str], type: Optional[pulumi.Input[str]] = None): """ - :param pulumi.Input[str] name: [Availability Zone ID](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html#az-ids). - :param pulumi.Input[str] type: Location type. Valid values: `AvailabilityZone`. + :param pulumi.Input[str] name: [Availability Zone ID](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html#az-ids) or Local Zone ID. + :param pulumi.Input[str] type: Location type. Valid values: `AvailabilityZone`, `LocalZone`. """ pulumi.set(__self__, "name", name) if type is not None: @@ -7705,7 +7705,7 @@ def __init__(__self__, *, @pulumi.getter def name(self) -> pulumi.Input[str]: """ - [Availability Zone ID](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html#az-ids). + [Availability Zone ID](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html#az-ids) or Local Zone ID. """ return pulumi.get(self, "name") @@ -7717,7 +7717,7 @@ def name(self, value: pulumi.Input[str]): @pulumi.getter def type(self) -> Optional[pulumi.Input[str]]: """ - Location type. Valid values: `AvailabilityZone`. + Location type. Valid values: `AvailabilityZone`, `LocalZone`. """ return pulumi.get(self, "type") diff --git a/sdk/python/pulumi_aws/s3/outputs.py b/sdk/python/pulumi_aws/s3/outputs.py index 45a13014878..a05975ab1ad 100644 --- a/sdk/python/pulumi_aws/s3/outputs.py +++ b/sdk/python/pulumi_aws/s3/outputs.py @@ -5866,8 +5866,8 @@ def __init__(__self__, *, name: str, type: Optional[str] = None): """ - :param str name: [Availability Zone ID](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html#az-ids). - :param str type: Location type. Valid values: `AvailabilityZone`. + :param str name: [Availability Zone ID](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html#az-ids) or Local Zone ID. + :param str type: Location type. Valid values: `AvailabilityZone`, `LocalZone`. """ pulumi.set(__self__, "name", name) if type is not None: @@ -5877,7 +5877,7 @@ def __init__(__self__, *, @pulumi.getter def name(self) -> str: """ - [Availability Zone ID](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html#az-ids). + [Availability Zone ID](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html#az-ids) or Local Zone ID. """ return pulumi.get(self, "name") @@ -5885,7 +5885,7 @@ def name(self) -> str: @pulumi.getter def type(self) -> Optional[str]: """ - Location type. Valid values: `AvailabilityZone`. + Location type. Valid values: `AvailabilityZone`, `LocalZone`. """ return pulumi.get(self, "type") diff --git a/sdk/python/pulumi_aws/s3tables/__init__.py b/sdk/python/pulumi_aws/s3tables/__init__.py new file mode 100644 index 00000000000..8cea3d5f696 --- /dev/null +++ b/sdk/python/pulumi_aws/s3tables/__init__.py @@ -0,0 +1,14 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +from .. import _utilities +import typing +# Export this package's modules as members: +from .namespace import * +from .table import * +from .table_bucket import * +from .table_bucket_policy import * +from .table_policy import * +from ._inputs import * +from . import outputs diff --git a/sdk/python/pulumi_aws/s3tables/_inputs.py b/sdk/python/pulumi_aws/s3tables/_inputs.py new file mode 100644 index 00000000000..5d037952f3b --- /dev/null +++ b/sdk/python/pulumi_aws/s3tables/_inputs.py @@ -0,0 +1,441 @@ +# 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__ = [ + 'TableBucketMaintenanceConfigurationArgs', + 'TableBucketMaintenanceConfigurationArgsDict', + 'TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalArgs', + 'TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalArgsDict', + 'TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettingsArgs', + 'TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettingsArgsDict', + 'TableMaintenanceConfigurationArgs', + 'TableMaintenanceConfigurationArgsDict', + 'TableMaintenanceConfigurationIcebergCompactionArgs', + 'TableMaintenanceConfigurationIcebergCompactionArgsDict', + 'TableMaintenanceConfigurationIcebergCompactionSettingsArgs', + 'TableMaintenanceConfigurationIcebergCompactionSettingsArgsDict', + 'TableMaintenanceConfigurationIcebergSnapshotManagementArgs', + 'TableMaintenanceConfigurationIcebergSnapshotManagementArgsDict', + 'TableMaintenanceConfigurationIcebergSnapshotManagementSettingsArgs', + 'TableMaintenanceConfigurationIcebergSnapshotManagementSettingsArgsDict', +] + +MYPY = False + +if not MYPY: + class TableBucketMaintenanceConfigurationArgsDict(TypedDict): + iceberg_unreferenced_file_removal: pulumi.Input['TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalArgsDict'] + """ + A single Iceberg unreferenced file removal settings block. + See `iceberg_unreferenced_file_removal` below + """ +elif False: + TableBucketMaintenanceConfigurationArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class TableBucketMaintenanceConfigurationArgs: + def __init__(__self__, *, + iceberg_unreferenced_file_removal: pulumi.Input['TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalArgs']): + """ + :param pulumi.Input['TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalArgs'] iceberg_unreferenced_file_removal: A single Iceberg unreferenced file removal settings block. + See `iceberg_unreferenced_file_removal` below + """ + pulumi.set(__self__, "iceberg_unreferenced_file_removal", iceberg_unreferenced_file_removal) + + @property + @pulumi.getter(name="icebergUnreferencedFileRemoval") + def iceberg_unreferenced_file_removal(self) -> pulumi.Input['TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalArgs']: + """ + A single Iceberg unreferenced file removal settings block. + See `iceberg_unreferenced_file_removal` below + """ + return pulumi.get(self, "iceberg_unreferenced_file_removal") + + @iceberg_unreferenced_file_removal.setter + def iceberg_unreferenced_file_removal(self, value: pulumi.Input['TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalArgs']): + pulumi.set(self, "iceberg_unreferenced_file_removal", value) + + +if not MYPY: + class TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalArgsDict(TypedDict): + settings: pulumi.Input['TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettingsArgsDict'] + """ + Settings for unreferenced file removal. + See `iceberg_unreferenced_file_removal.settings` below + """ + status: pulumi.Input[str] + """ + Whether the configuration is enabled. + Valid values are `enabled` and `disabled`. + """ +elif False: + TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalArgs: + def __init__(__self__, *, + settings: pulumi.Input['TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettingsArgs'], + status: pulumi.Input[str]): + """ + :param pulumi.Input['TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettingsArgs'] settings: Settings for unreferenced file removal. + See `iceberg_unreferenced_file_removal.settings` below + :param pulumi.Input[str] status: Whether the configuration is enabled. + Valid values are `enabled` and `disabled`. + """ + pulumi.set(__self__, "settings", settings) + pulumi.set(__self__, "status", status) + + @property + @pulumi.getter + def settings(self) -> pulumi.Input['TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettingsArgs']: + """ + Settings for unreferenced file removal. + See `iceberg_unreferenced_file_removal.settings` below + """ + return pulumi.get(self, "settings") + + @settings.setter + def settings(self, value: pulumi.Input['TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettingsArgs']): + pulumi.set(self, "settings", value) + + @property + @pulumi.getter + def status(self) -> pulumi.Input[str]: + """ + Whether the configuration is enabled. + Valid values are `enabled` and `disabled`. + """ + return pulumi.get(self, "status") + + @status.setter + def status(self, value: pulumi.Input[str]): + pulumi.set(self, "status", value) + + +if not MYPY: + class TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettingsArgsDict(TypedDict): + non_current_days: pulumi.Input[float] + """ + Data objects marked for deletion are deleted after this many days. + Must be at least `1`. + """ + unreferenced_days: pulumi.Input[float] + """ + Unreferenced data objects are marked for deletion after this many days. + Must be at least `1`. + """ +elif False: + TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettingsArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettingsArgs: + def __init__(__self__, *, + non_current_days: pulumi.Input[float], + unreferenced_days: pulumi.Input[float]): + """ + :param pulumi.Input[float] non_current_days: Data objects marked for deletion are deleted after this many days. + Must be at least `1`. + :param pulumi.Input[float] unreferenced_days: Unreferenced data objects are marked for deletion after this many days. + Must be at least `1`. + """ + pulumi.set(__self__, "non_current_days", non_current_days) + pulumi.set(__self__, "unreferenced_days", unreferenced_days) + + @property + @pulumi.getter(name="nonCurrentDays") + def non_current_days(self) -> pulumi.Input[float]: + """ + Data objects marked for deletion are deleted after this many days. + Must be at least `1`. + """ + return pulumi.get(self, "non_current_days") + + @non_current_days.setter + def non_current_days(self, value: pulumi.Input[float]): + pulumi.set(self, "non_current_days", value) + + @property + @pulumi.getter(name="unreferencedDays") + def unreferenced_days(self) -> pulumi.Input[float]: + """ + Unreferenced data objects are marked for deletion after this many days. + Must be at least `1`. + """ + return pulumi.get(self, "unreferenced_days") + + @unreferenced_days.setter + def unreferenced_days(self, value: pulumi.Input[float]): + pulumi.set(self, "unreferenced_days", value) + + +if not MYPY: + class TableMaintenanceConfigurationArgsDict(TypedDict): + iceberg_compaction: pulumi.Input['TableMaintenanceConfigurationIcebergCompactionArgsDict'] + """ + A single Iceberg compaction settings block. + See `iceberg_compaction` below + """ + iceberg_snapshot_management: pulumi.Input['TableMaintenanceConfigurationIcebergSnapshotManagementArgsDict'] + """ + A single Iceberg snapshot management settings block. + See `iceberg_snapshot_management` below + """ +elif False: + TableMaintenanceConfigurationArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class TableMaintenanceConfigurationArgs: + def __init__(__self__, *, + iceberg_compaction: pulumi.Input['TableMaintenanceConfigurationIcebergCompactionArgs'], + iceberg_snapshot_management: pulumi.Input['TableMaintenanceConfigurationIcebergSnapshotManagementArgs']): + """ + :param pulumi.Input['TableMaintenanceConfigurationIcebergCompactionArgs'] iceberg_compaction: A single Iceberg compaction settings block. + See `iceberg_compaction` below + :param pulumi.Input['TableMaintenanceConfigurationIcebergSnapshotManagementArgs'] iceberg_snapshot_management: A single Iceberg snapshot management settings block. + See `iceberg_snapshot_management` below + """ + pulumi.set(__self__, "iceberg_compaction", iceberg_compaction) + pulumi.set(__self__, "iceberg_snapshot_management", iceberg_snapshot_management) + + @property + @pulumi.getter(name="icebergCompaction") + def iceberg_compaction(self) -> pulumi.Input['TableMaintenanceConfigurationIcebergCompactionArgs']: + """ + A single Iceberg compaction settings block. + See `iceberg_compaction` below + """ + return pulumi.get(self, "iceberg_compaction") + + @iceberg_compaction.setter + def iceberg_compaction(self, value: pulumi.Input['TableMaintenanceConfigurationIcebergCompactionArgs']): + pulumi.set(self, "iceberg_compaction", value) + + @property + @pulumi.getter(name="icebergSnapshotManagement") + def iceberg_snapshot_management(self) -> pulumi.Input['TableMaintenanceConfigurationIcebergSnapshotManagementArgs']: + """ + A single Iceberg snapshot management settings block. + See `iceberg_snapshot_management` below + """ + return pulumi.get(self, "iceberg_snapshot_management") + + @iceberg_snapshot_management.setter + def iceberg_snapshot_management(self, value: pulumi.Input['TableMaintenanceConfigurationIcebergSnapshotManagementArgs']): + pulumi.set(self, "iceberg_snapshot_management", value) + + +if not MYPY: + class TableMaintenanceConfigurationIcebergCompactionArgsDict(TypedDict): + settings: pulumi.Input['TableMaintenanceConfigurationIcebergCompactionSettingsArgsDict'] + """ + Settings for compaction. + See `iceberg_compaction.settings` below + """ + status: pulumi.Input[str] + """ + Whether the configuration is enabled. + Valid values are `enabled` and `disabled`. + """ +elif False: + TableMaintenanceConfigurationIcebergCompactionArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class TableMaintenanceConfigurationIcebergCompactionArgs: + def __init__(__self__, *, + settings: pulumi.Input['TableMaintenanceConfigurationIcebergCompactionSettingsArgs'], + status: pulumi.Input[str]): + """ + :param pulumi.Input['TableMaintenanceConfigurationIcebergCompactionSettingsArgs'] settings: Settings for compaction. + See `iceberg_compaction.settings` below + :param pulumi.Input[str] status: Whether the configuration is enabled. + Valid values are `enabled` and `disabled`. + """ + pulumi.set(__self__, "settings", settings) + pulumi.set(__self__, "status", status) + + @property + @pulumi.getter + def settings(self) -> pulumi.Input['TableMaintenanceConfigurationIcebergCompactionSettingsArgs']: + """ + Settings for compaction. + See `iceberg_compaction.settings` below + """ + return pulumi.get(self, "settings") + + @settings.setter + def settings(self, value: pulumi.Input['TableMaintenanceConfigurationIcebergCompactionSettingsArgs']): + pulumi.set(self, "settings", value) + + @property + @pulumi.getter + def status(self) -> pulumi.Input[str]: + """ + Whether the configuration is enabled. + Valid values are `enabled` and `disabled`. + """ + return pulumi.get(self, "status") + + @status.setter + def status(self, value: pulumi.Input[str]): + pulumi.set(self, "status", value) + + +if not MYPY: + class TableMaintenanceConfigurationIcebergCompactionSettingsArgsDict(TypedDict): + target_file_size_mb: pulumi.Input[float] + """ + Data objects smaller than this size may be combined with others to improve query performance. + Must be between `64` and `512`. + """ +elif False: + TableMaintenanceConfigurationIcebergCompactionSettingsArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class TableMaintenanceConfigurationIcebergCompactionSettingsArgs: + def __init__(__self__, *, + target_file_size_mb: pulumi.Input[float]): + """ + :param pulumi.Input[float] target_file_size_mb: Data objects smaller than this size may be combined with others to improve query performance. + Must be between `64` and `512`. + """ + pulumi.set(__self__, "target_file_size_mb", target_file_size_mb) + + @property + @pulumi.getter(name="targetFileSizeMb") + def target_file_size_mb(self) -> pulumi.Input[float]: + """ + Data objects smaller than this size may be combined with others to improve query performance. + Must be between `64` and `512`. + """ + return pulumi.get(self, "target_file_size_mb") + + @target_file_size_mb.setter + def target_file_size_mb(self, value: pulumi.Input[float]): + pulumi.set(self, "target_file_size_mb", value) + + +if not MYPY: + class TableMaintenanceConfigurationIcebergSnapshotManagementArgsDict(TypedDict): + settings: pulumi.Input['TableMaintenanceConfigurationIcebergSnapshotManagementSettingsArgsDict'] + """ + Settings for snapshot management. + See `iceberg_snapshot_management.settings` below + """ + status: pulumi.Input[str] + """ + Whether the configuration is enabled. + Valid values are `enabled` and `disabled`. + """ +elif False: + TableMaintenanceConfigurationIcebergSnapshotManagementArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class TableMaintenanceConfigurationIcebergSnapshotManagementArgs: + def __init__(__self__, *, + settings: pulumi.Input['TableMaintenanceConfigurationIcebergSnapshotManagementSettingsArgs'], + status: pulumi.Input[str]): + """ + :param pulumi.Input['TableMaintenanceConfigurationIcebergSnapshotManagementSettingsArgs'] settings: Settings for snapshot management. + See `iceberg_snapshot_management.settings` below + :param pulumi.Input[str] status: Whether the configuration is enabled. + Valid values are `enabled` and `disabled`. + """ + pulumi.set(__self__, "settings", settings) + pulumi.set(__self__, "status", status) + + @property + @pulumi.getter + def settings(self) -> pulumi.Input['TableMaintenanceConfigurationIcebergSnapshotManagementSettingsArgs']: + """ + Settings for snapshot management. + See `iceberg_snapshot_management.settings` below + """ + return pulumi.get(self, "settings") + + @settings.setter + def settings(self, value: pulumi.Input['TableMaintenanceConfigurationIcebergSnapshotManagementSettingsArgs']): + pulumi.set(self, "settings", value) + + @property + @pulumi.getter + def status(self) -> pulumi.Input[str]: + """ + Whether the configuration is enabled. + Valid values are `enabled` and `disabled`. + """ + return pulumi.get(self, "status") + + @status.setter + def status(self, value: pulumi.Input[str]): + pulumi.set(self, "status", value) + + +if not MYPY: + class TableMaintenanceConfigurationIcebergSnapshotManagementSettingsArgsDict(TypedDict): + max_snapshot_age_hours: pulumi.Input[float] + """ + Snapshots older than this will be marked for deletiion. + Must be at least `1`. + """ + min_snapshots_to_keep: pulumi.Input[float] + """ + Minimum number of snapshots to keep. + Must be at least `1`. + """ +elif False: + TableMaintenanceConfigurationIcebergSnapshotManagementSettingsArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class TableMaintenanceConfigurationIcebergSnapshotManagementSettingsArgs: + def __init__(__self__, *, + max_snapshot_age_hours: pulumi.Input[float], + min_snapshots_to_keep: pulumi.Input[float]): + """ + :param pulumi.Input[float] max_snapshot_age_hours: Snapshots older than this will be marked for deletiion. + Must be at least `1`. + :param pulumi.Input[float] min_snapshots_to_keep: Minimum number of snapshots to keep. + Must be at least `1`. + """ + pulumi.set(__self__, "max_snapshot_age_hours", max_snapshot_age_hours) + pulumi.set(__self__, "min_snapshots_to_keep", min_snapshots_to_keep) + + @property + @pulumi.getter(name="maxSnapshotAgeHours") + def max_snapshot_age_hours(self) -> pulumi.Input[float]: + """ + Snapshots older than this will be marked for deletiion. + Must be at least `1`. + """ + return pulumi.get(self, "max_snapshot_age_hours") + + @max_snapshot_age_hours.setter + def max_snapshot_age_hours(self, value: pulumi.Input[float]): + pulumi.set(self, "max_snapshot_age_hours", value) + + @property + @pulumi.getter(name="minSnapshotsToKeep") + def min_snapshots_to_keep(self) -> pulumi.Input[float]: + """ + Minimum number of snapshots to keep. + Must be at least `1`. + """ + return pulumi.get(self, "min_snapshots_to_keep") + + @min_snapshots_to_keep.setter + def min_snapshots_to_keep(self, value: pulumi.Input[float]): + pulumi.set(self, "min_snapshots_to_keep", value) + + diff --git a/sdk/python/pulumi_aws/s3tables/namespace.py b/sdk/python/pulumi_aws/s3tables/namespace.py new file mode 100644 index 00000000000..4c7806bad34 --- /dev/null +++ b/sdk/python/pulumi_aws/s3tables/namespace.py @@ -0,0 +1,341 @@ +# 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__ = ['NamespaceArgs', 'Namespace'] + +@pulumi.input_type +class NamespaceArgs: + def __init__(__self__, *, + namespace: pulumi.Input[str], + table_bucket_arn: pulumi.Input[str]): + """ + The set of arguments for constructing a Namespace resource. + :param pulumi.Input[str] namespace: Name of the namespace. + Must be between 1 and 255 characters in length. + Can consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number. + :param pulumi.Input[str] table_bucket_arn: ARN referencing the Table Bucket that contains this Namespace. + """ + pulumi.set(__self__, "namespace", namespace) + pulumi.set(__self__, "table_bucket_arn", table_bucket_arn) + + @property + @pulumi.getter + def namespace(self) -> pulumi.Input[str]: + """ + Name of the namespace. + Must be between 1 and 255 characters in length. + Can consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number. + """ + return pulumi.get(self, "namespace") + + @namespace.setter + def namespace(self, value: pulumi.Input[str]): + pulumi.set(self, "namespace", value) + + @property + @pulumi.getter(name="tableBucketArn") + def table_bucket_arn(self) -> pulumi.Input[str]: + """ + ARN referencing the Table Bucket that contains this Namespace. + """ + return pulumi.get(self, "table_bucket_arn") + + @table_bucket_arn.setter + def table_bucket_arn(self, value: pulumi.Input[str]): + pulumi.set(self, "table_bucket_arn", value) + + +@pulumi.input_type +class _NamespaceState: + def __init__(__self__, *, + created_at: Optional[pulumi.Input[str]] = None, + created_by: Optional[pulumi.Input[str]] = None, + namespace: Optional[pulumi.Input[str]] = None, + owner_account_id: Optional[pulumi.Input[str]] = None, + table_bucket_arn: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering Namespace resources. + :param pulumi.Input[str] created_at: Date and time when the namespace was created. + :param pulumi.Input[str] created_by: Account ID of the account that created the namespace. + :param pulumi.Input[str] namespace: Name of the namespace. + Must be between 1 and 255 characters in length. + Can consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number. + :param pulumi.Input[str] owner_account_id: Account ID of the account that owns the namespace. + :param pulumi.Input[str] table_bucket_arn: ARN referencing the Table Bucket that contains this Namespace. + """ + if created_at is not None: + pulumi.set(__self__, "created_at", created_at) + if created_by is not None: + pulumi.set(__self__, "created_by", created_by) + if namespace is not None: + pulumi.set(__self__, "namespace", namespace) + if owner_account_id is not None: + pulumi.set(__self__, "owner_account_id", owner_account_id) + if table_bucket_arn is not None: + pulumi.set(__self__, "table_bucket_arn", table_bucket_arn) + + @property + @pulumi.getter(name="createdAt") + def created_at(self) -> Optional[pulumi.Input[str]]: + """ + Date and time when the namespace was created. + """ + return pulumi.get(self, "created_at") + + @created_at.setter + def created_at(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "created_at", value) + + @property + @pulumi.getter(name="createdBy") + def created_by(self) -> Optional[pulumi.Input[str]]: + """ + Account ID of the account that created the namespace. + """ + return pulumi.get(self, "created_by") + + @created_by.setter + def created_by(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "created_by", value) + + @property + @pulumi.getter + def namespace(self) -> Optional[pulumi.Input[str]]: + """ + Name of the namespace. + Must be between 1 and 255 characters in length. + Can consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number. + """ + return pulumi.get(self, "namespace") + + @namespace.setter + def namespace(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "namespace", value) + + @property + @pulumi.getter(name="ownerAccountId") + def owner_account_id(self) -> Optional[pulumi.Input[str]]: + """ + Account ID of the account that owns the namespace. + """ + return pulumi.get(self, "owner_account_id") + + @owner_account_id.setter + def owner_account_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "owner_account_id", value) + + @property + @pulumi.getter(name="tableBucketArn") + def table_bucket_arn(self) -> Optional[pulumi.Input[str]]: + """ + ARN referencing the Table Bucket that contains this Namespace. + """ + return pulumi.get(self, "table_bucket_arn") + + @table_bucket_arn.setter + def table_bucket_arn(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "table_bucket_arn", value) + + +class Namespace(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + namespace: Optional[pulumi.Input[str]] = None, + table_bucket_arn: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Resource for managing an Amazon S3 Tables Namespace. + + ## Example Usage + + ### Basic Usage + + ```python + import pulumi + import pulumi_aws as aws + + example_table_bucket = aws.s3tables.TableBucket("example", name="example-bucket") + example = aws.s3tables.Namespace("example", + namespace="example-namespace", + table_bucket_arn=example_table_bucket.arn) + ``` + + ## Import + + Using `pulumi import`, import S3 Tables Namespace using the `table_bucket_arn` and the value of `namespace`, separated by a semicolon (`;`). For example: + + ```sh + $ pulumi import aws:s3tables/namespace:Namespace example 'arn:aws:s3tables:us-west-2:123456789012:bucket/example-bucket;example-namespace' + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] namespace: Name of the namespace. + Must be between 1 and 255 characters in length. + Can consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number. + :param pulumi.Input[str] table_bucket_arn: ARN referencing the Table Bucket that contains this Namespace. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: NamespaceArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Resource for managing an Amazon S3 Tables Namespace. + + ## Example Usage + + ### Basic Usage + + ```python + import pulumi + import pulumi_aws as aws + + example_table_bucket = aws.s3tables.TableBucket("example", name="example-bucket") + example = aws.s3tables.Namespace("example", + namespace="example-namespace", + table_bucket_arn=example_table_bucket.arn) + ``` + + ## Import + + Using `pulumi import`, import S3 Tables Namespace using the `table_bucket_arn` and the value of `namespace`, separated by a semicolon (`;`). For example: + + ```sh + $ pulumi import aws:s3tables/namespace:Namespace example 'arn:aws:s3tables:us-west-2:123456789012:bucket/example-bucket;example-namespace' + ``` + + :param str resource_name: The name of the resource. + :param NamespaceArgs 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(NamespaceArgs, 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, + namespace: Optional[pulumi.Input[str]] = None, + table_bucket_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__ = NamespaceArgs.__new__(NamespaceArgs) + + if namespace is None and not opts.urn: + raise TypeError("Missing required property 'namespace'") + __props__.__dict__["namespace"] = namespace + if table_bucket_arn is None and not opts.urn: + raise TypeError("Missing required property 'table_bucket_arn'") + __props__.__dict__["table_bucket_arn"] = table_bucket_arn + __props__.__dict__["created_at"] = None + __props__.__dict__["created_by"] = None + __props__.__dict__["owner_account_id"] = None + super(Namespace, __self__).__init__( + 'aws:s3tables/namespace:Namespace', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + created_at: Optional[pulumi.Input[str]] = None, + created_by: Optional[pulumi.Input[str]] = None, + namespace: Optional[pulumi.Input[str]] = None, + owner_account_id: Optional[pulumi.Input[str]] = None, + table_bucket_arn: Optional[pulumi.Input[str]] = None) -> 'Namespace': + """ + Get an existing Namespace 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] created_at: Date and time when the namespace was created. + :param pulumi.Input[str] created_by: Account ID of the account that created the namespace. + :param pulumi.Input[str] namespace: Name of the namespace. + Must be between 1 and 255 characters in length. + Can consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number. + :param pulumi.Input[str] owner_account_id: Account ID of the account that owns the namespace. + :param pulumi.Input[str] table_bucket_arn: ARN referencing the Table Bucket that contains this Namespace. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _NamespaceState.__new__(_NamespaceState) + + __props__.__dict__["created_at"] = created_at + __props__.__dict__["created_by"] = created_by + __props__.__dict__["namespace"] = namespace + __props__.__dict__["owner_account_id"] = owner_account_id + __props__.__dict__["table_bucket_arn"] = table_bucket_arn + return Namespace(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="createdAt") + def created_at(self) -> pulumi.Output[str]: + """ + Date and time when the namespace was created. + """ + return pulumi.get(self, "created_at") + + @property + @pulumi.getter(name="createdBy") + def created_by(self) -> pulumi.Output[str]: + """ + Account ID of the account that created the namespace. + """ + return pulumi.get(self, "created_by") + + @property + @pulumi.getter + def namespace(self) -> pulumi.Output[str]: + """ + Name of the namespace. + Must be between 1 and 255 characters in length. + Can consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number. + """ + return pulumi.get(self, "namespace") + + @property + @pulumi.getter(name="ownerAccountId") + def owner_account_id(self) -> pulumi.Output[str]: + """ + Account ID of the account that owns the namespace. + """ + return pulumi.get(self, "owner_account_id") + + @property + @pulumi.getter(name="tableBucketArn") + def table_bucket_arn(self) -> pulumi.Output[str]: + """ + ARN referencing the Table Bucket that contains this Namespace. + """ + return pulumi.get(self, "table_bucket_arn") + diff --git a/sdk/python/pulumi_aws/s3tables/outputs.py b/sdk/python/pulumi_aws/s3tables/outputs.py new file mode 100644 index 00000000000..e24b37b69e0 --- /dev/null +++ b/sdk/python/pulumi_aws/s3tables/outputs.py @@ -0,0 +1,357 @@ +# 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 + +__all__ = [ + 'TableBucketMaintenanceConfiguration', + 'TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemoval', + 'TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettings', + 'TableMaintenanceConfiguration', + 'TableMaintenanceConfigurationIcebergCompaction', + 'TableMaintenanceConfigurationIcebergCompactionSettings', + 'TableMaintenanceConfigurationIcebergSnapshotManagement', + 'TableMaintenanceConfigurationIcebergSnapshotManagementSettings', +] + +@pulumi.output_type +class TableBucketMaintenanceConfiguration(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "icebergUnreferencedFileRemoval": + suggest = "iceberg_unreferenced_file_removal" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in TableBucketMaintenanceConfiguration. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + TableBucketMaintenanceConfiguration.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + TableBucketMaintenanceConfiguration.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + iceberg_unreferenced_file_removal: 'outputs.TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemoval'): + """ + :param 'TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalArgs' iceberg_unreferenced_file_removal: A single Iceberg unreferenced file removal settings block. + See `iceberg_unreferenced_file_removal` below + """ + pulumi.set(__self__, "iceberg_unreferenced_file_removal", iceberg_unreferenced_file_removal) + + @property + @pulumi.getter(name="icebergUnreferencedFileRemoval") + def iceberg_unreferenced_file_removal(self) -> 'outputs.TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemoval': + """ + A single Iceberg unreferenced file removal settings block. + See `iceberg_unreferenced_file_removal` below + """ + return pulumi.get(self, "iceberg_unreferenced_file_removal") + + +@pulumi.output_type +class TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemoval(dict): + def __init__(__self__, *, + settings: 'outputs.TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettings', + status: str): + """ + :param 'TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettingsArgs' settings: Settings for unreferenced file removal. + See `iceberg_unreferenced_file_removal.settings` below + :param str status: Whether the configuration is enabled. + Valid values are `enabled` and `disabled`. + """ + pulumi.set(__self__, "settings", settings) + pulumi.set(__self__, "status", status) + + @property + @pulumi.getter + def settings(self) -> 'outputs.TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettings': + """ + Settings for unreferenced file removal. + See `iceberg_unreferenced_file_removal.settings` below + """ + return pulumi.get(self, "settings") + + @property + @pulumi.getter + def status(self) -> str: + """ + Whether the configuration is enabled. + Valid values are `enabled` and `disabled`. + """ + return pulumi.get(self, "status") + + +@pulumi.output_type +class TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettings(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "nonCurrentDays": + suggest = "non_current_days" + elif key == "unreferencedDays": + suggest = "unreferenced_days" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettings. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettings.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + TableBucketMaintenanceConfigurationIcebergUnreferencedFileRemovalSettings.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + non_current_days: float, + unreferenced_days: float): + """ + :param float non_current_days: Data objects marked for deletion are deleted after this many days. + Must be at least `1`. + :param float unreferenced_days: Unreferenced data objects are marked for deletion after this many days. + Must be at least `1`. + """ + pulumi.set(__self__, "non_current_days", non_current_days) + pulumi.set(__self__, "unreferenced_days", unreferenced_days) + + @property + @pulumi.getter(name="nonCurrentDays") + def non_current_days(self) -> float: + """ + Data objects marked for deletion are deleted after this many days. + Must be at least `1`. + """ + return pulumi.get(self, "non_current_days") + + @property + @pulumi.getter(name="unreferencedDays") + def unreferenced_days(self) -> float: + """ + Unreferenced data objects are marked for deletion after this many days. + Must be at least `1`. + """ + return pulumi.get(self, "unreferenced_days") + + +@pulumi.output_type +class TableMaintenanceConfiguration(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "icebergCompaction": + suggest = "iceberg_compaction" + elif key == "icebergSnapshotManagement": + suggest = "iceberg_snapshot_management" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in TableMaintenanceConfiguration. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + TableMaintenanceConfiguration.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + TableMaintenanceConfiguration.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + iceberg_compaction: 'outputs.TableMaintenanceConfigurationIcebergCompaction', + iceberg_snapshot_management: 'outputs.TableMaintenanceConfigurationIcebergSnapshotManagement'): + """ + :param 'TableMaintenanceConfigurationIcebergCompactionArgs' iceberg_compaction: A single Iceberg compaction settings block. + See `iceberg_compaction` below + :param 'TableMaintenanceConfigurationIcebergSnapshotManagementArgs' iceberg_snapshot_management: A single Iceberg snapshot management settings block. + See `iceberg_snapshot_management` below + """ + pulumi.set(__self__, "iceberg_compaction", iceberg_compaction) + pulumi.set(__self__, "iceberg_snapshot_management", iceberg_snapshot_management) + + @property + @pulumi.getter(name="icebergCompaction") + def iceberg_compaction(self) -> 'outputs.TableMaintenanceConfigurationIcebergCompaction': + """ + A single Iceberg compaction settings block. + See `iceberg_compaction` below + """ + return pulumi.get(self, "iceberg_compaction") + + @property + @pulumi.getter(name="icebergSnapshotManagement") + def iceberg_snapshot_management(self) -> 'outputs.TableMaintenanceConfigurationIcebergSnapshotManagement': + """ + A single Iceberg snapshot management settings block. + See `iceberg_snapshot_management` below + """ + return pulumi.get(self, "iceberg_snapshot_management") + + +@pulumi.output_type +class TableMaintenanceConfigurationIcebergCompaction(dict): + def __init__(__self__, *, + settings: 'outputs.TableMaintenanceConfigurationIcebergCompactionSettings', + status: str): + """ + :param 'TableMaintenanceConfigurationIcebergCompactionSettingsArgs' settings: Settings for compaction. + See `iceberg_compaction.settings` below + :param str status: Whether the configuration is enabled. + Valid values are `enabled` and `disabled`. + """ + pulumi.set(__self__, "settings", settings) + pulumi.set(__self__, "status", status) + + @property + @pulumi.getter + def settings(self) -> 'outputs.TableMaintenanceConfigurationIcebergCompactionSettings': + """ + Settings for compaction. + See `iceberg_compaction.settings` below + """ + return pulumi.get(self, "settings") + + @property + @pulumi.getter + def status(self) -> str: + """ + Whether the configuration is enabled. + Valid values are `enabled` and `disabled`. + """ + return pulumi.get(self, "status") + + +@pulumi.output_type +class TableMaintenanceConfigurationIcebergCompactionSettings(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "targetFileSizeMb": + suggest = "target_file_size_mb" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in TableMaintenanceConfigurationIcebergCompactionSettings. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + TableMaintenanceConfigurationIcebergCompactionSettings.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + TableMaintenanceConfigurationIcebergCompactionSettings.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + target_file_size_mb: float): + """ + :param float target_file_size_mb: Data objects smaller than this size may be combined with others to improve query performance. + Must be between `64` and `512`. + """ + pulumi.set(__self__, "target_file_size_mb", target_file_size_mb) + + @property + @pulumi.getter(name="targetFileSizeMb") + def target_file_size_mb(self) -> float: + """ + Data objects smaller than this size may be combined with others to improve query performance. + Must be between `64` and `512`. + """ + return pulumi.get(self, "target_file_size_mb") + + +@pulumi.output_type +class TableMaintenanceConfigurationIcebergSnapshotManagement(dict): + def __init__(__self__, *, + settings: 'outputs.TableMaintenanceConfigurationIcebergSnapshotManagementSettings', + status: str): + """ + :param 'TableMaintenanceConfigurationIcebergSnapshotManagementSettingsArgs' settings: Settings for snapshot management. + See `iceberg_snapshot_management.settings` below + :param str status: Whether the configuration is enabled. + Valid values are `enabled` and `disabled`. + """ + pulumi.set(__self__, "settings", settings) + pulumi.set(__self__, "status", status) + + @property + @pulumi.getter + def settings(self) -> 'outputs.TableMaintenanceConfigurationIcebergSnapshotManagementSettings': + """ + Settings for snapshot management. + See `iceberg_snapshot_management.settings` below + """ + return pulumi.get(self, "settings") + + @property + @pulumi.getter + def status(self) -> str: + """ + Whether the configuration is enabled. + Valid values are `enabled` and `disabled`. + """ + return pulumi.get(self, "status") + + +@pulumi.output_type +class TableMaintenanceConfigurationIcebergSnapshotManagementSettings(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "maxSnapshotAgeHours": + suggest = "max_snapshot_age_hours" + elif key == "minSnapshotsToKeep": + suggest = "min_snapshots_to_keep" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in TableMaintenanceConfigurationIcebergSnapshotManagementSettings. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + TableMaintenanceConfigurationIcebergSnapshotManagementSettings.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + TableMaintenanceConfigurationIcebergSnapshotManagementSettings.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + max_snapshot_age_hours: float, + min_snapshots_to_keep: float): + """ + :param float max_snapshot_age_hours: Snapshots older than this will be marked for deletiion. + Must be at least `1`. + :param float min_snapshots_to_keep: Minimum number of snapshots to keep. + Must be at least `1`. + """ + pulumi.set(__self__, "max_snapshot_age_hours", max_snapshot_age_hours) + pulumi.set(__self__, "min_snapshots_to_keep", min_snapshots_to_keep) + + @property + @pulumi.getter(name="maxSnapshotAgeHours") + def max_snapshot_age_hours(self) -> float: + """ + Snapshots older than this will be marked for deletiion. + Must be at least `1`. + """ + return pulumi.get(self, "max_snapshot_age_hours") + + @property + @pulumi.getter(name="minSnapshotsToKeep") + def min_snapshots_to_keep(self) -> float: + """ + Minimum number of snapshots to keep. + Must be at least `1`. + """ + return pulumi.get(self, "min_snapshots_to_keep") + + diff --git a/sdk/python/pulumi_aws/s3tables/table.py b/sdk/python/pulumi_aws/s3tables/table.py new file mode 100644 index 00000000000..aa833209466 --- /dev/null +++ b/sdk/python/pulumi_aws/s3tables/table.py @@ -0,0 +1,737 @@ +# 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__ = ['TableArgs', 'Table'] + +@pulumi.input_type +class TableArgs: + def __init__(__self__, *, + format: pulumi.Input[str], + namespace: pulumi.Input[str], + table_bucket_arn: pulumi.Input[str], + maintenance_configuration: Optional[pulumi.Input['TableMaintenanceConfigurationArgs']] = None, + name: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a Table resource. + :param pulumi.Input[str] format: Format of the table. + Must be `ICEBERG`. + :param pulumi.Input[str] namespace: Name of the namespace for this table. + Must be between 1 and 255 characters in length. + Can consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number. + :param pulumi.Input[str] table_bucket_arn: ARN referencing the Table Bucket that contains this Namespace. + + The following argument is optional: + :param pulumi.Input['TableMaintenanceConfigurationArgs'] maintenance_configuration: A single table bucket maintenance configuration block. + See `maintenance_configuration` below + :param pulumi.Input[str] name: Name of the table. + Must be between 1 and 255 characters in length. + Can consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number. + """ + pulumi.set(__self__, "format", format) + pulumi.set(__self__, "namespace", namespace) + pulumi.set(__self__, "table_bucket_arn", table_bucket_arn) + if maintenance_configuration is not None: + pulumi.set(__self__, "maintenance_configuration", maintenance_configuration) + if name is not None: + pulumi.set(__self__, "name", name) + + @property + @pulumi.getter + def format(self) -> pulumi.Input[str]: + """ + Format of the table. + Must be `ICEBERG`. + """ + return pulumi.get(self, "format") + + @format.setter + def format(self, value: pulumi.Input[str]): + pulumi.set(self, "format", value) + + @property + @pulumi.getter + def namespace(self) -> pulumi.Input[str]: + """ + Name of the namespace for this table. + Must be between 1 and 255 characters in length. + Can consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number. + """ + return pulumi.get(self, "namespace") + + @namespace.setter + def namespace(self, value: pulumi.Input[str]): + pulumi.set(self, "namespace", value) + + @property + @pulumi.getter(name="tableBucketArn") + def table_bucket_arn(self) -> pulumi.Input[str]: + """ + ARN referencing the Table Bucket that contains this Namespace. + + The following argument is optional: + """ + return pulumi.get(self, "table_bucket_arn") + + @table_bucket_arn.setter + def table_bucket_arn(self, value: pulumi.Input[str]): + pulumi.set(self, "table_bucket_arn", value) + + @property + @pulumi.getter(name="maintenanceConfiguration") + def maintenance_configuration(self) -> Optional[pulumi.Input['TableMaintenanceConfigurationArgs']]: + """ + A single table bucket maintenance configuration block. + See `maintenance_configuration` below + """ + return pulumi.get(self, "maintenance_configuration") + + @maintenance_configuration.setter + def maintenance_configuration(self, value: Optional[pulumi.Input['TableMaintenanceConfigurationArgs']]): + pulumi.set(self, "maintenance_configuration", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Name of the table. + Must be between 1 and 255 characters in length. + Can consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + +@pulumi.input_type +class _TableState: + def __init__(__self__, *, + arn: Optional[pulumi.Input[str]] = None, + created_at: Optional[pulumi.Input[str]] = None, + created_by: Optional[pulumi.Input[str]] = None, + format: Optional[pulumi.Input[str]] = None, + maintenance_configuration: Optional[pulumi.Input['TableMaintenanceConfigurationArgs']] = None, + metadata_location: Optional[pulumi.Input[str]] = None, + modified_at: Optional[pulumi.Input[str]] = None, + modified_by: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + namespace: Optional[pulumi.Input[str]] = None, + owner_account_id: Optional[pulumi.Input[str]] = None, + table_bucket_arn: Optional[pulumi.Input[str]] = None, + type: Optional[pulumi.Input[str]] = None, + version_token: Optional[pulumi.Input[str]] = None, + warehouse_location: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering Table resources. + :param pulumi.Input[str] arn: ARN of the table. + :param pulumi.Input[str] created_at: Date and time when the namespace was created. + :param pulumi.Input[str] created_by: Account ID of the account that created the namespace. + :param pulumi.Input[str] format: Format of the table. + Must be `ICEBERG`. + :param pulumi.Input['TableMaintenanceConfigurationArgs'] maintenance_configuration: A single table bucket maintenance configuration block. + See `maintenance_configuration` below + :param pulumi.Input[str] metadata_location: Location of table metadata. + :param pulumi.Input[str] modified_at: Date and time when the namespace was last modified. + :param pulumi.Input[str] modified_by: Account ID of the account that last modified the namespace. + :param pulumi.Input[str] name: Name of the table. + Must be between 1 and 255 characters in length. + Can consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number. + :param pulumi.Input[str] namespace: Name of the namespace for this table. + Must be between 1 and 255 characters in length. + Can consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number. + :param pulumi.Input[str] owner_account_id: Account ID of the account that owns the namespace. + :param pulumi.Input[str] table_bucket_arn: ARN referencing the Table Bucket that contains this Namespace. + + The following argument is optional: + :param pulumi.Input[str] type: Type of the table. + One of `customer` or `aws`. + :param pulumi.Input[str] version_token: Identifier for the current version of table data. + :param pulumi.Input[str] warehouse_location: S3 URI pointing to the S3 Bucket that contains the table data. + """ + if arn is not None: + pulumi.set(__self__, "arn", arn) + if created_at is not None: + pulumi.set(__self__, "created_at", created_at) + if created_by is not None: + pulumi.set(__self__, "created_by", created_by) + if format is not None: + pulumi.set(__self__, "format", format) + if maintenance_configuration is not None: + pulumi.set(__self__, "maintenance_configuration", maintenance_configuration) + if metadata_location is not None: + pulumi.set(__self__, "metadata_location", metadata_location) + if modified_at is not None: + pulumi.set(__self__, "modified_at", modified_at) + if modified_by is not None: + pulumi.set(__self__, "modified_by", modified_by) + if name is not None: + pulumi.set(__self__, "name", name) + if namespace is not None: + pulumi.set(__self__, "namespace", namespace) + if owner_account_id is not None: + pulumi.set(__self__, "owner_account_id", owner_account_id) + if table_bucket_arn is not None: + pulumi.set(__self__, "table_bucket_arn", table_bucket_arn) + if type is not None: + pulumi.set(__self__, "type", type) + if version_token is not None: + pulumi.set(__self__, "version_token", version_token) + if warehouse_location is not None: + pulumi.set(__self__, "warehouse_location", warehouse_location) + + @property + @pulumi.getter + def arn(self) -> Optional[pulumi.Input[str]]: + """ + ARN of the table. + """ + 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]]: + """ + Date and time when the namespace was created. + """ + return pulumi.get(self, "created_at") + + @created_at.setter + def created_at(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "created_at", value) + + @property + @pulumi.getter(name="createdBy") + def created_by(self) -> Optional[pulumi.Input[str]]: + """ + Account ID of the account that created the namespace. + """ + return pulumi.get(self, "created_by") + + @created_by.setter + def created_by(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "created_by", value) + + @property + @pulumi.getter + def format(self) -> Optional[pulumi.Input[str]]: + """ + Format of the table. + Must be `ICEBERG`. + """ + return pulumi.get(self, "format") + + @format.setter + def format(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "format", value) + + @property + @pulumi.getter(name="maintenanceConfiguration") + def maintenance_configuration(self) -> Optional[pulumi.Input['TableMaintenanceConfigurationArgs']]: + """ + A single table bucket maintenance configuration block. + See `maintenance_configuration` below + """ + return pulumi.get(self, "maintenance_configuration") + + @maintenance_configuration.setter + def maintenance_configuration(self, value: Optional[pulumi.Input['TableMaintenanceConfigurationArgs']]): + pulumi.set(self, "maintenance_configuration", value) + + @property + @pulumi.getter(name="metadataLocation") + def metadata_location(self) -> Optional[pulumi.Input[str]]: + """ + Location of table metadata. + """ + return pulumi.get(self, "metadata_location") + + @metadata_location.setter + def metadata_location(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "metadata_location", value) + + @property + @pulumi.getter(name="modifiedAt") + def modified_at(self) -> Optional[pulumi.Input[str]]: + """ + Date and time when the namespace was last modified. + """ + return pulumi.get(self, "modified_at") + + @modified_at.setter + def modified_at(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "modified_at", value) + + @property + @pulumi.getter(name="modifiedBy") + def modified_by(self) -> Optional[pulumi.Input[str]]: + """ + Account ID of the account that last modified the namespace. + """ + return pulumi.get(self, "modified_by") + + @modified_by.setter + def modified_by(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "modified_by", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Name of the table. + Must be between 1 and 255 characters in length. + Can consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def namespace(self) -> Optional[pulumi.Input[str]]: + """ + Name of the namespace for this table. + Must be between 1 and 255 characters in length. + Can consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number. + """ + return pulumi.get(self, "namespace") + + @namespace.setter + def namespace(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "namespace", value) + + @property + @pulumi.getter(name="ownerAccountId") + def owner_account_id(self) -> Optional[pulumi.Input[str]]: + """ + Account ID of the account that owns the namespace. + """ + return pulumi.get(self, "owner_account_id") + + @owner_account_id.setter + def owner_account_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "owner_account_id", value) + + @property + @pulumi.getter(name="tableBucketArn") + def table_bucket_arn(self) -> Optional[pulumi.Input[str]]: + """ + ARN referencing the Table Bucket that contains this Namespace. + + The following argument is optional: + """ + return pulumi.get(self, "table_bucket_arn") + + @table_bucket_arn.setter + def table_bucket_arn(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "table_bucket_arn", value) + + @property + @pulumi.getter + def type(self) -> Optional[pulumi.Input[str]]: + """ + Type of the table. + One of `customer` or `aws`. + """ + return pulumi.get(self, "type") + + @type.setter + def type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "type", value) + + @property + @pulumi.getter(name="versionToken") + def version_token(self) -> Optional[pulumi.Input[str]]: + """ + Identifier for the current version of table data. + """ + return pulumi.get(self, "version_token") + + @version_token.setter + def version_token(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "version_token", value) + + @property + @pulumi.getter(name="warehouseLocation") + def warehouse_location(self) -> Optional[pulumi.Input[str]]: + """ + S3 URI pointing to the S3 Bucket that contains the table data. + """ + return pulumi.get(self, "warehouse_location") + + @warehouse_location.setter + def warehouse_location(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "warehouse_location", value) + + +class Table(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + format: Optional[pulumi.Input[str]] = None, + maintenance_configuration: Optional[pulumi.Input[Union['TableMaintenanceConfigurationArgs', 'TableMaintenanceConfigurationArgsDict']]] = None, + name: Optional[pulumi.Input[str]] = None, + namespace: Optional[pulumi.Input[str]] = None, + table_bucket_arn: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Resource for managing an Amazon S3 Tables Table. + + ## Example Usage + + ### Basic Usage + + ```python + import pulumi + import pulumi_aws as aws + + example_table_bucket = aws.s3tables.TableBucket("example", name="example-bucket") + example_namespace = aws.s3tables.Namespace("example", + namespace="example-namespace", + table_bucket_arn=example_table_bucket.arn) + example = aws.s3tables.Table("example", + name="example-table", + namespace=example_namespace, + table_bucket_arn=example_namespace.table_bucket_arn, + format="ICEBERG") + ``` + + ## Import + + Using `pulumi import`, import S3 Tables Table using the `table_bucket_arn`, the value of `namespace`, and the value of `name`, separated by a semicolon (`;`). For example: + + ```sh + $ pulumi import aws:s3tables/table:Table example 'arn:aws:s3tables:us-west-2:123456789012:bucket/example-bucket;example-namespace;example-table' + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] format: Format of the table. + Must be `ICEBERG`. + :param pulumi.Input[Union['TableMaintenanceConfigurationArgs', 'TableMaintenanceConfigurationArgsDict']] maintenance_configuration: A single table bucket maintenance configuration block. + See `maintenance_configuration` below + :param pulumi.Input[str] name: Name of the table. + Must be between 1 and 255 characters in length. + Can consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number. + :param pulumi.Input[str] namespace: Name of the namespace for this table. + Must be between 1 and 255 characters in length. + Can consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number. + :param pulumi.Input[str] table_bucket_arn: ARN referencing the Table Bucket that contains this Namespace. + + The following argument is optional: + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: TableArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Resource for managing an Amazon S3 Tables Table. + + ## Example Usage + + ### Basic Usage + + ```python + import pulumi + import pulumi_aws as aws + + example_table_bucket = aws.s3tables.TableBucket("example", name="example-bucket") + example_namespace = aws.s3tables.Namespace("example", + namespace="example-namespace", + table_bucket_arn=example_table_bucket.arn) + example = aws.s3tables.Table("example", + name="example-table", + namespace=example_namespace, + table_bucket_arn=example_namespace.table_bucket_arn, + format="ICEBERG") + ``` + + ## Import + + Using `pulumi import`, import S3 Tables Table using the `table_bucket_arn`, the value of `namespace`, and the value of `name`, separated by a semicolon (`;`). For example: + + ```sh + $ pulumi import aws:s3tables/table:Table example 'arn:aws:s3tables:us-west-2:123456789012:bucket/example-bucket;example-namespace;example-table' + ``` + + :param str resource_name: The name of the resource. + :param TableArgs 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(TableArgs, 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, + format: Optional[pulumi.Input[str]] = None, + maintenance_configuration: Optional[pulumi.Input[Union['TableMaintenanceConfigurationArgs', 'TableMaintenanceConfigurationArgsDict']]] = None, + name: Optional[pulumi.Input[str]] = None, + namespace: Optional[pulumi.Input[str]] = None, + table_bucket_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__ = TableArgs.__new__(TableArgs) + + if format is None and not opts.urn: + raise TypeError("Missing required property 'format'") + __props__.__dict__["format"] = format + __props__.__dict__["maintenance_configuration"] = maintenance_configuration + __props__.__dict__["name"] = name + if namespace is None and not opts.urn: + raise TypeError("Missing required property 'namespace'") + __props__.__dict__["namespace"] = namespace + if table_bucket_arn is None and not opts.urn: + raise TypeError("Missing required property 'table_bucket_arn'") + __props__.__dict__["table_bucket_arn"] = table_bucket_arn + __props__.__dict__["arn"] = None + __props__.__dict__["created_at"] = None + __props__.__dict__["created_by"] = None + __props__.__dict__["metadata_location"] = None + __props__.__dict__["modified_at"] = None + __props__.__dict__["modified_by"] = None + __props__.__dict__["owner_account_id"] = None + __props__.__dict__["type"] = None + __props__.__dict__["version_token"] = None + __props__.__dict__["warehouse_location"] = None + super(Table, __self__).__init__( + 'aws:s3tables/table:Table', + 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, + created_by: Optional[pulumi.Input[str]] = None, + format: Optional[pulumi.Input[str]] = None, + maintenance_configuration: Optional[pulumi.Input[Union['TableMaintenanceConfigurationArgs', 'TableMaintenanceConfigurationArgsDict']]] = None, + metadata_location: Optional[pulumi.Input[str]] = None, + modified_at: Optional[pulumi.Input[str]] = None, + modified_by: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + namespace: Optional[pulumi.Input[str]] = None, + owner_account_id: Optional[pulumi.Input[str]] = None, + table_bucket_arn: Optional[pulumi.Input[str]] = None, + type: Optional[pulumi.Input[str]] = None, + version_token: Optional[pulumi.Input[str]] = None, + warehouse_location: Optional[pulumi.Input[str]] = None) -> 'Table': + """ + Get an existing Table 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 table. + :param pulumi.Input[str] created_at: Date and time when the namespace was created. + :param pulumi.Input[str] created_by: Account ID of the account that created the namespace. + :param pulumi.Input[str] format: Format of the table. + Must be `ICEBERG`. + :param pulumi.Input[Union['TableMaintenanceConfigurationArgs', 'TableMaintenanceConfigurationArgsDict']] maintenance_configuration: A single table bucket maintenance configuration block. + See `maintenance_configuration` below + :param pulumi.Input[str] metadata_location: Location of table metadata. + :param pulumi.Input[str] modified_at: Date and time when the namespace was last modified. + :param pulumi.Input[str] modified_by: Account ID of the account that last modified the namespace. + :param pulumi.Input[str] name: Name of the table. + Must be between 1 and 255 characters in length. + Can consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number. + :param pulumi.Input[str] namespace: Name of the namespace for this table. + Must be between 1 and 255 characters in length. + Can consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number. + :param pulumi.Input[str] owner_account_id: Account ID of the account that owns the namespace. + :param pulumi.Input[str] table_bucket_arn: ARN referencing the Table Bucket that contains this Namespace. + + The following argument is optional: + :param pulumi.Input[str] type: Type of the table. + One of `customer` or `aws`. + :param pulumi.Input[str] version_token: Identifier for the current version of table data. + :param pulumi.Input[str] warehouse_location: S3 URI pointing to the S3 Bucket that contains the table data. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _TableState.__new__(_TableState) + + __props__.__dict__["arn"] = arn + __props__.__dict__["created_at"] = created_at + __props__.__dict__["created_by"] = created_by + __props__.__dict__["format"] = format + __props__.__dict__["maintenance_configuration"] = maintenance_configuration + __props__.__dict__["metadata_location"] = metadata_location + __props__.__dict__["modified_at"] = modified_at + __props__.__dict__["modified_by"] = modified_by + __props__.__dict__["name"] = name + __props__.__dict__["namespace"] = namespace + __props__.__dict__["owner_account_id"] = owner_account_id + __props__.__dict__["table_bucket_arn"] = table_bucket_arn + __props__.__dict__["type"] = type + __props__.__dict__["version_token"] = version_token + __props__.__dict__["warehouse_location"] = warehouse_location + return Table(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter + def arn(self) -> pulumi.Output[str]: + """ + ARN of the table. + """ + return pulumi.get(self, "arn") + + @property + @pulumi.getter(name="createdAt") + def created_at(self) -> pulumi.Output[str]: + """ + Date and time when the namespace was created. + """ + return pulumi.get(self, "created_at") + + @property + @pulumi.getter(name="createdBy") + def created_by(self) -> pulumi.Output[str]: + """ + Account ID of the account that created the namespace. + """ + return pulumi.get(self, "created_by") + + @property + @pulumi.getter + def format(self) -> pulumi.Output[str]: + """ + Format of the table. + Must be `ICEBERG`. + """ + return pulumi.get(self, "format") + + @property + @pulumi.getter(name="maintenanceConfiguration") + def maintenance_configuration(self) -> pulumi.Output['outputs.TableMaintenanceConfiguration']: + """ + A single table bucket maintenance configuration block. + See `maintenance_configuration` below + """ + return pulumi.get(self, "maintenance_configuration") + + @property + @pulumi.getter(name="metadataLocation") + def metadata_location(self) -> pulumi.Output[str]: + """ + Location of table metadata. + """ + return pulumi.get(self, "metadata_location") + + @property + @pulumi.getter(name="modifiedAt") + def modified_at(self) -> pulumi.Output[str]: + """ + Date and time when the namespace was last modified. + """ + return pulumi.get(self, "modified_at") + + @property + @pulumi.getter(name="modifiedBy") + def modified_by(self) -> pulumi.Output[str]: + """ + Account ID of the account that last modified the namespace. + """ + return pulumi.get(self, "modified_by") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + Name of the table. + Must be between 1 and 255 characters in length. + Can consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def namespace(self) -> pulumi.Output[str]: + """ + Name of the namespace for this table. + Must be between 1 and 255 characters in length. + Can consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number. + """ + return pulumi.get(self, "namespace") + + @property + @pulumi.getter(name="ownerAccountId") + def owner_account_id(self) -> pulumi.Output[str]: + """ + Account ID of the account that owns the namespace. + """ + return pulumi.get(self, "owner_account_id") + + @property + @pulumi.getter(name="tableBucketArn") + def table_bucket_arn(self) -> pulumi.Output[str]: + """ + ARN referencing the Table Bucket that contains this Namespace. + + The following argument is optional: + """ + return pulumi.get(self, "table_bucket_arn") + + @property + @pulumi.getter + def type(self) -> pulumi.Output[str]: + """ + Type of the table. + One of `customer` or `aws`. + """ + return pulumi.get(self, "type") + + @property + @pulumi.getter(name="versionToken") + def version_token(self) -> pulumi.Output[str]: + """ + Identifier for the current version of table data. + """ + return pulumi.get(self, "version_token") + + @property + @pulumi.getter(name="warehouseLocation") + def warehouse_location(self) -> pulumi.Output[str]: + """ + S3 URI pointing to the S3 Bucket that contains the table data. + """ + return pulumi.get(self, "warehouse_location") + diff --git a/sdk/python/pulumi_aws/s3tables/table_bucket.py b/sdk/python/pulumi_aws/s3tables/table_bucket.py new file mode 100644 index 00000000000..fde52048465 --- /dev/null +++ b/sdk/python/pulumi_aws/s3tables/table_bucket.py @@ -0,0 +1,363 @@ +# 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__ = ['TableBucketArgs', 'TableBucket'] + +@pulumi.input_type +class TableBucketArgs: + def __init__(__self__, *, + maintenance_configuration: Optional[pulumi.Input['TableBucketMaintenanceConfigurationArgs']] = None, + name: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a TableBucket resource. + :param pulumi.Input['TableBucketMaintenanceConfigurationArgs'] maintenance_configuration: A single table bucket maintenance configuration block. + See `maintenance_configuration` below + :param pulumi.Input[str] name: Name of the table bucket. + Must be between 3 and 63 characters in length. + Can consist of lowercase letters, numbers, and hyphens, and must begin and end with a lowercase letter or number. + A full list of bucket naming rules may be found in S3 Tables documentation. + + The following argument is optional: + """ + if maintenance_configuration is not None: + pulumi.set(__self__, "maintenance_configuration", maintenance_configuration) + if name is not None: + pulumi.set(__self__, "name", name) + + @property + @pulumi.getter(name="maintenanceConfiguration") + def maintenance_configuration(self) -> Optional[pulumi.Input['TableBucketMaintenanceConfigurationArgs']]: + """ + A single table bucket maintenance configuration block. + See `maintenance_configuration` below + """ + return pulumi.get(self, "maintenance_configuration") + + @maintenance_configuration.setter + def maintenance_configuration(self, value: Optional[pulumi.Input['TableBucketMaintenanceConfigurationArgs']]): + pulumi.set(self, "maintenance_configuration", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Name of the table bucket. + Must be between 3 and 63 characters in length. + Can consist of lowercase letters, numbers, and hyphens, and must begin and end with a lowercase letter or number. + A full list of bucket naming rules may be found in S3 Tables documentation. + + The following argument is optional: + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + +@pulumi.input_type +class _TableBucketState: + def __init__(__self__, *, + arn: Optional[pulumi.Input[str]] = None, + created_at: Optional[pulumi.Input[str]] = None, + maintenance_configuration: Optional[pulumi.Input['TableBucketMaintenanceConfigurationArgs']] = None, + name: Optional[pulumi.Input[str]] = None, + owner_account_id: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering TableBucket resources. + :param pulumi.Input[str] arn: ARN of the table bucket. + :param pulumi.Input[str] created_at: Date and time when the bucket was created. + :param pulumi.Input['TableBucketMaintenanceConfigurationArgs'] maintenance_configuration: A single table bucket maintenance configuration block. + See `maintenance_configuration` below + :param pulumi.Input[str] name: Name of the table bucket. + Must be between 3 and 63 characters in length. + Can consist of lowercase letters, numbers, and hyphens, and must begin and end with a lowercase letter or number. + A full list of bucket naming rules may be found in S3 Tables documentation. + + The following argument is optional: + :param pulumi.Input[str] owner_account_id: Account ID of the account that owns the table bucket. + """ + if arn is not None: + pulumi.set(__self__, "arn", arn) + if created_at is not None: + pulumi.set(__self__, "created_at", created_at) + if maintenance_configuration is not None: + pulumi.set(__self__, "maintenance_configuration", maintenance_configuration) + if name is not None: + pulumi.set(__self__, "name", name) + if owner_account_id is not None: + pulumi.set(__self__, "owner_account_id", owner_account_id) + + @property + @pulumi.getter + def arn(self) -> Optional[pulumi.Input[str]]: + """ + ARN of the table bucket. + """ + 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]]: + """ + Date and time when the bucket was created. + """ + return pulumi.get(self, "created_at") + + @created_at.setter + def created_at(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "created_at", value) + + @property + @pulumi.getter(name="maintenanceConfiguration") + def maintenance_configuration(self) -> Optional[pulumi.Input['TableBucketMaintenanceConfigurationArgs']]: + """ + A single table bucket maintenance configuration block. + See `maintenance_configuration` below + """ + return pulumi.get(self, "maintenance_configuration") + + @maintenance_configuration.setter + def maintenance_configuration(self, value: Optional[pulumi.Input['TableBucketMaintenanceConfigurationArgs']]): + pulumi.set(self, "maintenance_configuration", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Name of the table bucket. + Must be between 3 and 63 characters in length. + Can consist of lowercase letters, numbers, and hyphens, and must begin and end with a lowercase letter or number. + A full list of bucket naming rules may be found in S3 Tables documentation. + + The following argument is optional: + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="ownerAccountId") + def owner_account_id(self) -> Optional[pulumi.Input[str]]: + """ + Account ID of the account that owns the table bucket. + """ + return pulumi.get(self, "owner_account_id") + + @owner_account_id.setter + def owner_account_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "owner_account_id", value) + + +class TableBucket(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + maintenance_configuration: Optional[pulumi.Input[Union['TableBucketMaintenanceConfigurationArgs', 'TableBucketMaintenanceConfigurationArgsDict']]] = None, + name: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Resource for managing an Amazon S3 Tables Table Bucket. + + ## Example Usage + + ### Basic Usage + + ```python + import pulumi + import pulumi_aws as aws + + example = aws.s3tables.TableBucket("example", name="example-bucket") + ``` + + ## Import + + Using `pulumi import`, import S3 Tables Table Bucket using the `arn`. For example: + + ```sh + $ pulumi import aws:s3tables/tableBucket:TableBucket example arn:aws:s3tables:us-west-2:123456789012:bucket/example-bucket + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[Union['TableBucketMaintenanceConfigurationArgs', 'TableBucketMaintenanceConfigurationArgsDict']] maintenance_configuration: A single table bucket maintenance configuration block. + See `maintenance_configuration` below + :param pulumi.Input[str] name: Name of the table bucket. + Must be between 3 and 63 characters in length. + Can consist of lowercase letters, numbers, and hyphens, and must begin and end with a lowercase letter or number. + A full list of bucket naming rules may be found in S3 Tables documentation. + + The following argument is optional: + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: Optional[TableBucketArgs] = None, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Resource for managing an Amazon S3 Tables Table Bucket. + + ## Example Usage + + ### Basic Usage + + ```python + import pulumi + import pulumi_aws as aws + + example = aws.s3tables.TableBucket("example", name="example-bucket") + ``` + + ## Import + + Using `pulumi import`, import S3 Tables Table Bucket using the `arn`. For example: + + ```sh + $ pulumi import aws:s3tables/tableBucket:TableBucket example arn:aws:s3tables:us-west-2:123456789012:bucket/example-bucket + ``` + + :param str resource_name: The name of the resource. + :param TableBucketArgs 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(TableBucketArgs, 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, + maintenance_configuration: Optional[pulumi.Input[Union['TableBucketMaintenanceConfigurationArgs', 'TableBucketMaintenanceConfigurationArgsDict']]] = None, + name: Optional[pulumi.Input[str]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = TableBucketArgs.__new__(TableBucketArgs) + + __props__.__dict__["maintenance_configuration"] = maintenance_configuration + __props__.__dict__["name"] = name + __props__.__dict__["arn"] = None + __props__.__dict__["created_at"] = None + __props__.__dict__["owner_account_id"] = None + super(TableBucket, __self__).__init__( + 'aws:s3tables/tableBucket:TableBucket', + 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, + maintenance_configuration: Optional[pulumi.Input[Union['TableBucketMaintenanceConfigurationArgs', 'TableBucketMaintenanceConfigurationArgsDict']]] = None, + name: Optional[pulumi.Input[str]] = None, + owner_account_id: Optional[pulumi.Input[str]] = None) -> 'TableBucket': + """ + Get an existing TableBucket 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 table bucket. + :param pulumi.Input[str] created_at: Date and time when the bucket was created. + :param pulumi.Input[Union['TableBucketMaintenanceConfigurationArgs', 'TableBucketMaintenanceConfigurationArgsDict']] maintenance_configuration: A single table bucket maintenance configuration block. + See `maintenance_configuration` below + :param pulumi.Input[str] name: Name of the table bucket. + Must be between 3 and 63 characters in length. + Can consist of lowercase letters, numbers, and hyphens, and must begin and end with a lowercase letter or number. + A full list of bucket naming rules may be found in S3 Tables documentation. + + The following argument is optional: + :param pulumi.Input[str] owner_account_id: Account ID of the account that owns the table bucket. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _TableBucketState.__new__(_TableBucketState) + + __props__.__dict__["arn"] = arn + __props__.__dict__["created_at"] = created_at + __props__.__dict__["maintenance_configuration"] = maintenance_configuration + __props__.__dict__["name"] = name + __props__.__dict__["owner_account_id"] = owner_account_id + return TableBucket(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter + def arn(self) -> pulumi.Output[str]: + """ + ARN of the table bucket. + """ + return pulumi.get(self, "arn") + + @property + @pulumi.getter(name="createdAt") + def created_at(self) -> pulumi.Output[str]: + """ + Date and time when the bucket was created. + """ + return pulumi.get(self, "created_at") + + @property + @pulumi.getter(name="maintenanceConfiguration") + def maintenance_configuration(self) -> pulumi.Output['outputs.TableBucketMaintenanceConfiguration']: + """ + A single table bucket maintenance configuration block. + See `maintenance_configuration` below + """ + return pulumi.get(self, "maintenance_configuration") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + Name of the table bucket. + Must be between 3 and 63 characters in length. + Can consist of lowercase letters, numbers, and hyphens, and must begin and end with a lowercase letter or number. + A full list of bucket naming rules may be found in S3 Tables documentation. + + The following argument is optional: + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="ownerAccountId") + def owner_account_id(self) -> pulumi.Output[str]: + """ + Account ID of the account that owns the table bucket. + """ + return pulumi.get(self, "owner_account_id") + diff --git a/sdk/python/pulumi_aws/s3tables/table_bucket_policy.py b/sdk/python/pulumi_aws/s3tables/table_bucket_policy.py new file mode 100644 index 00000000000..1a4f4285c42 --- /dev/null +++ b/sdk/python/pulumi_aws/s3tables/table_bucket_policy.py @@ -0,0 +1,245 @@ +# 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__ = ['TableBucketPolicyArgs', 'TableBucketPolicy'] + +@pulumi.input_type +class TableBucketPolicyArgs: + def __init__(__self__, *, + resource_policy: pulumi.Input[str], + table_bucket_arn: pulumi.Input[str]): + """ + The set of arguments for constructing a TableBucketPolicy resource. + :param pulumi.Input[str] resource_policy: Amazon Web Services resource-based policy document in JSON format. + :param pulumi.Input[str] table_bucket_arn: ARN referencing the Table Bucket that owns this policy. + """ + pulumi.set(__self__, "resource_policy", resource_policy) + pulumi.set(__self__, "table_bucket_arn", table_bucket_arn) + + @property + @pulumi.getter(name="resourcePolicy") + def resource_policy(self) -> pulumi.Input[str]: + """ + Amazon Web Services resource-based policy document in JSON format. + """ + return pulumi.get(self, "resource_policy") + + @resource_policy.setter + def resource_policy(self, value: pulumi.Input[str]): + pulumi.set(self, "resource_policy", value) + + @property + @pulumi.getter(name="tableBucketArn") + def table_bucket_arn(self) -> pulumi.Input[str]: + """ + ARN referencing the Table Bucket that owns this policy. + """ + return pulumi.get(self, "table_bucket_arn") + + @table_bucket_arn.setter + def table_bucket_arn(self, value: pulumi.Input[str]): + pulumi.set(self, "table_bucket_arn", value) + + +@pulumi.input_type +class _TableBucketPolicyState: + def __init__(__self__, *, + resource_policy: Optional[pulumi.Input[str]] = None, + table_bucket_arn: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering TableBucketPolicy resources. + :param pulumi.Input[str] resource_policy: Amazon Web Services resource-based policy document in JSON format. + :param pulumi.Input[str] table_bucket_arn: ARN referencing the Table Bucket that owns this policy. + """ + if resource_policy is not None: + pulumi.set(__self__, "resource_policy", resource_policy) + if table_bucket_arn is not None: + pulumi.set(__self__, "table_bucket_arn", table_bucket_arn) + + @property + @pulumi.getter(name="resourcePolicy") + def resource_policy(self) -> Optional[pulumi.Input[str]]: + """ + Amazon Web Services resource-based policy document in JSON format. + """ + return pulumi.get(self, "resource_policy") + + @resource_policy.setter + def resource_policy(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "resource_policy", value) + + @property + @pulumi.getter(name="tableBucketArn") + def table_bucket_arn(self) -> Optional[pulumi.Input[str]]: + """ + ARN referencing the Table Bucket that owns this policy. + """ + return pulumi.get(self, "table_bucket_arn") + + @table_bucket_arn.setter + def table_bucket_arn(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "table_bucket_arn", value) + + +class TableBucketPolicy(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + resource_policy: Optional[pulumi.Input[str]] = None, + table_bucket_arn: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Resource for managing an Amazon S3 Tables Table Bucket Policy. + + ## Example Usage + + ### Basic Usage + + ```python + import pulumi + import pulumi_aws as aws + + example = aws.iam.get_policy_document(statements=[{}]) + example_table_bucket_policy = aws.s3tables.TableBucketPolicy("example", + resource_policy=example.json, + table_bucket_arn=example_aws_s3tables_table_bucket["arn"]) + test = aws.s3tables.TableBucket("test", name="example-bucket") + ``` + + ## Import + + Using `pulumi import`, import S3 Tables Table Bucket Policy using the `table_bucket_arn`. For example: + + ```sh + $ pulumi import aws:s3tables/tableBucketPolicy:TableBucketPolicy example 'arn:aws:s3tables:us-west-2:123456789012:bucket/example-bucket;example-namespace' + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] resource_policy: Amazon Web Services resource-based policy document in JSON format. + :param pulumi.Input[str] table_bucket_arn: ARN referencing the Table Bucket that owns this policy. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: TableBucketPolicyArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Resource for managing an Amazon S3 Tables Table Bucket Policy. + + ## Example Usage + + ### Basic Usage + + ```python + import pulumi + import pulumi_aws as aws + + example = aws.iam.get_policy_document(statements=[{}]) + example_table_bucket_policy = aws.s3tables.TableBucketPolicy("example", + resource_policy=example.json, + table_bucket_arn=example_aws_s3tables_table_bucket["arn"]) + test = aws.s3tables.TableBucket("test", name="example-bucket") + ``` + + ## Import + + Using `pulumi import`, import S3 Tables Table Bucket Policy using the `table_bucket_arn`. For example: + + ```sh + $ pulumi import aws:s3tables/tableBucketPolicy:TableBucketPolicy example 'arn:aws:s3tables:us-west-2:123456789012:bucket/example-bucket;example-namespace' + ``` + + :param str resource_name: The name of the resource. + :param TableBucketPolicyArgs 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(TableBucketPolicyArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + resource_policy: Optional[pulumi.Input[str]] = None, + table_bucket_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__ = TableBucketPolicyArgs.__new__(TableBucketPolicyArgs) + + if resource_policy is None and not opts.urn: + raise TypeError("Missing required property 'resource_policy'") + __props__.__dict__["resource_policy"] = resource_policy + if table_bucket_arn is None and not opts.urn: + raise TypeError("Missing required property 'table_bucket_arn'") + __props__.__dict__["table_bucket_arn"] = table_bucket_arn + super(TableBucketPolicy, __self__).__init__( + 'aws:s3tables/tableBucketPolicy:TableBucketPolicy', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + resource_policy: Optional[pulumi.Input[str]] = None, + table_bucket_arn: Optional[pulumi.Input[str]] = None) -> 'TableBucketPolicy': + """ + Get an existing TableBucketPolicy 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] resource_policy: Amazon Web Services resource-based policy document in JSON format. + :param pulumi.Input[str] table_bucket_arn: ARN referencing the Table Bucket that owns this policy. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _TableBucketPolicyState.__new__(_TableBucketPolicyState) + + __props__.__dict__["resource_policy"] = resource_policy + __props__.__dict__["table_bucket_arn"] = table_bucket_arn + return TableBucketPolicy(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="resourcePolicy") + def resource_policy(self) -> pulumi.Output[str]: + """ + Amazon Web Services resource-based policy document in JSON format. + """ + return pulumi.get(self, "resource_policy") + + @property + @pulumi.getter(name="tableBucketArn") + def table_bucket_arn(self) -> pulumi.Output[str]: + """ + ARN referencing the Table Bucket that owns this policy. + """ + return pulumi.get(self, "table_bucket_arn") + diff --git a/sdk/python/pulumi_aws/s3tables/table_policy.py b/sdk/python/pulumi_aws/s3tables/table_policy.py new file mode 100644 index 00000000000..79c84246bfd --- /dev/null +++ b/sdk/python/pulumi_aws/s3tables/table_policy.py @@ -0,0 +1,342 @@ +# 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__ = ['TablePolicyArgs', 'TablePolicy'] + +@pulumi.input_type +class TablePolicyArgs: + def __init__(__self__, *, + namespace: pulumi.Input[str], + resource_policy: pulumi.Input[str], + table_bucket_arn: pulumi.Input[str], + name: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a TablePolicy resource. + :param pulumi.Input[str] namespace: Name of the namespace for this table. + Must be between 1 and 255 characters in length. + Can consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number. + :param pulumi.Input[str] resource_policy: Amazon Web Services resource-based policy document in JSON format. + :param pulumi.Input[str] table_bucket_arn: ARN referencing the Table Bucket that contains this Namespace. + :param pulumi.Input[str] name: Name of the table. + Must be between 1 and 255 characters in length. + Can consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number. + """ + pulumi.set(__self__, "namespace", namespace) + pulumi.set(__self__, "resource_policy", resource_policy) + pulumi.set(__self__, "table_bucket_arn", table_bucket_arn) + if name is not None: + pulumi.set(__self__, "name", name) + + @property + @pulumi.getter + def namespace(self) -> pulumi.Input[str]: + """ + Name of the namespace for this table. + Must be between 1 and 255 characters in length. + Can consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number. + """ + return pulumi.get(self, "namespace") + + @namespace.setter + def namespace(self, value: pulumi.Input[str]): + pulumi.set(self, "namespace", value) + + @property + @pulumi.getter(name="resourcePolicy") + def resource_policy(self) -> pulumi.Input[str]: + """ + Amazon Web Services resource-based policy document in JSON format. + """ + return pulumi.get(self, "resource_policy") + + @resource_policy.setter + def resource_policy(self, value: pulumi.Input[str]): + pulumi.set(self, "resource_policy", value) + + @property + @pulumi.getter(name="tableBucketArn") + def table_bucket_arn(self) -> pulumi.Input[str]: + """ + ARN referencing the Table Bucket that contains this Namespace. + """ + return pulumi.get(self, "table_bucket_arn") + + @table_bucket_arn.setter + def table_bucket_arn(self, value: pulumi.Input[str]): + pulumi.set(self, "table_bucket_arn", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Name of the table. + Must be between 1 and 255 characters in length. + Can consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + +@pulumi.input_type +class _TablePolicyState: + def __init__(__self__, *, + name: Optional[pulumi.Input[str]] = None, + namespace: Optional[pulumi.Input[str]] = None, + resource_policy: Optional[pulumi.Input[str]] = None, + table_bucket_arn: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering TablePolicy resources. + :param pulumi.Input[str] name: Name of the table. + Must be between 1 and 255 characters in length. + Can consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number. + :param pulumi.Input[str] namespace: Name of the namespace for this table. + Must be between 1 and 255 characters in length. + Can consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number. + :param pulumi.Input[str] resource_policy: Amazon Web Services resource-based policy document in JSON format. + :param pulumi.Input[str] table_bucket_arn: ARN referencing the Table Bucket that contains this Namespace. + """ + if name is not None: + pulumi.set(__self__, "name", name) + if namespace is not None: + pulumi.set(__self__, "namespace", namespace) + if resource_policy is not None: + pulumi.set(__self__, "resource_policy", resource_policy) + if table_bucket_arn is not None: + pulumi.set(__self__, "table_bucket_arn", table_bucket_arn) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Name of the table. + Must be between 1 and 255 characters in length. + Can consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def namespace(self) -> Optional[pulumi.Input[str]]: + """ + Name of the namespace for this table. + Must be between 1 and 255 characters in length. + Can consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number. + """ + return pulumi.get(self, "namespace") + + @namespace.setter + def namespace(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "namespace", value) + + @property + @pulumi.getter(name="resourcePolicy") + def resource_policy(self) -> Optional[pulumi.Input[str]]: + """ + Amazon Web Services resource-based policy document in JSON format. + """ + return pulumi.get(self, "resource_policy") + + @resource_policy.setter + def resource_policy(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "resource_policy", value) + + @property + @pulumi.getter(name="tableBucketArn") + def table_bucket_arn(self) -> Optional[pulumi.Input[str]]: + """ + ARN referencing the Table Bucket that contains this Namespace. + """ + return pulumi.get(self, "table_bucket_arn") + + @table_bucket_arn.setter + def table_bucket_arn(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "table_bucket_arn", value) + + +class TablePolicy(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + name: Optional[pulumi.Input[str]] = None, + namespace: Optional[pulumi.Input[str]] = None, + resource_policy: Optional[pulumi.Input[str]] = None, + table_bucket_arn: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Resource for managing an Amazon S3 Tables Table Policy. + + ## Example Usage + + ## Import + + Using `pulumi import`, import S3 Tables Table Policy using the `table_bucket_arn`, the value of `namespace`, and the value of `name`, separated by a semicolon (`;`). For example: + + ```sh + $ pulumi import aws:s3tables/tablePolicy:TablePolicy example 'arn:aws:s3tables:us-west-2:123456789012:bucket/example-bucket;example-namespace;example-table' + ``` + + :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 table. + Must be between 1 and 255 characters in length. + Can consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number. + :param pulumi.Input[str] namespace: Name of the namespace for this table. + Must be between 1 and 255 characters in length. + Can consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number. + :param pulumi.Input[str] resource_policy: Amazon Web Services resource-based policy document in JSON format. + :param pulumi.Input[str] table_bucket_arn: ARN referencing the Table Bucket that contains this Namespace. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: TablePolicyArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Resource for managing an Amazon S3 Tables Table Policy. + + ## Example Usage + + ## Import + + Using `pulumi import`, import S3 Tables Table Policy using the `table_bucket_arn`, the value of `namespace`, and the value of `name`, separated by a semicolon (`;`). For example: + + ```sh + $ pulumi import aws:s3tables/tablePolicy:TablePolicy example 'arn:aws:s3tables:us-west-2:123456789012:bucket/example-bucket;example-namespace;example-table' + ``` + + :param str resource_name: The name of the resource. + :param TablePolicyArgs 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(TablePolicyArgs, 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, + namespace: Optional[pulumi.Input[str]] = None, + resource_policy: Optional[pulumi.Input[str]] = None, + table_bucket_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__ = TablePolicyArgs.__new__(TablePolicyArgs) + + __props__.__dict__["name"] = name + if namespace is None and not opts.urn: + raise TypeError("Missing required property 'namespace'") + __props__.__dict__["namespace"] = namespace + if resource_policy is None and not opts.urn: + raise TypeError("Missing required property 'resource_policy'") + __props__.__dict__["resource_policy"] = resource_policy + if table_bucket_arn is None and not opts.urn: + raise TypeError("Missing required property 'table_bucket_arn'") + __props__.__dict__["table_bucket_arn"] = table_bucket_arn + super(TablePolicy, __self__).__init__( + 'aws:s3tables/tablePolicy:TablePolicy', + 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, + namespace: Optional[pulumi.Input[str]] = None, + resource_policy: Optional[pulumi.Input[str]] = None, + table_bucket_arn: Optional[pulumi.Input[str]] = None) -> 'TablePolicy': + """ + Get an existing TablePolicy 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: Name of the table. + Must be between 1 and 255 characters in length. + Can consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number. + :param pulumi.Input[str] namespace: Name of the namespace for this table. + Must be between 1 and 255 characters in length. + Can consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number. + :param pulumi.Input[str] resource_policy: Amazon Web Services resource-based policy document in JSON format. + :param pulumi.Input[str] table_bucket_arn: ARN referencing the Table Bucket that contains this Namespace. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _TablePolicyState.__new__(_TablePolicyState) + + __props__.__dict__["name"] = name + __props__.__dict__["namespace"] = namespace + __props__.__dict__["resource_policy"] = resource_policy + __props__.__dict__["table_bucket_arn"] = table_bucket_arn + return TablePolicy(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + Name of the table. + Must be between 1 and 255 characters in length. + Can consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def namespace(self) -> pulumi.Output[str]: + """ + Name of the namespace for this table. + Must be between 1 and 255 characters in length. + Can consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number. + """ + return pulumi.get(self, "namespace") + + @property + @pulumi.getter(name="resourcePolicy") + def resource_policy(self) -> pulumi.Output[str]: + """ + Amazon Web Services resource-based policy document in JSON format. + """ + return pulumi.get(self, "resource_policy") + + @property + @pulumi.getter(name="tableBucketArn") + def table_bucket_arn(self) -> pulumi.Output[str]: + """ + ARN referencing the Table Bucket that contains this Namespace. + """ + return pulumi.get(self, "table_bucket_arn") + diff --git a/sdk/python/pulumi_aws/securityhub/standards_control_association.py b/sdk/python/pulumi_aws/securityhub/standards_control_association.py index bd64343e9ab..18c1ab884b4 100644 --- a/sdk/python/pulumi_aws/securityhub/standards_control_association.py +++ b/sdk/python/pulumi_aws/securityhub/standards_control_association.py @@ -187,11 +187,11 @@ def __init__(__self__, example = aws.securityhub.Account("example") cis_aws_foundations_benchmark = aws.securityhub.StandardsSubscription("cis_aws_foundations_benchmark", standards_arn="arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0", opts = pulumi.ResourceOptions(depends_on=[example])) - cis_aws_foundations_benchmark_disable_iam1 = aws.index.StandardsControlAssociation("cis_aws_foundations_benchmark_disable_iam_1", + cis_aws_foundations_benchmark_disable_iam1 = aws.securityhub.StandardsControlAssociation("cis_aws_foundations_benchmark_disable_iam_1", standards_arn=cis_aws_foundations_benchmark.standards_arn, - security_control_id=IAM.1, - association_status=DISABLED, - updated_reason=Not needed) + security_control_id="IAM.1", + association_status="DISABLED", + updated_reason="Not needed") ``` :param str resource_name: The name of the resource. @@ -221,11 +221,11 @@ def __init__(__self__, example = aws.securityhub.Account("example") cis_aws_foundations_benchmark = aws.securityhub.StandardsSubscription("cis_aws_foundations_benchmark", standards_arn="arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0", opts = pulumi.ResourceOptions(depends_on=[example])) - cis_aws_foundations_benchmark_disable_iam1 = aws.index.StandardsControlAssociation("cis_aws_foundations_benchmark_disable_iam_1", + cis_aws_foundations_benchmark_disable_iam1 = aws.securityhub.StandardsControlAssociation("cis_aws_foundations_benchmark_disable_iam_1", standards_arn=cis_aws_foundations_benchmark.standards_arn, - security_control_id=IAM.1, - association_status=DISABLED, - updated_reason=Not needed) + security_control_id="IAM.1", + association_status="DISABLED", + updated_reason="Not needed") ``` :param str resource_name: The name of the resource. diff --git a/upstream b/upstream index 8dad2d3a602..9273b07bad8 160000 --- a/upstream +++ b/upstream @@ -1 +1 @@ -Subproject commit 8dad2d3a602c8fc103a7eacb1fc9f4d3a9ac3994 +Subproject commit 9273b07bad89e6aa730482f3a8fc7840b38b9d68